WebGL angle d3d preprocessor bug - expected error is not generated on Linux/OSX

NEW
Unassigned

Status

()

Core
Canvas: WebGL
5 years ago
a year ago

People

(Reporter: Florian Bösch, Unassigned)

Tracking

14 Branch
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

5 years ago
User Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.8 Safari/536.11

Steps to reproduce:

Run http://codeflow.org/issues/preprocessor-problem/


Actual results:

Got a big error log:

Time to Error: 8ms
ERROR: 0:348: 'FXAA_CONSOLE__PS3_EDGE_SHARPNESS' : macro name is reserved 
ERROR: 0:376: 'FXAA_CONSOLE__PS3_EDGE_THRESHOLD' : macro name is reserved 
ERROR: 0:408: 'FXAA_QUALITY__PRESET' : macro name is reserved 
ERROR: 0:421: 'syntax error' : invalid expression 
WARNING: 0:421: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:428: 'syntax error' : invalid expression 
WARNING: 0:428: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:436: 'syntax error' : invalid expression 
WARNING: 0:436: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:445: 'syntax error' : invalid expression 
WARNING: 0:445: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:455: 'syntax error' : invalid expression 
WARNING: 0:455: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:466: 'syntax error' : invalid expression 
WARNING: 0:466: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:481: 'syntax error' : invalid expression 
WARNING: 0:481: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:488: 'syntax error' : invalid expression 
WARNING: 0:488: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:496: 'syntax error' : invalid expression 
WARNING: 0:496: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:505: 'syntax error' : invalid expression 
WARNING: 0:505: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:515: 'syntax error' : invalid expression 
WARNING: 0:515: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:526: 'syntax error' : invalid expression 
WARNING: 0:526: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:538: 'syntax error' : invalid expression 
WARNING: 0:538: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:551: 'syntax error' : invalid expression 
WARNING: 0:551: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:565: 'syntax error' : invalid expression 
WARNING: 0:565: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:580: 'syntax error' : invalid expression 
WARNING: 0:580: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:599: 'syntax error' : invalid expression 
WARNING: 0:599: 'FXAA_QUALITY__PRESET' : unexpected token after conditional expression 
ERROR: 0:1021: 'FXAA_QUALITY__P0' : undeclared identifier 
ERROR: 0:1041: 'FXAA_QUALITY__P1' : undeclared identifier 
ERROR: 0:1042: 'FXAA_QUALITY__P1' : undeclared identifier 
ERROR: 0:1044: 'FXAA_QUALITY__P1' : undeclared identifier 
ERROR: 0:1045: 'FXAA_QUALITY__P1' : undeclared identifier 
ERROR: 0:1054: 'FXAA_QUALITY__P2' : undeclared identifier 
ERROR: 0:1055: 'FXAA_QUALITY__P2' : undeclared identifier 
ERROR: 0:1057: 'FXAA_QUALITY__P2' : undeclared identifier 
ERROR: 0:1058: 'FXAA_QUALITY__P2' : undeclared identifier 
ERROR: 0:1060: 'syntax error' : invalid expression 
WARNING: 0:1060: 'FXAA_QUALITY__PS' : unexpected token after conditional expression 


Expected results:

Works on Linux/OSX

Comment 1

5 years ago
Can't reproduce the problem in Firefox (tested nightly and 14) on OS/X either. I do get that error in Chrome 23 on the same machine. GPU is a nvidia geforce gt 330m.

Comment 2

5 years ago
ERROR: 0:348: 'FXAA_CONSOLE__PS3_EDGE_SHARPNESS' : macro name is reserved 
ERROR: 0:376: 'FXAA_CONSOLE__PS3_EDGE_THRESHOLD' : macro name is reserved 
ERROR: 0:408: 'FXAA_QUALITY__PRESET' : macro name is reserved 

That's not a bug -- that's per spec.

The ESSL (v100, p12, section 3.4: Preprocessor says: 
"All macro names containing two consecutive underscores ( __ ) are reserved for future use as predefined macro names. "
(Reporter)

Comment 3

5 years ago
It does not throw an error on Linux/OSX firefox/chrome. So clearly the spec is not validated on these platforms by the parser then.
(Reporter)

Updated

5 years ago
Summary: WebGL angle d3d preprocessor bug → WebGL angle d3d preprocessor bug - expected error is not generated on Linux/OSX
(Reporter)

Comment 4

5 years ago
Proposing this conformance test: https://github.com/KhronosGroup/WebGL/pull/18

Updated

5 years ago
Component: Untriaged → Canvas: WebGL
Product: Firefox → Core
(Reporter)

Comment 5

5 years ago
Conformance test now merged into the khronos conformance test suite: https://github.com/KhronosGroup/WebGL/commit/95e60020ab1230a37bf59fadf3460e3785c1113b

https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/reserved/webgl_preprocessor_reserved.html
Florian, the link to the Khronos test is now broken. Was it moved?

I tested the original link on Linux FF latest, and got the following output:
ERROR: 0:4: 'float' : illegal type argument for default precision qualifier
ERROR: 0:5: 'float' : illegal type argument for default precision qualifier
ERROR: 0:6: 'float' : illegal type argument for default precision qualifier
WARNING: 0:348: 'FXAA_CONSOLE__PS3_EDGE_SHARPNESS' : macro name with a double underscore is reserved - unintented behavior is possible
WARNING: 0:376: 'FXAA_CONSOLE__PS3_EDGE_THRESHOLD' : macro name with a double underscore is reserved - unintented behavior is possible
WARNING: 0:408: 'FXAA_QUALITY__PRESET' : macro name with a double underscore is reserved - unintented behavior is possible
WARNING: 0:437: 'FXAA_QUALITY__PS' : macro name with a double underscore is reserved - unintented behavior is possible
WARNING: 0:438: 'FXAA_QUALITY__P0' : macro name with a double underscore is reserved - unintented behavior is possible
WARNING: 0:439: 'FXAA_QUALITY__P1' : macro name with a double underscore is reserved - unintented behavior is possible
WARNING: 0:440: 'FXAA_QUALITY__P2' : macro name with a double underscore is reserved - unintented behavior is possible
WARNING: 0:441: 'FXAA_QUALITY__P3' : macro name with a double underscore is reserved - unintented behavior is possible
WARNING: 0:442: 'FXAA_QUALITY__P4' : macro name with a double underscore is reserved - unintented behavior is possible 

I'm slightly confused that these are warnings and not errors.
(Reporter)

Comment 7

a year ago
I've fixed the test on my site, I don't know what happened to the Khronos test suite that was checked in. Please consult Kenneth Russel and Jeff Gilbert.
Jeff, issuing a warning is not an expected behaviour here, right?
Flags: needinfo?(jgilbert)
These should be errors.
Looks like a bug in the ANGLE validator.
Flags: needinfo?(jgilbert)
Status: UNCONFIRMED → NEW
Ever confirmed: true
You need to log in before you can comment on or make changes to this bug.