yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Yong HeCompile append and consume structured buffers to glsl. (#3142)bd6dbaf7c

master
893 B41 linesraw
1#version 450
2layout(row_major) uniform;
3layout(row_major) buffer;
4layout(std430, binding = 0) buffer StructuredBuffer_int_t_0 {
5    int _data[];
6} a_0;
7layout(std430, binding = 1) buffer StructuredBuffer_int_t_1 {
8    int _data[];
9} b_0[3];
10layout(std430, binding = 2) buffer StructuredBuffer_int_t_2 {
11    int _data[];
12} c_0[4][3];
13int f_0(uint _S1)
14{
15    return a_0._data[_S1];
16}
17
18int f_1(uint _S2, uint _S3)
19{
20    return b_0[_S2]._data[_S3];
21}
22
23int g_0(uint _S4, uint _S5)
24{
25    return b_0[_S4]._data[_S5];
26}
27
28int g_1(uint _S6, uint _S7, uint _S8)
29{
30    return c_0[_S6][_S7]._data[_S8];
31}
32
33layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
34void main()
35{
36    uint ii_0 = gl_GlobalInvocationID.x;
37    uint jj_0 = gl_GlobalInvocationID.y;
38    a_0._data[ii_0] = f_0(ii_0) + f_0(jj_0) + f_1(ii_0, jj_0) + g_0(ii_0, jj_0) + g_1(ii_0, jj_0, gl_GlobalInvocationID.z);
39    return;
40}
41