ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_compute_shader / execution / multiple-texture-reading.shader_test
blobcfb330ea69cd02a8f619353432ff984af8fe94da
1 # Verify reading from multiple images
3 [require]
4 GL >= 3.3
5 GLSL >= 3.30
6 GL_ARB_compute_shader
7 GL_ARB_shader_image_load_store
9 [compute shader]
10 #version 330
11 #extension GL_ARB_compute_shader: enable
12 #extension GL_ARB_shader_image_load_store: enable
14 uniform int select_textures;
15 layout(rgba8) readonly uniform image2D src0;
16 layout(rgba8) readonly uniform image2D src1;
17 writeonly uniform image2D dst;
19 layout(local_size_x = 16, local_size_y = 16) in;
21 void main()
23         ivec2 coord = ivec2(gl_GlobalInvocationID.xy);
24         vec4 color = vec4(0, 0, 0, 0);
25         if ((select_textures & 1) == 1) {
26                 color += imageLoad(src0, coord);
27         }
28         if ((select_textures & 2) == 2) {
29                 color += imageLoad(src1, coord);
30         }
31         imageStore(dst, coord, color);
34 [test]
35 # Setup src0 image
36 texture rgbw 0 (16, 16) GL_RGBA8
37 uniform int src0 0
38 image texture 0 GL_RGBA8
39 fb tex 2d 0
40 clear color 1.0 0.0 1.0 0.0
41 clear
43 # Setup src1 image
44 texture rgbw 1 (16, 16) GL_RGBA8
45 uniform int src1 1
46 image texture 1 GL_RGBA8
47 fb tex 2d 1
48 clear color 0.0 1.0 0.0 1.0
49 clear
51 # Setup dst image
52 texture rgbw 2 (16, 16) GL_RGBA8
53 uniform int dst 2
54 image texture 2 GL_RGBA8
55 fb tex 2d 2
57 # Clear dst image to not have the same color as the first test case
58 clear color 0.5 0.5 0.5 0.5
59 clear
60 probe all rgba 0.5 0.5 0.5 0.5
62 # Use neither source image
63 uniform int select_textures 0
64 compute 1 1 1
65 probe all rgba 0.0 0.0 0.0 0.0
67 # Use src0 image only
68 uniform int select_textures 1
69 compute 1 1 1
70 probe all rgba 1.0 0.0 1.0 0.0
72 # Use src1 image only
73 uniform int select_textures 2
74 compute 1 1 1
75 probe all rgba 0.0 1.0 0.0 1.0
77 # Use both src0 and src1 images
78 uniform int select_textures 3
79 compute 1 1 1
80 probe all rgba 1.0 1.0 1.0 1.0