Bug 261270

Summary: Texture swizzling disabled in ANGLE on iOS simulator
Product: WebKit Reporter: Kimmo Kinnunen <kkinnunen>
Component: ANGLEAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: ap, cgibb2, dino, kbr, kkinnunen, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari Technology Preview   
Hardware: Unspecified   
OS: Unspecified   

Description Kimmo Kinnunen 2023-09-07 04:21:28 PDT
Fails:
webgl/2.0.y/conformance2/extensions/webgl-stencil-texturing.html

Alexey writes:
The iOS-16-Simulator-WK2-Tests-EWS failure in conformance2/extensions/webgl-stencil-texturing.html that blocks https://github.com/WebKit/WebKit/pull/17476 caused by the following:
That test asserts sampling both depth and stencil values.
The ES 3.0 spec defines sampled depth as [D, 0, 0, 1.0].
MSL spec explicitly says that green, blue, and alpha values are undefined. In practice it's either [D, 0, 0, 1.0] or [D, D, D, 1.0].
ANGLE uses texture swizzling to enforce ES 3.0 values for unused channels.
Texture swizzle support has been force-disabled on iOS Simulator during the initial WebKit-to-Chromium ANGLE upstreaming.
https://chromium-review.googlesource.com/c/angle/angle/+/2950067/33/src/libANGLE/renderer/metal/DisplayMtl.mm#954
Comment 1 Radar WebKit Bug Importer 2023-09-14 04:22:14 PDT
<rdar://problem/115485988>