summaryrefslogtreecommitdiffstats
path: root/tests/playground/manyresources.frag
blob: 3f399fe1e4a85f799cac9a13e42886accf985804 (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
#version 440

layout(location = 0) in vec2 v_texcoord;

layout(location = 0) out vec4 fragColor;

layout(binding = 1) uniform sampler2D tex;
layout(binding = 2) uniform sampler2D tex2;
layout(binding = 3) uniform sampler2D tex3;

layout (binding = 4, rgba8) uniform readonly image2D image0;
layout (binding = 5, rgba8) uniform writeonly image2D image1;

layout(std140, binding = 10) buffer storageBuf {
    vec4 whatever;
} buf;

layout(std140, binding = 11) uniform buf {
    mat4 mvp;
} ubuf;

layout(std140, binding = 12) uniform buf2 {
    float f;
} ubuf2;

void main()
{
    vec4 c = texture(tex, v_texcoord) * texture(tex2, v_texcoord) * texture(tex3, v_texcoord);
    c = ubuf.mvp * c;
    c *= ubuf2.f;
    c *= buf.whatever;
    c += imageLoad(image0, ivec2(0, 0));
    imageStore(image1, ivec2(0, 0), c);
    fragColor = c;
}