Bug 200461
| Summary: | [WHLSL] We should generate identical metal code for the same WHLSL program | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Saam Barati <saam> |
| Component: | WebGPU | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED WONTFIX | ||
| Severity: | Normal | CC: | dino, fpizlo, jonlee, justin_fan, mmaxfield, rmorisset, sam |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Saam Barati
Metal process caches shaders (with what appears to be text equality). Therefore, we should always generate the same Metal program for the same WHLSL shader.
Currently, we don't do this for a few reasons, often because we rely on pointer hash tables and their iteration order. E.g, I know of at least:
- We emit struct fields in different order
- I think we do the same for enum
- I think we might do the same for functions
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Sam Weinig
It would be good to be able to dump the metal shaders in layout tests (much like we dump the render tree) for testing.
Myles C. Maxfield
WHLSL is no longer relevant.