mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-19 09:55:26 +00:00
dawn_native: Move pass validation of buffer usages into the encoder.
In a future CL the PassResourceUsage structure will become a SyncScopeResourceUsage and will be used to validate at each synchronization scope. For separation of concerns, the validation that resource have the correct usage shouldn't be done at the sync scope level but at each entrypoint that uses the resource. The validation tests had no coverage of usage validation for pass usage so validation tests are added for Indirct/Index/Vertex usages. (Uniform and Storage are validated at bindgroup creation and already had validation tests) Bug: dawn:635 Change-Id: I5058ad30eb041809f0f60d9403f3cc2d5d7e7c96 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38380 Reviewed-by: Austin Eng <enga@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> Auto-Submit: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
db383498c5
commit
310d86f4a0
@@ -69,6 +69,7 @@ namespace dawn_native {
|
||||
void ComputePassEncoder::DispatchIndirect(BufferBase* indirectBuffer, uint64_t indirectOffset) {
|
||||
mEncodingContext->TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError {
|
||||
DAWN_TRY(GetDevice()->ValidateObject(indirectBuffer));
|
||||
DAWN_TRY(ValidateCanUseAs(indirectBuffer, wgpu::BufferUsage::Indirect));
|
||||
|
||||
// Indexed dispatches need a compute-shader based validation to check that the dispatch
|
||||
// sizes aren't too big. Disallow them as unsafe until the validation is implemented.
|
||||
|
||||
Reference in New Issue
Block a user