Skip to content

Commit

Permalink
Changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
cwfitzgerald committed Dec 23, 2024
1 parent 6321cb5 commit 4ef5eb1
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 4 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ a soundness issue, the intent is to move an error from runtime to compile time.
### Bindless (`binding_array`) Grew More Capabilities

- DX12 now supports `PARTIALLY_BOUND_BINDING_ARRAY` on Resource Binding Tier 3 Hardware. This is most D3D12 hardware [D3D12 Feature Table] for more information on what hardware supports this feature. By @cwfitzgerald in [#6734](https://github.com/gfx-rs/wgpu/pull/6734).
- Buffer Dynamic Offsets and Binding Arrays may not be used in the same bind group. By @cwfitzgerald in [#6811](https://github.com/gfx-rs/wgpu/pull/6811)

[D3D12 Feature Table]: https://d3d12infodb.boolka.dev/FeatureTable.html

Expand Down
4 changes: 2 additions & 2 deletions wgpu-core/src/binding_model.rs
Original file line number Diff line number Diff line change
Expand Up @@ -413,9 +413,9 @@ impl BindingTypeMaxCountValidator {
}

/// Validate that the bind group layout does not contain both a binding array and a dynamic offset array.
///
///
/// This allows us to use `UPDATE_AFTER_BIND` on vulkan for bindless arrays. Vulkan does not allow
/// `UPDATE_AFTER_BIND` on dynamic offset arrays. See https://github.com/gfx-rs/wgpu/issues/6737
/// `UPDATE_AFTER_BIND` on dynamic offset arrays. See <https://github.com/gfx-rs/wgpu/issues/6737>
pub(crate) fn validate_binding_arrays(&self) -> Result<(), CreateBindGroupLayoutError> {
let has_dynamic_offset_array =
self.dynamic_uniform_buffers > 0 || self.dynamic_storage_buffers > 0;
Expand Down
4 changes: 2 additions & 2 deletions wgpu-types/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7018,7 +7018,7 @@ pub struct BindGroupLayoutEntry {
/// The type of the binding
pub ty: BindingType,
/// If the binding is an array of multiple resources. Corresponds to `binding_array<T>` in the shader.
///
///
/// When this is `Some` the following validation applies:
/// - Size must be of value 1 or greater.
/// - When `ty == BindingType::Texture`, [`Features::TEXTURE_BINDING_ARRAY`] must be supported.
Expand All @@ -7027,7 +7027,7 @@ pub struct BindGroupLayoutEntry {
/// - When `ty == BindingType::Buffer` and `ty.ty == BufferBindingType::Storage`, [`Features::STORAGE_RESOURCE_BINDING_ARRAY`] must be supported.
/// - When `ty == BindingTYpe::StorageTexture`, [`Features::STORAGE_RESOURCE_BINDING_ARRAY`] must be supported.
/// - When any binding in the group is an array, no `BindingType::Buffer` in the group may have `has_dynamic_offset == true`
///
///
#[cfg_attr(feature = "serde", serde(default))]
pub count: Option<NonZeroU32>,
}
Expand Down

0 comments on commit 4ef5eb1

Please sign in to comment.