]> git.tdb.fi Git - libs/gl.git/blob - tests/glsl/unsigned_int.glsl
Check the flat qualifier from the correct member
[libs/gl.git] / tests / glsl / unsigned_int.glsl
1 uniform sampler2D tex;
2 vec2 hammersley(uint i, uint count)
3 {
4         float y = bitfieldReverse(i)*2.3283064e-10;
5         return vec2(float(i)/count, y);
6 }
7 const uint sample_count = 128;
8
9 #pragma MSP stage(vertex)
10 layout(location=0) in vec4 position;
11 void main()
12 {
13         gl_Position = position;
14         out vec2 texcoord = position.xy*0.5+0.5;
15 }
16
17 #pragma MSP stage(fragment)
18 layout(location=0) out vec4 frag_color;
19 void main()
20 {
21         vec4 sum = vec4(0.0);
22         for(int i=0; i<sample_count; ++i)
23                 sum += texture(tex, texcoord+pow(hammersley(i, sample_count), vec2(2.0)));
24         frag_color = sum/sample_count;
25 }
26
27 // Target API: Vulkan
28
29 /* Expected output: vertex
30 layout(location=0) in vec4 position;
31 layout(location=0) out vec2 texcoord;
32 void main()
33 {
34         gl_Position = position;
35         texcoord = position.xy*0.5+0.5;
36 }
37 */
38
39 /* Expected output: fragment
40 layout(set=0, binding=71) uniform sampler2D tex;
41 layout(location=0) out vec4 frag_color;
42 layout(location=0) in vec2 texcoord;
43 void main()
44 {
45         vec4 sum = vec4(0.0);
46         for(int i=0; uint(i)<128u; ++i)
47         {
48                 uint i_1 = uint(i);
49                 sum += texture(tex, texcoord+pow(vec2(float(i_1)/128.0, float(bitfieldReverse(i_1))*2.3283064e-10), vec2(2.0)));
50         }
51         frag_color = sum/128.0;
52 }
53 */