Bug 238328
| Summary: | WebGL2 occlusion query works only with early depth test | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Juraj Bleho <bleho> |
| Component: | WebGL | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | dino, kbr, kkinnunen, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 15 | ||
| Hardware: | iPhone / iPad | ||
| OS: | iOS 15 | ||
Juraj Bleho
When fragment shader uses discard or gl_FragDepth the result of gl.ANY_SAMPLES_PASSED query is dependent on original depth of fragment instead of modified value from shader.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/90799725>
Kenneth Russell
Can you offer a minimal test case showing the problem? https://github.com/KhronosGroup/WebGL/tree/main/sdk/tests/conformance2/query has a couple of tests that could be extended.
Would you consider filing this on http://crbug.com/angleproject ? Ideally this will be fixed upstream in ANGLE first and then rolled into WebKit. The same problem likely happens on macOS, at least on M1 hardware.
Juraj Bleho
In test you mentioned https://github.com/KhronosGroup/WebGL/tree/main/sdk/tests/conformance2/query just add discard into fragment shader. All pixel should be discarded and result should be 0 but it is 1