ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / mesa_shader_integer_functions / execution / built-in-functions / vs-imulExtended-nonuniform.shader_test
bloba531fde65d1d94dd6f6335839041cbfc3621d442
1 [require]
2 GLSL >= 1.30
3 GL_MESA_shader_integer_functions
5 [vertex shader]
6 #extension GL_MESA_shader_integer_functions : enable
8 in vec4 piglit_vertex;
9 out vec4 color;
11 uniform int zero;
12 uniform ivec4 x, y;
13 uniform ivec4 expected_msb, expected_lsb;
15 void main()
17         gl_Position = piglit_vertex;
19         color = vec4(0.0, 1.0, 0.0, 1.0);
21         ivec4 xx = x + zero;
22         ivec4 yy = y + zero;
23         ivec4 msb, lsb;
24         imulExtended(xx, yy, msb, lsb);
26         if (msb != expected_msb)
27                 color.r = 1.0;
28         if (lsb != expected_lsb)
29                 color.b = 1.0;
32 [fragment shader]
33 in vec4 color;
34 out vec4 frag_color;
36 void main()
38         frag_color = color;
41 [test]
42 uniform int zero 0
43 uniform ivec4 x 1 1 1 1
44 uniform ivec4 y 1 2 3 4
45 uniform ivec4 expected_msb 0 0 0 0
46 uniform ivec4 expected_lsb 1 2 3 4
47 draw rect -1 -1 2 2
48 probe all rgba 0.0 1.0 0.0 1.0
50 uniform ivec4 x -1 2 -131072 -131073
51 uniform ivec4 y 1 -2 131072 131073
52 uniform ivec4 expected_msb -1 -1 -4 -5
53 uniform ivec4 expected_lsb -1 -4 0 -262145
54 draw rect -1 -1 2 2
55 probe all rgba 0.0 1.0 0.0 1.0