[dawn][vk] Support storage texel buffers Implements `TexelBufferViewVk` wrapping `VkBufferView`, wires it into bind groups and descriptor set updates, and maps `TEXEL_BUFFER` buffer usage to `VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT`. Texel buffer bindings are remapped through `GenerateBindingRemapping` in `TintUtils.h` by injecting into the `storage_texture` sub-map of `tint::Bindings`. This is a workaround because `tint::Bindings` has no dedicated `texel_buffer` field yet. The `BindingRemapper` transform is type-agnostic — it remaps any WGSL variable whose `binding_point` appears in the map regardless of descriptor type — so the remapping is correct. Without it, texel buffers would keep their original WGSL `@binding` numbers in SPIR-V, diverging from their `BindingIndex` in `VkDescriptorSetLayout` whenever a binding type that sorts before `TexelBuffer` (e.g. `StorageTexture`) occupies an earlier slot. Bug: 382544164 Change-Id: I889230b2bc1e2d6cfb3d599a020c6735d9646673 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/258500 Reviewed-by: James Price <jrprice@google.com> Reviewed-by: Diego Rodrigues <diejorarr@gmail.com> Reviewed-by: Loko Kung <lokokung@google.com> Commit-Queue: James Price <jrprice@google.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.