commit | e10e6b0db85341924a2e64c1e6d5b72939192d43 | [log] [tgz] |
---|---|---|
author | Corentin Wallez <cwallez@chromium.org> | Thu Jan 21 12:44:09 2021 +0000 |
committer | Commit Bot service account <commit-bot@chromium.org> | Thu Jan 21 12:44:09 2021 +0000 |
tree | ae315643ace4b24b10b62d4612e2c1fa264084bd | |
parent | f091fb71f7280ccdacd3403a2579e95d00fb900f [diff] |
Vulkan: Fix layout of Sampled+ROStorage texture. Vulkan requires that storage images be in the GENERAL layout, and requires that we choose a layout at VkDescriptorSet creation. This means that since Sampled+ROStorage texture may sometimes be used as both usages in the same pass, they must always be in the GENERAL layout even for SampledTexture bindings. Fix this by looking at the texture's creation usage in VulkanImageLayout for wgpu::TextureUsage::Sampled. Also add a regression test that triggers a Vulkan Validation Layer error without this fix. Bug: dawn:635 Change-Id: I4a5b94e1af20839b3b8cc080d36fca59d79f09bb Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38107 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Auto-Submit: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org>
Dawn is an open-source and cross-platform implementation of the work-in-progress WebGPU standard. More precisely it implements webgpu.h
that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.
Dawn provides several WebGPU building blocks:
webgpu.h
version that Dawn implements.webgpu.h
.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
(TODO)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.