Bug 221285

Summary: [WebGL2] UNORM_INT8 deqp regressions
Product: WebKit Reporter: Jon Lee <jonlee>
Component: WebGLAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: dino, geofflang, jonahr, kbr, kkinnunen, kpiddington, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 126404    

Description Jon Lee 2021-02-02 12:42:39 PST
It appears some deqp tests that were fully passing are now regressed:
https://build.webkit.org/results/Apple-Catalina-Release-WK2-WebGL-Tests/r272207%20(929)/results.html

webgl/2.0.0/deqp/functional/gles3/fboinvalidate/format_02.html
webgl/2.0.0/deqp/functional/gles3/shaderbuiltinvar.html
webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_copyteximage2d.html
webgl/2.0.0/deqp/functional/gles3/texturespecification/teximage3d_pbo_params.html
webgl/2.0.0/deqp/functional/gles3/texturespecification/teximage3d_unpack_params.html
webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage3d_pbo_params.html
webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage3d_unpack_params.html
Comment 1 Kenneth Russell 2021-02-03 14:54:09 PST
Is there any indication of when these regressions crept in?

Looking at:
https://build.webkit.org/results/Apple-Catalina-Release-WK2-WebGL-Tests/

they were happening in the oldest build listed:
https://build.webkit.org/results/Apple-Catalina-Release-WK2-WebGL-Tests/r269290%20%28442%29/

but I'm not sure how old that build is.
Comment 2 Kenneth Russell 2021-02-03 14:55:09 PST
Also - are these failures happening on all bots or just this one?

What's the graphics hardware / machine model of this bot?
Comment 3 Jon Lee 2021-02-04 19:29:15 PST
(In reply to Kenneth Russell from comment #2)
> Also - are these failures happening on all bots or just this one?
> 
> What's the graphics hardware / machine model of this bot?

According to https://build.webkit.org/buildslaves/bot302 it is an iMac16,2
Comment 4 Kenneth Russell 2021-02-04 22:11:34 PST
It looks like something's broken with respect to UNORM_INT8 textures on Intel GPUs specifically. This fails on my 15" MacBook Pro with Intel HD 630 / AMD Radeon Pro 560 GPUs when the Intel GPU is active, but when the AMD GPU is forcibly enabled the tests pass.

Here's output from one case of webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_copyteximage2d.html :

-----
Start testcase: specification.basic_copyteximage2d.cube_rgba
Fuzzy image comparison failed: difference = 6210.855652530553, threshold = 0.02
Result 
 BufferAccess(format: TextureFormat(RGBA, UNORM_INT8), width: 64, height: 64)
 
Reference 
 BufferAccess(format: TextureFormat(RGBA, UNORM_INT8), width: 64, height: 64)
 
Error error mask
 BufferAccess(format: TextureFormat(RGB, UNORM_INT8), width: 64, height: 64)
 
FAIL specification.basic_copyteximage2d.cube_rgba: Image comparison failed
FAIL specification.basic_copyteximage2d.cube_rgba: Verification failed
-----

These tests fail in Chrome on top of ANGLE, too. They pass on Chrome's old "validating" command decoder, but I'm not sure what OpenGL driver bug workaround, if any, is allowing these tests to pass on Intel GPUs. That workaround could be brought into ANGLE - or we could wait for and switch over to ANGLE's Metal backend.
Comment 5 Radar WebKit Bug Importer 2021-02-09 12:43:13 PST
<rdar://problem/74154351>