| # WARNING: This file is auto-generated. Do NOT modify it manually, but rather |
| # modify the generating script file. Otherwise changes will be lost! |
| |
| group variables "Order of qualification in variable declarations." |
| |
| group valid "Valid orderings." |
| |
| case invariant_storage_precision |
| expect pass |
| values {} |
| |
| vertex "" |
| precision mediump float; |
| attribute highp vec4 dEQP_Position; |
| |
| invariant varying lowp float x0; |
| |
| uniform mediump float x1; |
| |
| attribute mediump float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| precision mediump float; |
| |
| invariant varying lowp float x0; |
| |
| uniform mediump float x1; |
| |
| void main() |
| { |
| float result = x0 + x1; |
| gl_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_precision |
| expect pass |
| values {} |
| |
| vertex "" |
| precision mediump float; |
| attribute highp vec4 dEQP_Position; |
| |
| varying lowp float x0; |
| |
| uniform mediump float x1; |
| |
| attribute mediump float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| precision mediump float; |
| |
| varying lowp float x0; |
| |
| uniform mediump float x1; |
| |
| void main() |
| { |
| float result = x0 + x1; |
| gl_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_storage |
| expect pass |
| values {} |
| |
| vertex "" |
| precision mediump float; |
| attribute highp vec4 dEQP_Position; |
| |
| invariant varying float x0; |
| |
| uniform float x1; |
| |
| attribute float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| precision mediump float; |
| |
| invariant varying float x0; |
| |
| uniform float x1; |
| |
| void main() |
| { |
| float result = x0 + x1; |
| gl_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| |
| end # valid |
| group invalid "Invalid orderings." |
| |
| case invariant_precision_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| precision mediump float; |
| attribute highp vec4 dEQP_Position; |
| |
| invariant lowp varying float x0; |
| |
| mediump uniform float x1; |
| |
| mediump attribute float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| precision mediump float; |
| |
| invariant lowp varying float x0; |
| |
| mediump uniform float x1; |
| |
| void main() |
| { |
| float result = x0 + x1; |
| gl_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_invariant_precision |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| precision mediump float; |
| attribute highp vec4 dEQP_Position; |
| |
| varying invariant lowp float x0; |
| |
| uniform mediump float x1; |
| |
| attribute mediump float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| precision mediump float; |
| |
| varying invariant lowp float x0; |
| |
| uniform mediump float x1; |
| |
| void main() |
| { |
| float result = x0 + x1; |
| gl_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_precision_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| precision mediump float; |
| attribute highp vec4 dEQP_Position; |
| |
| varying lowp invariant float x0; |
| |
| uniform mediump float x1; |
| |
| attribute mediump float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| precision mediump float; |
| |
| varying lowp invariant float x0; |
| |
| uniform mediump float x1; |
| |
| void main() |
| { |
| float result = x0 + x1; |
| gl_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_invariant_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| precision mediump float; |
| attribute highp vec4 dEQP_Position; |
| |
| lowp invariant varying float x0; |
| |
| mediump uniform float x1; |
| |
| mediump attribute float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| precision mediump float; |
| |
| lowp invariant varying float x0; |
| |
| mediump uniform float x1; |
| |
| void main() |
| { |
| float result = x0 + x1; |
| gl_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_storage_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| precision mediump float; |
| attribute highp vec4 dEQP_Position; |
| |
| lowp varying invariant float x0; |
| |
| mediump uniform float x1; |
| |
| mediump attribute float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| precision mediump float; |
| |
| lowp varying invariant float x0; |
| |
| mediump uniform float x1; |
| |
| void main() |
| { |
| float result = x0 + x1; |
| gl_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| precision mediump float; |
| attribute highp vec4 dEQP_Position; |
| |
| lowp varying float x0; |
| |
| mediump uniform float x1; |
| |
| mediump attribute float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| precision mediump float; |
| |
| lowp varying float x0; |
| |
| mediump uniform float x1; |
| |
| void main() |
| { |
| float result = x0 + x1; |
| gl_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| precision mediump float; |
| attribute highp vec4 dEQP_Position; |
| |
| varying invariant float x0; |
| |
| uniform float x1; |
| |
| attribute float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| precision mediump float; |
| |
| varying invariant float x0; |
| |
| uniform float x1; |
| |
| void main() |
| { |
| float result = x0 + x1; |
| gl_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| |
| end # invalid |
| |
| end # variables |
| group parameters "Order of qualification in function parameters." |
| |
| group valid "Valid orderings." |
| |
| case storage_parameter_precision |
| expect pass |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (const in lowp float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 ( out mediump float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 ( inout mediump float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case storage_parameter |
| expect pass |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (const in float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 ( out float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 ( inout float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case storage_precision |
| expect pass |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (const lowp float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 ( mediump float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 ( mediump float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case parameter_precision |
| expect pass |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (in lowp float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 (out mediump float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 (inout mediump float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| end # valid |
| group invalid "Invalid orderings." |
| |
| case storage_precision_parameter |
| expect compile_fail |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (const lowp in float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 ( mediump out float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 ( mediump inout float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case parameter_storage_precision |
| expect compile_fail |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (in const lowp float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 (out mediump float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 (inout mediump float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case parameter_precision_storage |
| expect compile_fail |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (in lowp const float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 (out mediump float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 (inout mediump float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case precision_storage_parameter |
| expect compile_fail |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (lowp const in float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 (mediump out float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 (mediump inout float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case precision_parameter_storage |
| expect compile_fail |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (lowp in const float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 (mediump out float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 (mediump inout float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case parameter_storage |
| expect compile_fail |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (in const float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 (out float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 (inout float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case precision_storage |
| expect compile_fail |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (lowp const float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 (mediump float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 (mediump float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case precision_parameter |
| expect compile_fail |
| values {} |
| |
| both "" |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (lowp in float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 (mediump out float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 (mediump inout float x) |
| { |
| return x + 1.0; |
| } |
| |
| void main() |
| { |
| ${SETUP} |
| float result; |
| foo1(result); |
| float x0 = foo0(1.0); |
| foo2(result); |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| end # invalid |
| |
| end # parameters |