ARB_ubo/referenced-by-shader: pass if shader compiler moves UBOs between shaders
[piglit.git] / tests / spec / mesa_shader_integer_functions / compiler / implicit-conversions-02.vert
blob64a4bf8a834210c821cec7dd125fe07227a3e0a2
1 // [config]
2 // expect_result: pass
3 // glsl_version: 1.30
4 // require_extensions: GL_MESA_shader_integer_functions
5 // [end config]
7 // Test implicit conversions from MESA_shader_integer_functions in function parameter handling.
10 #version 130
11 #extension GL_MESA_shader_integer_functions : enable
13 int _int = 0;
14 ivec2 _ivec2 = ivec2(0);
15 ivec3 _ivec3 = ivec3(0);
16 ivec4 _ivec4 = ivec4(0);
18 uint _uint = 0u;
19 uvec2 _uvec2 = uvec2(0u);
20 uvec3 _uvec3 = uvec3(0u);
21 uvec4 _uvec4 = uvec4(0u);
23 float _float = 0.0f;
24 vec2 _vec2 = vec2(0.0f);
25 vec3 _vec3 = vec3(0.0f);
26 vec4 _vec4 = vec4(0.0f);
29 void f_uint(uint x) {}
30 void f_uvec2(uvec2 x) {}
31 void f_uvec3(uvec3 x) {}
32 void f_uvec4(uvec4 x) {}
34 void f_float(float x) {}
35 void f_vec2(vec2 x) {}
36 void f_vec3(vec3 x) {}
37 void f_vec4(vec4 x) {}
40 void test() {
42         /* int can be converted to uint and to float (and for vectors of same) */
43         f_uint(_int);
44         f_float(_int);
46         f_uvec2(_ivec2);
47         f_vec2(_ivec2);
49         f_uvec3(_ivec3);
50         f_vec3(_ivec3);
52         f_uvec4(_ivec4);
53         f_vec4(_ivec4);
55         /* uint can be converted to float (and for vectors of same) */
56         f_float(_uint);
58         f_vec2(_uvec2);
60         f_vec3(_uvec3);
62         f_vec4(_uvec4);