mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-18 09:25:25 +00:00
Clear resolve buffer to 0 for resolving unavailable queries
- Add vkCmdFillBuffer in ResolveQuerySet to clear the buffer to 0s for these unavailable queries if the buffer has been initialized or fully used which won't been initialized with 0s again. - Because vkCmdFillBuffer has driver issue on Intel Windows, Skip some affected cases. - Remove unsafe api checking from Occlusion Query. Bug: dawn:434 Change-Id: Ib34f81d93b0de8f08f0eeebf3c8a967eeb5ecefb Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/48320 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
b29467ba7b
commit
aed656cd7a
@@ -201,32 +201,3 @@ TEST_F(UnsafeAPIValidationTest, DynamicStorageBuffer) {
|
||||
ASSERT_DEVICE_ERROR(device.CreateBindGroupLayout(&desc));
|
||||
}
|
||||
}
|
||||
|
||||
// Check that occlusion query is disallowed as part of unsafe APIs.
|
||||
TEST_F(UnsafeAPIValidationTest, OcclusionQueryDisallowed) {
|
||||
DummyRenderPass renderPass(device);
|
||||
|
||||
// Control case: BeginRenderPass without occlusionQuerySet is allowed.
|
||||
{
|
||||
wgpu::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
wgpu::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass);
|
||||
|
||||
pass.EndPass();
|
||||
encoder.Finish();
|
||||
}
|
||||
|
||||
// Error case: BeginRenderPass with occlusionQuerySet is disallowed.
|
||||
{
|
||||
wgpu::QuerySetDescriptor descriptor;
|
||||
descriptor.type = wgpu::QueryType::Occlusion;
|
||||
descriptor.count = 1;
|
||||
wgpu::QuerySet querySet = device.CreateQuerySet(&descriptor);
|
||||
renderPass.occlusionQuerySet = querySet;
|
||||
|
||||
wgpu::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
wgpu::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass);
|
||||
|
||||
pass.EndPass();
|
||||
ASSERT_DEVICE_ERROR(encoder.Finish());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user