summaryrefslogtreecommitdiff
path: root/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-imulExtended.shader_test
blob: beae50489f890847dc0ab932f7cb8d3dfd58e887 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[require]
GLSL >= 1.50
GL_ARB_gpu_shader5

[vertex shader passthrough]

[fragment shader]
#extension GL_ARB_gpu_shader5 : enable

out vec4 frag_color;

uniform ivec4 x, y;
uniform ivec4 expected_msb, expected_lsb;

void main()
{
	frag_color = vec4(0.0, 1.0, 0.0, 1.0);

	ivec4 msb, lsb;
	imulExtended(x, y, msb, lsb);

	if (msb != expected_msb)
		frag_color.r = 1.0;
	if (lsb != expected_lsb)
		frag_color.b = 1.0;
}

[test]
uniform ivec4 x 1 1 1 1
uniform ivec4 y 1 2 3 4
uniform ivec4 expected_msb 0 0 0 0
uniform ivec4 expected_lsb 1 2 3 4
draw rect -1 -1 2 2
probe all rgba 0.0 1.0 0.0 1.0

uniform ivec4 x -1 2 -131072 -131073
uniform ivec4 y 1 -2 131072 131073
uniform ivec4 expected_msb -1 -1 4294967292 4294967291
uniform ivec4 expected_lsb -1 -4 0 4294705151
draw rect -1 -1 2 2
probe all rgba 0.0 1.0 0.0 1.0