commit | fefb452f2969e9e012c332e58a04e3b72abb8ae3 | [log] [tgz] |
---|---|---|
author | Corentin Wallez <cwallez@chromium.org> | Tue Jun 16 09:17:48 2020 +0000 |
committer | Commit Bot service account <commit-bot@chromium.org> | Tue Jun 16 09:17:48 2020 +0000 |
tree | e1903714867712eddff2628b29e2530d38d1f2c7 | |
parent | 5cef1162b9af6c9377cc8f41c019b5cdc456c77f [diff] |
Reland: Vulkan: Enforce fixed subgroup size for compute shaders. Reland after a refactor of how the extension handling work in the Vulkan backend. The original author is David Turner <david.turner.dev@gmail.com>. This CL ensures that, on architectures with a varying subgroup size, compute shaders are always compiled with a fixed subgroup size to avoid consistency issues when one shader writes data in a subgroup-size dependent layout to GPU memory, to be read by another shader in a future dispatch. At the moment, only Intel ICDs are known to implement this [1], and the code uses a heuristics to chose the size of 16, which seems to be the sweet spot according to Intel engineers. + Update the PNextChainBuilder class to deal with the fact that VkComputePipelineCreateInfo::pNext is defined as a const void*, which created compiler errors in the previous implementation. [1] https://bugs.freedesktop.org/show_bug.cgi?id=108875 Bug: dawn:464 Change-Id: I035ee06084fcc964742f0bff4c54cff257c742ae Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23202 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Reviewed-by: Stephen White <senorblanco@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 webgpu.h docs)
(TODO)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.