-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
area: apiIssues related to API surfaceIssues related to API surfacefeature: bindlessIssues with the Bindless Native FeatureIssues with the Bindless Native Featuretype: enhancementNew feature or requestNew feature or requesttype: tracking
Description
Overview
This issue tracks enabling various "bindless" functionality for the various native backends.
For a high level guide on what we believe the bindless api should look like, look at https://hackmd.io/@cwfitzgerald/wgpu-bindless
Binding Array Support
- Implement Descriptor Array Extension #711
- Implement SAMPLED_TEXTURE_ARRAY_NON_UNIFORM_INDEXING #715
- Support BindGroups with fewer elements in Binding Array than in BindGroupLayoutEntry #1635
- Use Argument Buffers for
binding_arrayon Metal #3334 - Support
binding_arrayof Storage Buffers on Metal #6741 - Support
binding_arrayof Storage Textures on Metal #6744 - Support
binding_arrayof Storage Buffers on DX12 #6739 - Support
binding_arrayof Storage Textures on DX12 #6743 - Use UPDATE_AFTER_BIND Descriptors for binding_arrays #6737
- No feature combination allows Metal to use STORAGE_RESOURCE_BINDING_ARRAY. #3249
Uniform Buffers
- Allow
binding_arrayof Uniform Buffers Through Validation #7149 - Support
binding_arrayof Uniform Buffers on DX12 #6740 - Support
binding_arrayof Uniform Buffers on Metal #6742 - Binding Array of Uniform Buffer Improperly Annotated
Block#6733
Partially bound descriptors
- Support BindGroups with fewer elements in Binding Array than in BindGroupLayoutEntry #1635
- Partially bound descriptors on DX12 #3639
- Partially bound descriptors on Metal #3640
Validation
-
BindGroupLayoutEntry::countValidation Does Not Check That Shader Uses Binding Arrays #3648 - Array binding provided zero elements validation error when using PARTIALLY_BOUND_BINDING_ARRAY #3692
- Texture Binding Array not Validated Against Flag #5102
- Disallow Binding Arrays and Dynamic Offsets in Same Bind Group #6736
- Split
binding_arrayLimits into Separate Limit #6738
GPU Validation
- Validate Binding Array Access is in Bounds on Vulkan
- Validate Binding Array Access is in Bounds on Metal
- Validate Binding Array Access is in Bounds on DX12
Sparse Bind Groups
- Implement Validation Resource Metadata Buffer on Vulkan
- Implement Validation Resource Metadata Buffer on Metal
- Implement Validation Resource Metadata Buffer on DX12
Mutable Bind Groups
- Implement
BindGroup::update_bindingsWithout Holes
Read Only Resources
- Implement
Texture::set_usages - Implement
Buffer::set_usages
Temporary Removal
- Implement prototype temporary remove api. Depends on "Sparse Bind Groups"
Non-wgpu Shader Translation
Driver Bugs(?)
PWhiddy, CatCode79, suprohub, kurtkuehnert, stefnotch and 2 moreahirner, Dot32Dev, kurtkuehnert, Blatko1 and luc-rodriguez
Metadata
Metadata
Assignees
Labels
area: apiIssues related to API surfaceIssues related to API surfacefeature: bindlessIssues with the Bindless Native FeatureIssues with the Bindless Native Featuretype: enhancementNew feature or requestNew feature or requesttype: tracking
Type
Projects
Status
Todo