mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-17 00:47:13 +00:00
Reland "D3D12: Stage BindGroups on CPU descriptor heaps."
This reverts commitc7f454c241and relands commit2479860e4b. > D3D12: Stage BindGroups on CPU descriptor heaps. > > Instead of directly populating GPU heaps, pre-encoded > BindGroups are staged on CPU heaps then copied over > to the GPU. Non-shader visible allocators are stored > on the BGL, which hands out fixed-size chunks to > simplify memory managment. To enable memory re-use, > CPU allocations are tied to the lifetime of BindGroup > objects. Reason for revert: We can reland this CL now that the CTS suppression merged. Note: Adds validation to ensure binding size > 0. Bug: dawn:155 Bug: dawn:375 Change-Id: I75b9773bbb7c70bcea803a7ad8b6480d21ea90f7 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18904 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
c64242d4c2
commit
cb859a2037
@@ -240,7 +240,7 @@ TEST_F(BindGroupValidationTest, BufferBindingType) {
|
||||
binding.textureView = nullptr;
|
||||
binding.buffer = nullptr;
|
||||
binding.offset = 0;
|
||||
binding.size = 0;
|
||||
binding.size = 1024;
|
||||
|
||||
wgpu::BindGroupDescriptor descriptor;
|
||||
descriptor.layout = layout;
|
||||
@@ -421,7 +421,9 @@ TEST_F(BindGroupValidationTest, BufferBindingOOB) {
|
||||
|
||||
// Success case, touching the end of the buffer works
|
||||
utils::MakeBindGroup(device, layout, {{0, buffer, 3*256, 256}});
|
||||
utils::MakeBindGroup(device, layout, {{0, buffer, 1024, 0}});
|
||||
|
||||
// Error case, zero size is invalid.
|
||||
ASSERT_DEVICE_ERROR(utils::MakeBindGroup(device, layout, {{0, buffer, 1024, 0}}));
|
||||
|
||||
// Success case, touching the full buffer works
|
||||
utils::MakeBindGroup(device, layout, {{0, buffer, 0, 1024}});
|
||||
|
||||
Reference in New Issue
Block a user