# WARNING: This file is auto-generated. Do NOT modify it manually, but rather # modify the generating script file. Otherwise changes will be lost! group invalid_implicit_conversions "Invalid Implicit Conversions" case add_float_int_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; int b; float c = a + b; } "" end case add_float_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; float a; int b; int c = a + b; } "" end case add_float_ivec2_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec2 b; float c = a + b; } "" end case add_float_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; float a; ivec2 b; ivec2 c = a + b; } "" end case add_float_ivec3_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec3 b; float c = a + b; } "" end case add_float_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; float a; ivec3 b; ivec3 c = a + b; } "" end case add_float_ivec4_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec4 b; float c = a + b; } "" end case add_float_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; float a; ivec4 b; ivec4 c = a + b; } "" end case add_vec2_int_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; int b; vec2 c = a + b; } "" end case add_vec2_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec2 a; int b; int c = a + b; } "" end case add_vec2_ivec2_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec2 b; vec2 c = a + b; } "" end case add_vec2_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec2 a; ivec2 b; ivec2 c = a + b; } "" end case add_vec2_ivec3_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec3 b; vec2 c = a + b; } "" end case add_vec2_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec2 a; ivec3 b; ivec3 c = a + b; } "" end case add_vec2_ivec4_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec4 b; vec2 c = a + b; } "" end case add_vec2_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec2 a; ivec4 b; ivec4 c = a + b; } "" end case add_vec3_int_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; int b; vec3 c = a + b; } "" end case add_vec3_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec3 a; int b; int c = a + b; } "" end case add_vec3_ivec2_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec2 b; vec3 c = a + b; } "" end case add_vec3_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec3 a; ivec2 b; ivec2 c = a + b; } "" end case add_vec3_ivec3_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec3 b; vec3 c = a + b; } "" end case add_vec3_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec3 a; ivec3 b; ivec3 c = a + b; } "" end case add_vec3_ivec4_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec4 b; vec3 c = a + b; } "" end case add_vec3_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec3 a; ivec4 b; ivec4 c = a + b; } "" end case add_vec4_int_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; int b; vec4 c = a + b; } "" end case add_vec4_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec4 a; int b; int c = a + b; } "" end case add_vec4_ivec2_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec2 b; vec4 c = a + b; } "" end case add_vec4_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec4 a; ivec2 b; ivec2 c = a + b; } "" end case add_vec4_ivec3_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec3 b; vec4 c = a + b; } "" end case add_vec4_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec4 a; ivec3 b; ivec3 c = a + b; } "" end case add_vec4_ivec4_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec4 b; vec4 c = a + b; } "" end case add_vec4_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec4 a; ivec4 b; ivec4 c = a + b; } "" end case add_float_uint_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uint b; float c = a + b; } "" end case add_float_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; float a; uint b; uint c = a + b; } "" end case add_float_uvec2_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec2 b; float c = a + b; } "" end case add_float_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; float a; uvec2 b; uvec2 c = a + b; } "" end case add_float_uvec3_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec3 b; float c = a + b; } "" end case add_float_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; float a; uvec3 b; uvec3 c = a + b; } "" end case add_float_uvec4_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec4 b; float c = a + b; } "" end case add_float_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; float a; uvec4 b; uvec4 c = a + b; } "" end case add_vec2_uint_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uint b; vec2 c = a + b; } "" end case add_vec2_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec2 a; uint b; uint c = a + b; } "" end case add_vec2_uvec2_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec2 b; vec2 c = a + b; } "" end case add_vec2_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec2 a; uvec2 b; uvec2 c = a + b; } "" end case add_vec2_uvec3_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec3 b; vec2 c = a + b; } "" end case add_vec2_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec2 a; uvec3 b; uvec3 c = a + b; } "" end case add_vec2_uvec4_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec4 b; vec2 c = a + b; } "" end case add_vec2_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec2 a; uvec4 b; uvec4 c = a + b; } "" end case add_vec3_uint_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uint b; vec3 c = a + b; } "" end case add_vec3_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec3 a; uint b; uint c = a + b; } "" end case add_vec3_uvec2_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec2 b; vec3 c = a + b; } "" end case add_vec3_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec3 a; uvec2 b; uvec2 c = a + b; } "" end case add_vec3_uvec3_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec3 b; vec3 c = a + b; } "" end case add_vec3_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec3 a; uvec3 b; uvec3 c = a + b; } "" end case add_vec3_uvec4_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec4 b; vec3 c = a + b; } "" end case add_vec3_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec3 a; uvec4 b; uvec4 c = a + b; } "" end case add_vec4_uint_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uint b; vec4 c = a + b; } "" end case add_vec4_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec4 a; uint b; uint c = a + b; } "" end case add_vec4_uvec2_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec2 b; vec4 c = a + b; } "" end case add_vec4_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec4 a; uvec2 b; uvec2 c = a + b; } "" end case add_vec4_uvec3_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec3 b; vec4 c = a + b; } "" end case add_vec4_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec4 a; uvec3 b; uvec3 c = a + b; } "" end case add_vec4_uvec4_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec4 b; vec4 c = a + b; } "" end case add_vec4_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec4 a; uvec4 b; uvec4 c = a + b; } "" end case add_int_uint_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uint b; int c = a + b; } "" end case add_int_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; int a; uint b; uint c = a + b; } "" end case add_int_uvec2_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec2 b; int c = a + b; } "" end case add_int_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; int a; uvec2 b; uvec2 c = a + b; } "" end case add_int_uvec3_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec3 b; int c = a + b; } "" end case add_int_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; int a; uvec3 b; uvec3 c = a + b; } "" end case add_int_uvec4_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec4 b; int c = a + b; } "" end case add_int_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; int a; uvec4 b; uvec4 c = a + b; } "" end case add_ivec2_uint_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uint b; ivec2 c = a + b; } "" end case add_ivec2_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec2 a; uint b; uint c = a + b; } "" end case add_ivec2_uvec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec2 b; ivec2 c = a + b; } "" end case add_ivec2_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec2 a; uvec2 b; uvec2 c = a + b; } "" end case add_ivec2_uvec3_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec3 b; ivec2 c = a + b; } "" end case add_ivec2_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec2 a; uvec3 b; uvec3 c = a + b; } "" end case add_ivec2_uvec4_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec4 b; ivec2 c = a + b; } "" end case add_ivec2_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec2 a; uvec4 b; uvec4 c = a + b; } "" end case add_ivec3_uint_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uint b; ivec3 c = a + b; } "" end case add_ivec3_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec3 a; uint b; uint c = a + b; } "" end case add_ivec3_uvec2_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec2 b; ivec3 c = a + b; } "" end case add_ivec3_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec3 a; uvec2 b; uvec2 c = a + b; } "" end case add_ivec3_uvec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec3 b; ivec3 c = a + b; } "" end case add_ivec3_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec3 a; uvec3 b; uvec3 c = a + b; } "" end case add_ivec3_uvec4_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec4 b; ivec3 c = a + b; } "" end case add_ivec3_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec3 a; uvec4 b; uvec4 c = a + b; } "" end case add_ivec4_uint_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uint b; ivec4 c = a + b; } "" end case add_ivec4_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec4 a; uint b; uint c = a + b; } "" end case add_ivec4_uvec2_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec2 b; ivec4 c = a + b; } "" end case add_ivec4_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec4 a; uvec2 b; uvec2 c = a + b; } "" end case add_ivec4_uvec3_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec3 b; ivec4 c = a + b; } "" end case add_ivec4_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec4 a; uvec3 b; uvec3 c = a + b; } "" end case add_ivec4_uvec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec4 b; ivec4 c = a + b; } "" end case add_ivec4_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec4 a; uvec4 b; uvec4 c = a + b; } "" end case mul_float_int_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; int b; float c = a * b; } "" end case mul_float_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; float a; int b; int c = a * b; } "" end case mul_float_ivec2_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec2 b; float c = a * b; } "" end case mul_float_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; float a; ivec2 b; ivec2 c = a * b; } "" end case mul_float_ivec3_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec3 b; float c = a * b; } "" end case mul_float_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; float a; ivec3 b; ivec3 c = a * b; } "" end case mul_float_ivec4_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec4 b; float c = a * b; } "" end case mul_float_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; float a; ivec4 b; ivec4 c = a * b; } "" end case mul_vec2_int_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; int b; vec2 c = a * b; } "" end case mul_vec2_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec2 a; int b; int c = a * b; } "" end case mul_vec2_ivec2_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec2 b; vec2 c = a * b; } "" end case mul_vec2_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec2 a; ivec2 b; ivec2 c = a * b; } "" end case mul_vec2_ivec3_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec3 b; vec2 c = a * b; } "" end case mul_vec2_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec2 a; ivec3 b; ivec3 c = a * b; } "" end case mul_vec2_ivec4_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec4 b; vec2 c = a * b; } "" end case mul_vec2_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec2 a; ivec4 b; ivec4 c = a * b; } "" end case mul_vec3_int_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; int b; vec3 c = a * b; } "" end case mul_vec3_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec3 a; int b; int c = a * b; } "" end case mul_vec3_ivec2_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec2 b; vec3 c = a * b; } "" end case mul_vec3_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec3 a; ivec2 b; ivec2 c = a * b; } "" end case mul_vec3_ivec3_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec3 b; vec3 c = a * b; } "" end case mul_vec3_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec3 a; ivec3 b; ivec3 c = a * b; } "" end case mul_vec3_ivec4_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec4 b; vec3 c = a * b; } "" end case mul_vec3_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec3 a; ivec4 b; ivec4 c = a * b; } "" end case mul_vec4_int_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; int b; vec4 c = a * b; } "" end case mul_vec4_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec4 a; int b; int c = a * b; } "" end case mul_vec4_ivec2_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec2 b; vec4 c = a * b; } "" end case mul_vec4_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec4 a; ivec2 b; ivec2 c = a * b; } "" end case mul_vec4_ivec3_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec3 b; vec4 c = a * b; } "" end case mul_vec4_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec4 a; ivec3 b; ivec3 c = a * b; } "" end case mul_vec4_ivec4_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec4 b; vec4 c = a * b; } "" end case mul_vec4_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec4 a; ivec4 b; ivec4 c = a * b; } "" end case mul_float_uint_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uint b; float c = a * b; } "" end case mul_float_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; float a; uint b; uint c = a * b; } "" end case mul_float_uvec2_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec2 b; float c = a * b; } "" end case mul_float_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; float a; uvec2 b; uvec2 c = a * b; } "" end case mul_float_uvec3_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec3 b; float c = a * b; } "" end case mul_float_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; float a; uvec3 b; uvec3 c = a * b; } "" end case mul_float_uvec4_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec4 b; float c = a * b; } "" end case mul_float_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; float a; uvec4 b; uvec4 c = a * b; } "" end case mul_vec2_uint_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uint b; vec2 c = a * b; } "" end case mul_vec2_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec2 a; uint b; uint c = a * b; } "" end case mul_vec2_uvec2_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec2 b; vec2 c = a * b; } "" end case mul_vec2_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec2 a; uvec2 b; uvec2 c = a * b; } "" end case mul_vec2_uvec3_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec3 b; vec2 c = a * b; } "" end case mul_vec2_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec2 a; uvec3 b; uvec3 c = a * b; } "" end case mul_vec2_uvec4_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec4 b; vec2 c = a * b; } "" end case mul_vec2_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec2 a; uvec4 b; uvec4 c = a * b; } "" end case mul_vec3_uint_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uint b; vec3 c = a * b; } "" end case mul_vec3_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec3 a; uint b; uint c = a * b; } "" end case mul_vec3_uvec2_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec2 b; vec3 c = a * b; } "" end case mul_vec3_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec3 a; uvec2 b; uvec2 c = a * b; } "" end case mul_vec3_uvec3_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec3 b; vec3 c = a * b; } "" end case mul_vec3_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec3 a; uvec3 b; uvec3 c = a * b; } "" end case mul_vec3_uvec4_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec4 b; vec3 c = a * b; } "" end case mul_vec3_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec3 a; uvec4 b; uvec4 c = a * b; } "" end case mul_vec4_uint_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uint b; vec4 c = a * b; } "" end case mul_vec4_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec4 a; uint b; uint c = a * b; } "" end case mul_vec4_uvec2_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec2 b; vec4 c = a * b; } "" end case mul_vec4_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec4 a; uvec2 b; uvec2 c = a * b; } "" end case mul_vec4_uvec3_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec3 b; vec4 c = a * b; } "" end case mul_vec4_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec4 a; uvec3 b; uvec3 c = a * b; } "" end case mul_vec4_uvec4_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec4 b; vec4 c = a * b; } "" end case mul_vec4_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec4 a; uvec4 b; uvec4 c = a * b; } "" end case mul_int_uint_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uint b; int c = a * b; } "" end case mul_int_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; int a; uint b; uint c = a * b; } "" end case mul_int_uvec2_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec2 b; int c = a * b; } "" end case mul_int_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; int a; uvec2 b; uvec2 c = a * b; } "" end case mul_int_uvec3_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec3 b; int c = a * b; } "" end case mul_int_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; int a; uvec3 b; uvec3 c = a * b; } "" end case mul_int_uvec4_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec4 b; int c = a * b; } "" end case mul_int_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; int a; uvec4 b; uvec4 c = a * b; } "" end case mul_ivec2_uint_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uint b; ivec2 c = a * b; } "" end case mul_ivec2_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec2 a; uint b; uint c = a * b; } "" end case mul_ivec2_uvec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec2 b; ivec2 c = a * b; } "" end case mul_ivec2_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec2 a; uvec2 b; uvec2 c = a * b; } "" end case mul_ivec2_uvec3_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec3 b; ivec2 c = a * b; } "" end case mul_ivec2_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec2 a; uvec3 b; uvec3 c = a * b; } "" end case mul_ivec2_uvec4_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec4 b; ivec2 c = a * b; } "" end case mul_ivec2_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec2 a; uvec4 b; uvec4 c = a * b; } "" end case mul_ivec3_uint_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uint b; ivec3 c = a * b; } "" end case mul_ivec3_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec3 a; uint b; uint c = a * b; } "" end case mul_ivec3_uvec2_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec2 b; ivec3 c = a * b; } "" end case mul_ivec3_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec3 a; uvec2 b; uvec2 c = a * b; } "" end case mul_ivec3_uvec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec3 b; ivec3 c = a * b; } "" end case mul_ivec3_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec3 a; uvec3 b; uvec3 c = a * b; } "" end case mul_ivec3_uvec4_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec4 b; ivec3 c = a * b; } "" end case mul_ivec3_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec3 a; uvec4 b; uvec4 c = a * b; } "" end case mul_ivec4_uint_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uint b; ivec4 c = a * b; } "" end case mul_ivec4_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec4 a; uint b; uint c = a * b; } "" end case mul_ivec4_uvec2_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec2 b; ivec4 c = a * b; } "" end case mul_ivec4_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec4 a; uvec2 b; uvec2 c = a * b; } "" end case mul_ivec4_uvec3_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec3 b; ivec4 c = a * b; } "" end case mul_ivec4_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec4 a; uvec3 b; uvec3 c = a * b; } "" end case mul_ivec4_uvec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec4 b; ivec4 c = a * b; } "" end case mul_ivec4_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec4 a; uvec4 b; uvec4 c = a * b; } "" end case sub_float_int_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; int b; float c = a - b; } "" end case sub_float_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; float a; int b; int c = a - b; } "" end case sub_float_ivec2_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec2 b; float c = a - b; } "" end case sub_float_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; float a; ivec2 b; ivec2 c = a - b; } "" end case sub_float_ivec3_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec3 b; float c = a - b; } "" end case sub_float_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; float a; ivec3 b; ivec3 c = a - b; } "" end case sub_float_ivec4_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec4 b; float c = a - b; } "" end case sub_float_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; float a; ivec4 b; ivec4 c = a - b; } "" end case sub_vec2_int_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; int b; vec2 c = a - b; } "" end case sub_vec2_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec2 a; int b; int c = a - b; } "" end case sub_vec2_ivec2_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec2 b; vec2 c = a - b; } "" end case sub_vec2_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec2 a; ivec2 b; ivec2 c = a - b; } "" end case sub_vec2_ivec3_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec3 b; vec2 c = a - b; } "" end case sub_vec2_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec2 a; ivec3 b; ivec3 c = a - b; } "" end case sub_vec2_ivec4_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec4 b; vec2 c = a - b; } "" end case sub_vec2_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec2 a; ivec4 b; ivec4 c = a - b; } "" end case sub_vec3_int_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; int b; vec3 c = a - b; } "" end case sub_vec3_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec3 a; int b; int c = a - b; } "" end case sub_vec3_ivec2_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec2 b; vec3 c = a - b; } "" end case sub_vec3_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec3 a; ivec2 b; ivec2 c = a - b; } "" end case sub_vec3_ivec3_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec3 b; vec3 c = a - b; } "" end case sub_vec3_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec3 a; ivec3 b; ivec3 c = a - b; } "" end case sub_vec3_ivec4_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec4 b; vec3 c = a - b; } "" end case sub_vec3_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec3 a; ivec4 b; ivec4 c = a - b; } "" end case sub_vec4_int_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; int b; vec4 c = a - b; } "" end case sub_vec4_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec4 a; int b; int c = a - b; } "" end case sub_vec4_ivec2_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec2 b; vec4 c = a - b; } "" end case sub_vec4_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec4 a; ivec2 b; ivec2 c = a - b; } "" end case sub_vec4_ivec3_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec3 b; vec4 c = a - b; } "" end case sub_vec4_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec4 a; ivec3 b; ivec3 c = a - b; } "" end case sub_vec4_ivec4_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec4 b; vec4 c = a - b; } "" end case sub_vec4_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec4 a; ivec4 b; ivec4 c = a - b; } "" end case sub_float_uint_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uint b; float c = a - b; } "" end case sub_float_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; float a; uint b; uint c = a - b; } "" end case sub_float_uvec2_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec2 b; float c = a - b; } "" end case sub_float_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; float a; uvec2 b; uvec2 c = a - b; } "" end case sub_float_uvec3_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec3 b; float c = a - b; } "" end case sub_float_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; float a; uvec3 b; uvec3 c = a - b; } "" end case sub_float_uvec4_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec4 b; float c = a - b; } "" end case sub_float_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; float a; uvec4 b; uvec4 c = a - b; } "" end case sub_vec2_uint_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uint b; vec2 c = a - b; } "" end case sub_vec2_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec2 a; uint b; uint c = a - b; } "" end case sub_vec2_uvec2_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec2 b; vec2 c = a - b; } "" end case sub_vec2_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec2 a; uvec2 b; uvec2 c = a - b; } "" end case sub_vec2_uvec3_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec3 b; vec2 c = a - b; } "" end case sub_vec2_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec2 a; uvec3 b; uvec3 c = a - b; } "" end case sub_vec2_uvec4_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec4 b; vec2 c = a - b; } "" end case sub_vec2_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec2 a; uvec4 b; uvec4 c = a - b; } "" end case sub_vec3_uint_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uint b; vec3 c = a - b; } "" end case sub_vec3_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec3 a; uint b; uint c = a - b; } "" end case sub_vec3_uvec2_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec2 b; vec3 c = a - b; } "" end case sub_vec3_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec3 a; uvec2 b; uvec2 c = a - b; } "" end case sub_vec3_uvec3_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec3 b; vec3 c = a - b; } "" end case sub_vec3_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec3 a; uvec3 b; uvec3 c = a - b; } "" end case sub_vec3_uvec4_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec4 b; vec3 c = a - b; } "" end case sub_vec3_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec3 a; uvec4 b; uvec4 c = a - b; } "" end case sub_vec4_uint_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uint b; vec4 c = a - b; } "" end case sub_vec4_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec4 a; uint b; uint c = a - b; } "" end case sub_vec4_uvec2_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec2 b; vec4 c = a - b; } "" end case sub_vec4_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec4 a; uvec2 b; uvec2 c = a - b; } "" end case sub_vec4_uvec3_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec3 b; vec4 c = a - b; } "" end case sub_vec4_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec4 a; uvec3 b; uvec3 c = a - b; } "" end case sub_vec4_uvec4_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec4 b; vec4 c = a - b; } "" end case sub_vec4_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec4 a; uvec4 b; uvec4 c = a - b; } "" end case sub_int_uint_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uint b; int c = a - b; } "" end case sub_int_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; int a; uint b; uint c = a - b; } "" end case sub_int_uvec2_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec2 b; int c = a - b; } "" end case sub_int_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; int a; uvec2 b; uvec2 c = a - b; } "" end case sub_int_uvec3_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec3 b; int c = a - b; } "" end case sub_int_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; int a; uvec3 b; uvec3 c = a - b; } "" end case sub_int_uvec4_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec4 b; int c = a - b; } "" end case sub_int_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; int a; uvec4 b; uvec4 c = a - b; } "" end case sub_ivec2_uint_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uint b; ivec2 c = a - b; } "" end case sub_ivec2_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec2 a; uint b; uint c = a - b; } "" end case sub_ivec2_uvec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec2 b; ivec2 c = a - b; } "" end case sub_ivec2_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec2 a; uvec2 b; uvec2 c = a - b; } "" end case sub_ivec2_uvec3_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec3 b; ivec2 c = a - b; } "" end case sub_ivec2_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec2 a; uvec3 b; uvec3 c = a - b; } "" end case sub_ivec2_uvec4_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec4 b; ivec2 c = a - b; } "" end case sub_ivec2_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec2 a; uvec4 b; uvec4 c = a - b; } "" end case sub_ivec3_uint_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uint b; ivec3 c = a - b; } "" end case sub_ivec3_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec3 a; uint b; uint c = a - b; } "" end case sub_ivec3_uvec2_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec2 b; ivec3 c = a - b; } "" end case sub_ivec3_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec3 a; uvec2 b; uvec2 c = a - b; } "" end case sub_ivec3_uvec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec3 b; ivec3 c = a - b; } "" end case sub_ivec3_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec3 a; uvec3 b; uvec3 c = a - b; } "" end case sub_ivec3_uvec4_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec4 b; ivec3 c = a - b; } "" end case sub_ivec3_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec3 a; uvec4 b; uvec4 c = a - b; } "" end case sub_ivec4_uint_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uint b; ivec4 c = a - b; } "" end case sub_ivec4_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec4 a; uint b; uint c = a - b; } "" end case sub_ivec4_uvec2_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec2 b; ivec4 c = a - b; } "" end case sub_ivec4_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec4 a; uvec2 b; uvec2 c = a - b; } "" end case sub_ivec4_uvec3_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec3 b; ivec4 c = a - b; } "" end case sub_ivec4_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec4 a; uvec3 b; uvec3 c = a - b; } "" end case sub_ivec4_uvec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec4 b; ivec4 c = a - b; } "" end case sub_ivec4_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec4 a; uvec4 b; uvec4 c = a - b; } "" end case div_float_int_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; int b; float c = a / b; } "" end case div_float_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; float a; int b; int c = a / b; } "" end case div_float_ivec2_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec2 b; float c = a / b; } "" end case div_float_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; float a; ivec2 b; ivec2 c = a / b; } "" end case div_float_ivec3_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec3 b; float c = a / b; } "" end case div_float_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; float a; ivec3 b; ivec3 c = a / b; } "" end case div_float_ivec4_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; ivec4 b; float c = a / b; } "" end case div_float_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; float a; ivec4 b; ivec4 c = a / b; } "" end case div_vec2_int_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; int b; vec2 c = a / b; } "" end case div_vec2_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec2 a; int b; int c = a / b; } "" end case div_vec2_ivec2_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec2 b; vec2 c = a / b; } "" end case div_vec2_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec2 a; ivec2 b; ivec2 c = a / b; } "" end case div_vec2_ivec3_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec3 b; vec2 c = a / b; } "" end case div_vec2_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec2 a; ivec3 b; ivec3 c = a / b; } "" end case div_vec2_ivec4_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; ivec4 b; vec2 c = a / b; } "" end case div_vec2_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec2 a; ivec4 b; ivec4 c = a / b; } "" end case div_vec3_int_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; int b; vec3 c = a / b; } "" end case div_vec3_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec3 a; int b; int c = a / b; } "" end case div_vec3_ivec2_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec2 b; vec3 c = a / b; } "" end case div_vec3_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec3 a; ivec2 b; ivec2 c = a / b; } "" end case div_vec3_ivec3_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec3 b; vec3 c = a / b; } "" end case div_vec3_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec3 a; ivec3 b; ivec3 c = a / b; } "" end case div_vec3_ivec4_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; ivec4 b; vec3 c = a / b; } "" end case div_vec3_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec3 a; ivec4 b; ivec4 c = a / b; } "" end case div_vec4_int_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; int b; vec4 c = a / b; } "" end case div_vec4_int_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; vec4 a; int b; int c = a / b; } "" end case div_vec4_ivec2_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec2 b; vec4 c = a / b; } "" end case div_vec4_ivec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; vec4 a; ivec2 b; ivec2 c = a / b; } "" end case div_vec4_ivec3_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec3 b; vec4 c = a / b; } "" end case div_vec4_ivec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; vec4 a; ivec3 b; ivec3 c = a / b; } "" end case div_vec4_ivec4_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; ivec4 b; vec4 c = a / b; } "" end case div_vec4_ivec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; vec4 a; ivec4 b; ivec4 c = a / b; } "" end case div_float_uint_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uint b; float c = a / b; } "" end case div_float_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; float a; uint b; uint c = a / b; } "" end case div_float_uvec2_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec2 b; float c = a / b; } "" end case div_float_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; float a; uvec2 b; uvec2 c = a / b; } "" end case div_float_uvec3_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec3 b; float c = a / b; } "" end case div_float_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; float a; uvec3 b; uvec3 c = a / b; } "" end case div_float_uvec4_float expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { float c; float a; uvec4 b; float c = a / b; } "" end case div_float_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; float a; uvec4 b; uvec4 c = a / b; } "" end case div_vec2_uint_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uint b; vec2 c = a / b; } "" end case div_vec2_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec2 a; uint b; uint c = a / b; } "" end case div_vec2_uvec2_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec2 b; vec2 c = a / b; } "" end case div_vec2_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec2 a; uvec2 b; uvec2 c = a / b; } "" end case div_vec2_uvec3_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec3 b; vec2 c = a / b; } "" end case div_vec2_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec2 a; uvec3 b; uvec3 c = a / b; } "" end case div_vec2_uvec4_vec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec2 c; vec2 a; uvec4 b; vec2 c = a / b; } "" end case div_vec2_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec2 a; uvec4 b; uvec4 c = a / b; } "" end case div_vec3_uint_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uint b; vec3 c = a / b; } "" end case div_vec3_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec3 a; uint b; uint c = a / b; } "" end case div_vec3_uvec2_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec2 b; vec3 c = a / b; } "" end case div_vec3_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec3 a; uvec2 b; uvec2 c = a / b; } "" end case div_vec3_uvec3_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec3 b; vec3 c = a / b; } "" end case div_vec3_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec3 a; uvec3 b; uvec3 c = a / b; } "" end case div_vec3_uvec4_vec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec3 c; vec3 a; uvec4 b; vec3 c = a / b; } "" end case div_vec3_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec3 a; uvec4 b; uvec4 c = a / b; } "" end case div_vec4_uint_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uint b; vec4 c = a / b; } "" end case div_vec4_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; vec4 a; uint b; uint c = a / b; } "" end case div_vec4_uvec2_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec2 b; vec4 c = a / b; } "" end case div_vec4_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; vec4 a; uvec2 b; uvec2 c = a / b; } "" end case div_vec4_uvec3_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec3 b; vec4 c = a / b; } "" end case div_vec4_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; vec4 a; uvec3 b; uvec3 c = a / b; } "" end case div_vec4_uvec4_vec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { vec4 c; vec4 a; uvec4 b; vec4 c = a / b; } "" end case div_vec4_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; vec4 a; uvec4 b; uvec4 c = a / b; } "" end case div_int_uint_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uint b; int c = a / b; } "" end case div_int_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; int a; uint b; uint c = a / b; } "" end case div_int_uvec2_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec2 b; int c = a / b; } "" end case div_int_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; int a; uvec2 b; uvec2 c = a / b; } "" end case div_int_uvec3_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec3 b; int c = a / b; } "" end case div_int_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; int a; uvec3 b; uvec3 c = a / b; } "" end case div_int_uvec4_int expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { int c; int a; uvec4 b; int c = a / b; } "" end case div_int_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; int a; uvec4 b; uvec4 c = a / b; } "" end case div_ivec2_uint_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uint b; ivec2 c = a / b; } "" end case div_ivec2_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec2 a; uint b; uint c = a / b; } "" end case div_ivec2_uvec2_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec2 b; ivec2 c = a / b; } "" end case div_ivec2_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec2 a; uvec2 b; uvec2 c = a / b; } "" end case div_ivec2_uvec3_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec3 b; ivec2 c = a / b; } "" end case div_ivec2_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec2 a; uvec3 b; uvec3 c = a / b; } "" end case div_ivec2_uvec4_ivec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec2 c; ivec2 a; uvec4 b; ivec2 c = a / b; } "" end case div_ivec2_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec2 a; uvec4 b; uvec4 c = a / b; } "" end case div_ivec3_uint_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uint b; ivec3 c = a / b; } "" end case div_ivec3_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec3 a; uint b; uint c = a / b; } "" end case div_ivec3_uvec2_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec2 b; ivec3 c = a / b; } "" end case div_ivec3_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec3 a; uvec2 b; uvec2 c = a / b; } "" end case div_ivec3_uvec3_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec3 b; ivec3 c = a / b; } "" end case div_ivec3_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec3 a; uvec3 b; uvec3 c = a / b; } "" end case div_ivec3_uvec4_ivec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec3 c; ivec3 a; uvec4 b; ivec3 c = a / b; } "" end case div_ivec3_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec3 a; uvec4 b; uvec4 c = a / b; } "" end case div_ivec4_uint_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uint b; ivec4 c = a / b; } "" end case div_ivec4_uint_uint expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uint c; ivec4 a; uint b; uint c = a / b; } "" end case div_ivec4_uvec2_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec2 b; ivec4 c = a / b; } "" end case div_ivec4_uvec2_uvec2 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec2 c; ivec4 a; uvec2 b; uvec2 c = a / b; } "" end case div_ivec4_uvec3_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec3 b; ivec4 c = a / b; } "" end case div_ivec4_uvec3_uvec3 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec3 c; ivec4 a; uvec3 b; uvec3 c = a / b; } "" end case div_ivec4_uvec4_ivec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { ivec4 c; ivec4 a; uvec4 b; ivec4 c = a / b; } "" end case div_ivec4_uvec4_uvec4 expect compile_fail version 300 es both "" #version 300 es precision mediump float; precision mediump int; ${DECLARATIONS} void main() { uvec4 c; ivec4 a; uvec4 b; uvec4 c = a / b; } "" end end # invalid_implicit_conversions