You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unexpected validation error occurred: Depth/stencil state is invalid:
186
202
Format Stencil8 does not have a depth aspect, but depth test/write is enabled
@@ -194,6 +210,7 @@ The validation is triggering incorrectly. When `depthCompare` is undefined/missi
194
210
[Your proposed fix. Again, do not speculate. Only state the fix if it is obvious from the root cause analysis, or if you have done specific investigation into how to fix it.]
195
211
196
212
### 2. title
213
+
197
214
[repeat as needed for additional issues]
198
215
````
199
216
@@ -202,6 +219,7 @@ The validation is triggering incorrectly. When `depthCompare` is undefined/missi
202
219
For fixed tests that are now passing, add them to `cts_runner/test.lst`:
@@ -237,26 +255,31 @@ noted here with "do not attempt to fix", then stop and ask the user before
237
255
attempting to fix.
238
256
239
257
**Pattern: Format-specific failures**
258
+
240
259
- Check if format validation is missing
241
260
- Look for `is_depth_stencil_format()`, `is_color_format()` etc.
242
261
- May need to add format capability checks
243
262
244
263
**Pattern: Aspect-related failures**
264
+
245
265
- Check if code validates format aspects (DEPTH, STENCIL, COLOR)
246
266
- Use `hal::FormatAspects::from(format)` to check
247
267
- Validate operations match available aspects
248
268
249
269
**Pattern: Optional field failures**
270
+
250
271
- May be WebGPU optional field semantics issue
251
272
- Check if undefined in JS becomes a default value in Rust
252
273
- May need to distinguish "not set" from "set to default"
253
274
254
275
**Pattern: Atomics accepted incorrectly**
276
+
255
277
- Naga allows referencing an atomic directly in an expression
256
278
- Should only allow accessing via `atomicLoad`, `atomicStore`, etc.
257
279
- Only investigate as necessary to confirm this is the issue. Do not attempt to fix. Refer user to https://github.com/gfx-rs/wgpu/issues/5474.
258
280
259
281
**Pattern: Error reporting for destroyed resources**
282
+
260
283
- Tests that check for validation errors when a destroyed resource is used. `wgpu` often reports these errors later than WebGPU requires, causing the tests to fail.
261
284
-`wgpu` may report these errors earlier than it should, causing the test to fail with an unexpected validation error.
Copy file name to clipboardExpand all lines: AGENTS.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,7 @@
1
1
# Global instructions
2
2
3
3
## Code Style
4
+
4
5
- Limit the amount of comments you put in the code to a strict minimum. You should almost never add comments, except sometimes on non-trivial code, function definitions if the arguments aren't self-explanatory, and class definitions and their members.
5
6
- Do not use emoji.
6
7
@@ -91,30 +92,29 @@ See `docs/big-picture.png` for an overview of the system.
91
92
92
93
The major components are:
93
94
94
-
*`wgpu-hal` implements a backend for each supported graphics API (Vulkan, DX12, Metal, GLES).
95
+
-`wgpu-hal` implements a backend for each supported graphics API (Vulkan, DX12, Metal, GLES).
95
96
96
-
*`wgpu-core` implements the WebGPU API, including resource management and validation.
97
+
-`wgpu-core` implements the WebGPU API, including resource management and validation.
97
98
It calls the platform graphics APIs via `wgpu-hal`, and uses `naga` for shader translation.
98
99
99
-
*`wgpu` is the native Rust API. In addition to providing bindings to `wgpu-core`, the `wgpu`
100
+
-`wgpu` is the native Rust API. In addition to providing bindings to `wgpu-core`, the `wgpu`
100
101
crate can also be compiled to WASM and built against the "WebGPU" backend, where it uses
101
102
whatever WebGPU implementation is provided by the WASM environment. `wgpu` is not used
102
103
by Deno and Firefox.
103
104
104
-
*`naga` is the shader translator. It reads shaders in WGSL, GLSL, or SPIR-V,
105
+
-`naga` is the shader translator. It reads shaders in WGSL, GLSL, or SPIR-V,
105
106
translates to Naga IR, and then writes shaders in GLSL, HLSL, MSL (Metal Shading Language), SPIR-V, or WGSL.
106
107
It is responsible for validating that WGSL shaders are valid according to the WGSL language specification.
107
108
108
-
*`wgpu-types` contains some type definitions that are applicable both to `wgpu-core` and to
109
+
-`wgpu-types` contains some type definitions that are applicable both to `wgpu-core` and to
109
110
the `wgpu` "WebGPU" backend.
110
111
111
-
*`deno_webgpu` contains WebGPU bindings for the Deno Javascript runtime.
112
+
-`deno_webgpu` contains WebGPU bindings for the Deno Javascript runtime.
112
113
We also use Deno as a test environment for running the WebGPU CTS.
113
114
Only make a change in the Deno bindings if you are sure that the issue
114
115
doesn't apply to other clients (Firefox or `wgpu` Rust API). If it does
115
116
apply to other clients, the issue should probably be fixed in `wgpu-core`.
116
117
117
-
118
118
For a more detailed discussion of the `wgpu` architecture, refer to
Copy file name to clipboardExpand all lines: CODE_OF_CONDUCT.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,14 +14,14 @@ In this community we strive to go the extra step to look out for each other. Don
14
14
15
15
And if someone takes issue with something you said or did, resist the urge to be defensive. Just stop doing what it was they complained about and apologize. Even if you feel you were misinterpreted or unfairly accused, chances are good there was something you could’ve communicated better — remember that it’s your responsibility to make your fellow Rustaceans comfortable. Everyone wants to get along and we are all here first and foremost because we want to talk about cool technology. You will find that people will be eager to assume good intent and forgive as long as you earn their trust.
16
16
17
-
* Please avoid using overtly sexual aliases or other nicknames that might detract from a friendly, safe and welcoming environment for all.
18
-
* Please be kind and courteous. There’s no need to be mean or rude.
19
-
* Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer.
20
-
* Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works.
21
-
* We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behavior. We interpret the term “harassment” as including the definition in the [Citizen Code of Conduct](https://github.com/stumpsyn/policies/blob/master/citizen_code_of_conduct.md); if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don’t tolerate behavior that excludes people in socially marginalized groups.
22
-
* Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact the maintainers immediately. Whether you’re a regular contributor or a newcomer, we care about making this community a safe place for you and we’ve got your back.
23
-
* Do not make casual mention of slavery or indentured servitude and/or false comparisons of one's occupation or situation to slavery. Please consider using or asking about alternate terminology when referring to such metaphors in technology.
24
-
* Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome.
17
+
- Please avoid using overtly sexual aliases or other nicknames that might detract from a friendly, safe and welcoming environment for all.
18
+
- Please be kind and courteous. There’s no need to be mean or rude.
19
+
- Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer.
20
+
- Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works.
21
+
- We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behavior. We interpret the term “harassment” as including the definition in the [Citizen Code of Conduct](https://github.com/stumpsyn/policies/blob/master/citizen_code_of_conduct.md); if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don’t tolerate behavior that excludes people in socially marginalized groups.
22
+
- Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact the maintainers immediately. Whether you’re a regular contributor or a newcomer, we care about making this community a safe place for you and we’ve got your back.
23
+
- Do not make casual mention of slavery or indentured servitude and/or false comparisons of one's occupation or situation to slavery. Please consider using or asking about alternate terminology when referring to such metaphors in technology.
24
+
- Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome.
0 commit comments