mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-19 18:05:31 +00:00
Skip validation during command recording when skip_validation is on
This patch factors resource usage tracking so it is separate from command validation, allowing the bulk of command validation to be completely skipped. In DrawCallPerfRun/Vulkan_DynamicPipeline_DynamicBindGroup, disabling validation cuts roughly 74 nanoseconds (20%) of CPU time, per draw. In DrawCallPerfRun/Vulkan_DynamicBindGroup, disabling validation cuts roughly 35 nanoseconds (17%) of CPU time, per draw. In DrawCallPerfRun/Vulkan_MultipleBindGroups, disabling validation cuts roughly 45 nanoseconds (14%) of CPU time, per draw. Bug: dawn:271 Change-Id: I517b85840ba18c6a554b83f34a1d0aef1a8c56a6 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/13520 Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
48bf745b96
commit
4b0b7a532a
@@ -48,7 +48,7 @@ namespace dawn_native {
|
||||
|
||||
return {};
|
||||
})) {
|
||||
mEncodingContext->ExitPass(this);
|
||||
mEncodingContext->ExitPass(this, mUsageTracker.AcquireResourceUsage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,6 +77,8 @@ namespace dawn_native {
|
||||
dispatch->indirectBuffer = indirectBuffer;
|
||||
dispatch->indirectOffset = indirectOffset;
|
||||
|
||||
mUsageTracker.BufferUsedAs(indirectBuffer, wgpu::BufferUsage::Indirect);
|
||||
|
||||
return {};
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user