[M148] GL: fix issue with ShaderStage::None bindings. Original change's description: > GL: fix issue with ShaderStage::None bindings. > > If more than 96 bindings with visibility ShaderStage::None are used, > they will exceed kGLMaxShaderStorageBufferBindingsReported (aka > GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS) in the GL backend. > Dawn validation will not catch this, since it skips such bindings. > The fix is to skip all of the bindings with visibility ShaderStage::None > when computing binding indices in pipeline layout construction and > when applying bind groups in the GL backend. > > Bug: 511727159 > Change-Id: Ibc873a5afab4e73c12ad25b7d7cedcf48f35ca6e > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/309876 > Reviewed-by: Corentin Wallez <cwallez@chromium.org> > Commit-Queue: Stephen White <senorblanco@chromium.org> (cherry picked from commit 0bc97cb2f50a092b4f332c8cb2b3285de7ccc39d) Bug: 516659219,511727159 Change-Id: Ibc873a5afab4e73c12ad25b7d7cedcf48f35ca6e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/311196 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Dawn is an open-source and cross-platform implementation of the 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)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.