-
Notifications
You must be signed in to change notification settings - Fork 928
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support diagnostic filters in WGSL (i.e., diagnostic(…)
)
#5320
Comments
Correspondent Firefox bug: bug 1882800 |
This is blocking some BabylonJS demos. |
This is blocking some Three.js demos. |
I think we may want to scope this issue down to simply supporting the syntax, and including the data in the We don't have any warnings in Naga right now. Adding the infrastructure for reporting them and filtering them will be a large project, for something we don't even do yet. This issue's urgency comes from the fact that we can't parse valid shaders, so I think clearing that specific hurdle will be enough. |
After discussion this morning, we agreed that this issue would remain as filed, and we'd file separate blocker issues for the sub-issues that we want to address immediately. |
@diagnostic(…)
attribute)diagnostic(…)
)
I'm also running into this btw (FF's dev console pointed me to this issue) https://floooh.github.io/sokol-webgpu/ (I'm generating WGSL from SPIRV, and to increase compatibility with existing shaders I need to turn off the uniformity diagnostic) |
Ack, sorry, this isn't fully done yet (I shouldn't have closed this). We knocked out filters rules in directives with #6148 (🙌🏻), but there's still a lot of attribute positions left to support. |
We currently do not support the
@diagnostic(…)
attribute/diagnostic(…)
directive (AKA "diagnostic filters" in the WebGPU spec.). This is a rather complicated subsystem, but it's exciting to have robust management of diagnostics in WGSL a la Rust. An example of how this is used from the spec.:Relevant part of the spec.: Diagnostics, section 2.3
An initial implementation of this should include the
derivative_uniformity
rule, as the only current example of filterable trigger rules that can be managed per the spec.Parse paths that we need to support to be spec.-compliant:
diagnostic(…);
directives andderivative_uniformity
triggering rule #6148diagnostic(…)
attributes onfn
s #6353if
statement.switch statement
.switch_body
.loop
statement.while
statement.for
statement.continuing_compound_statement
.The text was updated successfully, but these errors were encountered: