| Summary: | Shader fails to link due to Metal internal error | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Pedro J. Estébanez <pedrojrulez> | ||||
| Component: | WebGL | Assignee: | Nobody <webkit-unassigned> | ||||
| Status: | RESOLVED CONFIGURATION CHANGED | ||||||
| Severity: | Normal | CC: | dino, kbr, kkinnunen, morem, webkit-bug-importer | ||||
| Priority: | P2 | Keywords: | InRadar | ||||
| Version: | Safari 15 | ||||||
| Hardware: | iPhone / iPad | ||||||
| OS: | iOS 15 | ||||||
| Bug Depends on: | 237658 | ||||||
| Bug Blocks: | 231180 | ||||||
| Attachments: |
|
||||||
|
Description
Pedro J. Estébanez
2022-07-03 11:46:03 PDT
I've been able to isolate the code line that causes the error: float fog_far = fog_depth_end > 0.0 ? fog_depth_end : z_far; If that line is replaced by the equivalent if-else construct, it works. The aforementioned fix hasn't worked for some user, though. I think this has been fixed now with https://bugs.chromium.org/p/angleproject/issues/detail?id=7487 Happy to know this is being addressed. However, I wanted to stress that in my tests, even after replacing all the occurences of the ternary by their if-else equivalents, a new modality the issue happened: no errors reported neither at compile nor link, but the shader would still not render anything, as if there was a deeper internal issue that couldn't surface up to the user. Thanks. Similar observations are being discussed in bug 237658 but it's not yet clear if these are related. This should now work. If not, please reopen and attach a runnable reproduction if only possible. |