`GPUCommandEncoder` commands generate validation error on call, instead of deferring to `GPUCommandEncoder.finish`
Categories
(Core :: Graphics: WebGPU, defect, P2)
Tracking
()
People
(Reporter: ErichDonGubler, Unassigned)
References
(Depends on 1 open bug, Blocks 2 open bugs)
Details
According to the current draft of WebGPU v1 spec., Firefox's implementation generates validation errors at the wrong time for GPUCommandEncoder
commands:
Currently, Firefox implementation emits validation errors when a command that invalidates the command encoder is issued. However, the current v1 spec. draft states that an invalid command should only invalidate the command buffer. In the draft, the following language is used for validation checks with each command:
If any of the following conditions are unsatisfied, make this invalid and stop. …
GPUCommandEncoder.finish()
's entry in the spec. states that validation error should only be generated once is called:
Device timeline finish steps:
Let validationSucceeded be
true
if all of the following requirements are met, andfalse
otherwise.
- this must be valid.
- …
…
If validationSucceeded is
false
, then:
Return a new invalid
GPUCommandBuffer
.…
Reporter | ||
Comment 1•2 years ago
•
|
||
str |
Steps to reproduce
-
Apply (maybe WIP) patch(es) currently attached to bug 1848866.
-
With a fully built checkout of Firefox Nightly, run the following test command:
./mach wpt '/_mozilla/webgpu/chunked/16/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:copy_ranges:*'
Reporter | ||
Comment 2•2 years ago
•
|
||
:jgilbert has noted that this may not actually be desirable spec. behavior, and is lobbying to change it to specify an eager generation of a GPUValidationError
(our current behavior) and invalidating the command encoder, instead of only invalidating: https://github.com/gpuweb/gpuweb/issues/4269
Comment hidden (obsolete) |
Comment hidden (obsolete) |
Reporter | ||
Comment 5•2 years ago
•
|
||
Assigning to :jgilbert for now, since she'll be bringing this up the W3C spec. meeting tomorrow.
Reporter | ||
Comment 6•2 years ago
|
||
Decision from today's WebGPU team sync: We'll be using this issue to become spec-compliant, regardless of the outcome of gpuweb
#4269. If and when a change to the spec. happens because of our advocacy for a better API, we will create a separate follow-up issue for it.
Un-assigning from :jgilbert, since we have decoupled the original reason for assigning this bug to her from blocking this issue.
Reporter | ||
Updated•1 year ago
|
Updated•11 months ago
|
Description
•