commit | 56f1678437ba88107630c97033615eaf22eb996c | [log] [tgz] |
---|---|---|
author | David Turner <david.turner.dev@gmail.com> | Thu Mar 05 10:47:05 2020 +0000 |
committer | Commit Bot service account <commit-bot@chromium.org> | Thu Mar 05 10:47:05 2020 +0000 |
tree | fde6bef5a8f3ee8b0702d8037d03cf76e36e95f4 | |
parent | 4ae315b0d11882f341c22147672e1661bcb3b7d7 [diff] |
Vulkan: Enforce fixed subgroup size for compute shaders. 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 Change-Id: I332faa53b9f854a8abe43a7271f30d8c5deb2142 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/16021 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@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.