diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-01-25 16:25:39 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-01-29 15:43:13 +0000 |
commit | 2b94bfe47ccb6c08047959d1c26e392919550e86 (patch) | |
tree | 4a9cb6fb333ac7e0e5bfbdd3a8faa219880e193d /chromium/third_party/glslang/src/Test/100scope.vert | |
parent | 51f6c2793adab2d864b3d2b360000ef8db1d3e92 (diff) |
BASELINE: Update Chromium to 71.0.3578.140
Change-Id: Ia85516cc06e245e449ca8a6652242b8a1bcace74
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'chromium/third_party/glslang/src/Test/100scope.vert')
-rw-r--r-- | chromium/third_party/glslang/src/Test/100scope.vert | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/100scope.vert b/chromium/third_party/glslang/src/Test/100scope.vert new file mode 100644 index 00000000000..7ffa7be9d78 --- /dev/null +++ b/chromium/third_party/glslang/src/Test/100scope.vert @@ -0,0 +1,76 @@ +#version 100 + +int f(int a, int b, int c) +{ + int a = b; // ERROR, redefinition + + { + float a = float(a) + 1.0; + } + + return a; +} + +int f(int a, int b, int c); // okay to redeclare + +bool b; +float b(int a); // ERROR: redefinition + +float c(int a); +bool c; // ERROR: redefinition + +float f; // ERROR: redefinition +float tan; // okay, built-in is in an outer scope +float sin(float x); // ERROR: can't redefine built-in functions +float cos(float x) // ERROR: can't redefine built-in functions +{ + return 1.0; +} +bool radians(bool x) // okay, can overload built-in functions +{ + return true; +} + +invariant gl_Position; + +void main() +{ + int g(); // ERROR: no local function declarations + g(); + + float sin; // okay + sin; + sin(0.7); // ERROR, use of hidden function + f(1,2,3); + + float f; // hides f() + f = 3.0; + + gl_Position = vec4(f); + + for (int f = 0; f < 10; ++f) + ++f; + + int x = 1; + { + float x = 2.0, /* 2nd x visible here */ y = x; // y is initialized to 2 + int z = z; // ERROR: z not previously defined. + } + { + int x = x; // x is initialized to '1' + } + + struct S + { + int x; + }; + { + S S = S(0); // 'S' is only visible as a struct and constructor + S.x; // 'S' is now visible as a variable + } + + int degrees; + degrees(3.2); // ERROR, use of hidden built-in function +} + +varying struct SSS { float f; } s; // ERROR |