| # 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_interp_storage_precision |
| expect pass |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant smooth centroid out lowp float x0; |
| |
| flat out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth centroid in lowp float x0; |
| |
| flat in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_storage_precision |
| expect pass |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth centroid out lowp float x0; |
| |
| flat out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth centroid in lowp float x0; |
| |
| flat in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_interp_storage |
| expect pass |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant smooth centroid out float x0; |
| |
| flat out float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth centroid in float x0; |
| |
| flat in float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_storage_precision |
| expect pass |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant centroid out lowp float x0; |
| |
| out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in lowp float x0; |
| |
| in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_precision |
| expect pass |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out lowp float x0; |
| |
| out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in lowp float x0; |
| |
| in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_storage |
| expect pass |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth centroid out float x0; |
| |
| flat out float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth centroid in float x0; |
| |
| flat in float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_storage |
| expect pass |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant centroid out float x0; |
| |
| out float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in float x0; |
| |
| in float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| |
| end # valid |
| group invalid "Invalid orderings." |
| |
| case invariant_interp_precision_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant smooth lowp centroid out float x0; |
| |
| flat mediump out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth lowp centroid in float x0; |
| |
| flat mediump in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_storage_interp_precision |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant centroid out smooth lowp float x0; |
| |
| out flat mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in smooth lowp float x0; |
| |
| in flat mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_storage_precision_interp |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant centroid out lowp smooth float x0; |
| |
| out mediump flat float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in lowp smooth float x0; |
| |
| in mediump flat float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_precision_interp_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant lowp smooth centroid out float x0; |
| |
| mediump flat out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp smooth centroid in float x0; |
| |
| mediump flat in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_precision_storage_interp |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant lowp centroid out smooth float x0; |
| |
| mediump out flat float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp centroid in smooth float x0; |
| |
| mediump in flat float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_invariant_storage_precision |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth invariant centroid out lowp float x0; |
| |
| flat out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth centroid in lowp float x0; |
| |
| flat in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_invariant_precision_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth invariant lowp centroid out float x0; |
| |
| flat mediump out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth lowp centroid in float x0; |
| |
| flat mediump in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_storage_invariant_precision |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth centroid out invariant lowp float x0; |
| |
| flat out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth centroid in lowp float x0; |
| |
| flat in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_storage_precision_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth centroid out lowp invariant float x0; |
| |
| flat out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth centroid in lowp float x0; |
| |
| flat in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_precision_invariant_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth lowp invariant centroid out float x0; |
| |
| flat mediump out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth lowp centroid in float x0; |
| |
| flat mediump in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_precision_storage_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth lowp centroid out invariant float x0; |
| |
| flat mediump out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth lowp centroid in float x0; |
| |
| flat mediump in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_invariant_interp_precision |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out invariant smooth lowp float x0; |
| |
| out flat mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in smooth lowp float x0; |
| |
| in flat mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_invariant_precision_interp |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out invariant lowp smooth float x0; |
| |
| out mediump flat float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in lowp smooth float x0; |
| |
| in mediump flat float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_interp_invariant_precision |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out smooth invariant lowp float x0; |
| |
| out flat mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in smooth lowp float x0; |
| |
| in flat mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_interp_precision_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out smooth lowp invariant float x0; |
| |
| out flat mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in smooth lowp float x0; |
| |
| in flat mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_precision_invariant_interp |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out lowp invariant smooth float x0; |
| |
| out mediump flat float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in lowp smooth float x0; |
| |
| in mediump flat float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_precision_interp_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out lowp smooth invariant float x0; |
| |
| out mediump flat float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in lowp smooth float x0; |
| |
| in mediump flat float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_invariant_interp_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| lowp invariant smooth centroid out float x0; |
| |
| mediump flat out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp smooth centroid in float x0; |
| |
| mediump flat in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_invariant_storage_interp |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| lowp invariant centroid out smooth float x0; |
| |
| mediump out flat float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp centroid in smooth float x0; |
| |
| mediump in flat float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_interp_invariant_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| lowp smooth invariant centroid out float x0; |
| |
| mediump flat out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp smooth centroid in float x0; |
| |
| mediump flat in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_interp_storage_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| lowp smooth centroid out invariant float x0; |
| |
| mediump flat out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp smooth centroid in float x0; |
| |
| mediump flat in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_storage_invariant_interp |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| lowp centroid out invariant smooth float x0; |
| |
| mediump out flat float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp centroid in smooth float x0; |
| |
| mediump in flat float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_storage_interp_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| lowp centroid out smooth invariant float x0; |
| |
| mediump out flat float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp centroid in smooth float x0; |
| |
| mediump in flat float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_precision_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth lowp centroid out float x0; |
| |
| flat mediump out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth lowp centroid in float x0; |
| |
| flat mediump in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_interp_precision |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out smooth lowp float x0; |
| |
| out flat mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in smooth lowp float x0; |
| |
| in flat mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_precision_interp |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out lowp smooth float x0; |
| |
| out mediump flat float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in lowp smooth float x0; |
| |
| in mediump flat float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_interp_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| lowp smooth centroid out float x0; |
| |
| mediump flat out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp smooth centroid in float x0; |
| |
| mediump flat in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_storage_interp |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| lowp centroid out smooth float x0; |
| |
| mediump out flat float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp centroid in smooth float x0; |
| |
| mediump in flat float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_storage_interp |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant centroid out smooth float x0; |
| |
| out flat float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in smooth float x0; |
| |
| in flat float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_invariant_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth invariant centroid out float x0; |
| |
| flat out float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth centroid in float x0; |
| |
| flat in float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_storage_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth centroid out invariant float x0; |
| |
| flat out float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| smooth centroid in float x0; |
| |
| flat in float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_invariant_interp |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out invariant smooth float x0; |
| |
| out flat float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in smooth float x0; |
| |
| in flat float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_interp_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out smooth invariant float x0; |
| |
| out flat float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in smooth float x0; |
| |
| in flat float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_precision_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant lowp centroid out float x0; |
| |
| mediump out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp centroid in float x0; |
| |
| mediump in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_invariant_precision |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out invariant lowp float x0; |
| |
| out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in lowp float x0; |
| |
| in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_precision_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out lowp invariant float x0; |
| |
| out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in lowp float x0; |
| |
| in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_invariant_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| lowp invariant centroid out float x0; |
| |
| mediump out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp centroid in float x0; |
| |
| mediump in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_storage_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| lowp centroid out invariant float x0; |
| |
| mediump out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp centroid in float x0; |
| |
| mediump in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case precision_storage |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| lowp centroid out float x0; |
| |
| mediump out float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| lowp centroid in float x0; |
| |
| mediump in float x1; |
| |
| highp uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_interp |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out smooth float x0; |
| |
| out flat float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in smooth float x0; |
| |
| in flat float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_invariant |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out invariant float x0; |
| |
| out float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| centroid in float x0; |
| |
| in float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_interp_storage_precision_invariant_input |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant smooth centroid out lowp float x0; |
| |
| flat out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| invariant smooth centroid in lowp float x0; |
| |
| flat in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_storage_precision_invariant_input |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth centroid out lowp float x0; |
| |
| flat out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| invariant smooth centroid in lowp float x0; |
| |
| flat in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_interp_storage_invariant_input |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant smooth centroid out float x0; |
| |
| flat out float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| invariant smooth centroid in float x0; |
| |
| flat in float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_storage_precision_invariant_input |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant centroid out lowp float x0; |
| |
| out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| invariant centroid in lowp float x0; |
| |
| in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case storage_precision_invariant_input |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| centroid out lowp float x0; |
| |
| out mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| invariant centroid in lowp float x0; |
| |
| in mediump float x1; |
| |
| uniform highp float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case interp_storage_invariant_input |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| smooth centroid out float x0; |
| |
| flat out float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| invariant smooth centroid in float x0; |
| |
| flat in float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_FragColor = vec4(result, result, result, 1.0); |
| } |
| "" |
| end |
| case invariant_storage_invariant_input |
| expect compile_fail |
| values {} |
| |
| vertex "" |
| #version 300 es |
| precision mediump float; |
| in highp vec4 dEQP_Position; |
| |
| invariant centroid out float x0; |
| |
| out float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| x0 = 1.0; |
| x1 = 2.0; |
| gl_Position = dEQP_Position; |
| } |
| "" |
| |
| fragment "" |
| #version 300 es |
| precision mediump float; |
| layout(location = 0) out mediump vec4 dEQP_FragColor; |
| |
| invariant centroid in float x0; |
| |
| in float x1; |
| |
| uniform float x2; |
| |
| void main() |
| { |
| float result = (x0 + x1 + x2) / 3.0; |
| dEQP_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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| 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 highp 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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| 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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (const lowp float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 ( mediump float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 ( highp 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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| 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 highp 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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| 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 ( highp 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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| 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 highp 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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| 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 highp 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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| 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 (highp 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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| 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 (highp 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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| 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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| float foo0 (lowp const float x) |
| { |
| return x + 1.0; |
| } |
| |
| void foo1 (mediump float x) |
| { |
| x = 1.0; |
| } |
| |
| float foo2 (highp 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 |
| version 300 es |
| values {} |
| |
| both "" |
| #version 300 es |
| 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 (highp 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 |