Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / spv.1.4.image.frag
1 #version 450\r
2 \r
3 layout(rgba32f, binding = 1)    uniform  image2D         i2D;\r
4 layout(r32i,   binding = 12)    uniform iimage2D        ii2D;\r
5 layout(r32ui,   binding = 12)   uniform uimage2D        ui2D;\r
6 \r
7 layout(rgba32f, binding = 9)    uniform  image2DMS     i2DMS;\r
8 layout(r32i,    binding = 13)   uniform iimage2DMS    ii2DMS;\r
9 layout(r32ui,    binding = 13)  uniform uimage2DMS    ui2DMS;\r
10 \r
11 flat in ivec2 ic2D;\r
12 flat in uint value;\r
13 \r
14 out vec4 fragData;\r
15 \r
16 void main()\r
17 {\r
18     vec4 v = vec4(0.0);\r
19     ivec4 iv = ivec4(0.0);\r
20     uvec4 uv = uvec4(0.0);\r
21 \r
22     v += imageLoad(i2D, ic2D);\r
23     imageStore(i2D, ic2D, v);\r
24     v += imageLoad(ii2D, ic2D);\r
25     imageStore(ii2D, ic2D, iv);\r
26     v += imageLoad(ui2D, ic2D);\r
27     imageStore(ui2D, ic2D, uv);\r
28 \r
29     v += imageLoad(i2DMS, ic2D, 1);\r
30     imageStore(i2DMS, ic2D, 2, v);\r
31     v += imageLoad(ii2DMS, ic2D, 1);\r
32     imageStore(ii2DMS, ic2D, 2, iv);\r
33     v += imageLoad(ui2DMS, ic2D, 1);\r
34     imageStore(ui2DMS, ic2D, 2, uv);\r
35 \r
36     fragData = v;\r
37 }\r
38 \r