group unspecified_precision "Invalid declarations with unspecified precision" case float_partially_specified_fragment version 310 es expect compile_fail vertex "" #version 310 es ${VERTEX_DECLARATIONS} void main() {} "" fragment "" #version 310 es // no global precision qualifier (e.g. precision mediump float) void main() { mediump float x = 1.0; vec3 y = vec3(x); mediump vec4 z = vec4(y, x); } "" end case float_fragment version 310 es expect compile_fail vertex "" #version 310 es void main() {} "" fragment "" #version 310 es void main() { float v; } "" end case vec2_fragment version 310 es expect compile_fail vertex "" #version 310 es void main() {} "" fragment "" #version 310 es void main() { vec2 v; } "" end case vec3_fragment version 310 es expect compile_fail vertex "" #version 310 es void main() {} "" fragment "" #version 310 es void main() { vec3 v; } "" end case vec4_fragment version 310 es expect compile_fail vertex "" #version 310 es void main() {} "" fragment "" #version 310 es void main() { vec4 v; } "" end case sampler3D version 310 es expect compile_fail both "" #version 310 es uniform sampler3D samp; void main() {} "" end case samplerCubeShadow version 310 es expect compile_fail both "" #version 310 es uniform samplerCubeShadow samp; void main() {} "" end case sampler2DShadow version 310 es expect compile_fail both "" #version 310 es uniform sampler2DShadow samp; void main() {} "" end case sampler2DArray version 310 es expect compile_fail both "" #version 310 es uniform sampler2DArray samp; void main() {} "" end case sampler2DArrayShadow version 310 es expect compile_fail both "" #version 310 es uniform sampler2DArrayShadow samp; void main() {} "" end case isampler2D version 310 es expect compile_fail both "" #version 310 es uniform isampler2D samp; void main() {} "" end case isampler3D version 310 es expect compile_fail both "" #version 310 es uniform isampler3D samp; void main() {} "" end case isamplerCube version 310 es expect compile_fail both "" #version 310 es uniform isamplerCube samp; void main() {} "" end case isampler2DArray version 310 es expect compile_fail both "" #version 310 es uniform isampler2DArray samp; void main() {} "" end case usampler2D version 310 es expect compile_fail both "" #version 310 es uniform usampler2D samp; void main() {} "" end case usampler3D version 310 es expect compile_fail both "" #version 310 es uniform usampler3D samp; void main() {} "" end case usamplerCube version 310 es expect compile_fail both "" #version 310 es uniform usamplerCube samp; void main() {} "" end case usampler2DArray version 310 es expect compile_fail both "" #version 310 es uniform usampler2DArray samp; void main() {} "" end end # unspecified_precision