You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
786 lines
12 KiB
786 lines
12 KiB
# 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
|