Bug 238197

Summary: WebGL: rendering difference OpenGL, Metal: MSAA + disable depth_test causes depth invalid depth buffer (AMD)
Product: WebKit Reporter: Kimmo Kinnunen <kkinnunen>
Component: WebGLAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: dino, geofflang, gman, jonahr, kbr, kkinnunen, kpiddington, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=238118

Description Kimmo Kinnunen 2022-03-22 02:32:50 PDT
WebGL: rendering difference OpenGL, Metal, AMD: MSAA + disable depth_test causes depth invalid depth buffer

iMacPro1,1 AMD OpenGL: white outer rectangle
iMacPro1,1 AMD Metal: black outer rectangle

https://github.com/brendan-duncan/webgl_bug_tests/blob/main/msaa_depth_buffer.html
and viewed from here:
https://brendan-duncan.github.io/webgl_bug_tests/msaa_depth_buffer.html

From bug 238118
Comment 1 Kenneth Russell 2022-03-22 12:19:31 PDT
What's the behavior on Chrome Canary, both with the defaults, and with the command line argument:
  --use-angle=metal
? If the two paths render identically there, then this will be fixed with the forthcoming ANGLE roll in Bug 238171.

On my 2017 dual-GPU Intel/AMD MacBook Pro, I don't see a behavioral difference in either Canary or stable Safari 15.4, using gSwitch to force on the AMD GPU. This might be specific to this particular GPU family. There have certainly been other bugs specific to newer AMD GPUs than were in the 2017 MBP.
Comment 2 Radar WebKit Bug Importer 2022-03-29 02:33:16 PDT
<rdar://problem/90972518>