Bug 223348

Summary: webgl/2.0.1/conformance2/extensions/promoted-extensions-in-shaders.html fails
Product: WebKit Reporter: Kimmo Kinnunen <kkinnunen>
Component: WebGLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: dino, kbr, kkinnunen, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 222812    

Description Kimmo Kinnunen 2021-03-17 00:34:49 PDT
webgl/2.0.1/conformance2/extensions/promoted-extensions-in-shaders.html fails
Comment 1 Kimmo Kinnunen 2021-03-17 01:04:01 PDT
https://www.khronos.org/registry/webgl/sdk/tests/conformance2/extensions/promoted-extensions-in-shaders.html?webglVersion=2&quiet=0&quick=1

Extensions promoted to core should not be possible to use in shaders

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


test: ESSL 1.00 Fragment shader that requires GL_EXT_draw_buffers should not compile.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
FAIL [unexpected link status] (expected: false) ESSL 1.00 Fragment shader that requires GL_EXT_draw_buffers should not compile.

test: ESSL 3.00 Fragment shader that requires GL_EXT_draw_buffers should not compile.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
FAIL [unexpected link status] (expected: false) ESSL 3.00 Fragment shader that requires GL_EXT_draw_buffers should not compile.

test: GL_EXT_draw_buffers should not be defined in ESSL 1.00 fragment shader.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
result

FAIL should be green
at (0, 0) expected: 0,255,0,255 was 255,0,0,255

test: GL_EXT_draw_buffers should not be defined in ESSL 3.00 fragment shader.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
result

FAIL should be green
at (0, 0) expected: 0,255,0,255 was 255,0,0,255

test: ESSL 1.00 Fragment shader that requires GL_EXT_frag_depth should not compile.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
FAIL [unexpected link status] (expected: false) ESSL 1.00 Fragment shader that requires GL_EXT_frag_depth should not compile.

test: ESSL 3.00 Fragment shader that requires GL_EXT_frag_depth should not compile.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
FAIL [unexpected link status] (expected: false) ESSL 3.00 Fragment shader that requires GL_EXT_frag_depth should not compile.

test: GL_EXT_frag_depth should not be defined in ESSL 1.00 fragment shader.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
result

FAIL should be green
at (0, 0) expected: 0,255,0,255 was 255,0,0,255

test: GL_EXT_frag_depth should not be defined in ESSL 3.00 fragment shader.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
result

FAIL should be green
at (0, 0) expected: 0,255,0,255 was 255,0,0,255

test: ESSL 1.00 Fragment shader that requires GL_EXT_shader_texture_lod should not compile.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
FAIL [unexpected link status] (expected: false) ESSL 1.00 Fragment shader that requires GL_EXT_shader_texture_lod should not compile.

test: ESSL 3.00 Fragment shader that requires GL_EXT_shader_texture_lod should not compile.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
FAIL [unexpected link status] (expected: false) ESSL 3.00 Fragment shader that requires GL_EXT_shader_texture_lod should not compile.

test: GL_EXT_shader_texture_lod should not be defined in ESSL 1.00 fragment shader.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
result

FAIL should be green
at (0, 0) expected: 0,255,0,255 was 255,0,0,255

test: GL_EXT_shader_texture_lod should not be defined in ESSL 3.00 fragment shader.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
result

FAIL should be green
at (0, 0) expected: 0,255,0,255 was 255,0,0,255

test: ESSL 1.00 Fragment shader that requires GL_OES_standard_derivatives should not compile.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
FAIL [unexpected link status] (expected: false) ESSL 1.00 Fragment shader that requires GL_OES_standard_derivatives should not compile.

test: ESSL 3.00 Fragment shader that requires GL_OES_standard_derivatives should not compile.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
FAIL [unexpected link status] (expected: false) ESSL 3.00 Fragment shader that requires GL_OES_standard_derivatives should not compile.

test: GL_OES_standard_derivatives should not be defined in ESSL 1.00 fragment shader.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
result

FAIL should be green
at (0, 0) expected: 0,255,0,255 was 255,0,0,255

test: GL_OES_standard_derivatives should not be defined in ESSL 3.00 fragment shader.
default vertex shader
default vertex shader translated for driver
test fragment shader
test fragment shader translated for driver
result

FAIL should be green
at (0, 0) expected: 0,255,0,255 was 255,0,0,255
PASS successfullyParsed is true

TEST COMPLETE
Comment 2 Kimmo Kinnunen 2021-03-17 01:45:45 PDT
At least macOS 11.3, iMacPro1,1, Radeon Pro Vega 56
Comment 3 Kenneth Russell 2021-03-17 17:40:06 PDT
Something seems bizarre about these failures. Chrome on top of ANGLE works just fine with these tests:

/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --user-data-dir=/tmp/c1 --use-cmd-decoder=passthrough

Can confirm they're failing with Safari Technology Preview even on 10.15.7 on a 2017 15" MacBook Pro.

We eliminated all redundant ANGLE shader compiler instances on the WebKit side and should be configuring ANGLE the same way Chromium does.
Comment 4 Radar WebKit Bug Importer 2021-03-24 00:35:14 PDT
<rdar://problem/75774207>
Comment 5 EWS 2022-06-07 06:09:21 PDT
Committed r295342 (251358@main): <https://commits.webkit.org/251358@main>

Reviewed commits have been landed. Closing PR #1342 and removing active labels.