yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
6437c38e0
master
1#version 450 2#extension GL_EXT_nonuniform_qualifier : require 3layout (row_major )uniform ; 4layout (row_major )buffer ; 5layout (std430 ,binding = 1 )buffer StructuredBuffer_int_t_0 { 6int _data []; 7}g_aoa_0 []; 8layout (std430 ,binding = 0 )buffer StructuredBuffer_int_t_1 { 9int _data []; 10}outputBuffer_0 ; 11layout (local_size_x = 8 ,local_size_y = 1 ,local_size_z = 1 )in ; 12void main () 13{ 14int index_0 = int (gl_GlobalInvocationID .x ); 15int innerIndex_0 = index_0 & 3 ; 16int _S1 = nonuniformEXT (index_0 >>2 ); 17uvec2 _S2 = uvec2 (g_aoa_0 [_S1 ]._data .length (),0 ); 18uint bufferCount_0 = _S2 .x ; 19int innerIndex_1 ; 20if (innerIndex_0 >=int (bufferCount_0 )) 21 { 22innerIndex_1 = int (bufferCount_0 - 1U ); 23 } 24else 25 { 26innerIndex_1 = innerIndex_0 ; 27 } 28outputBuffer_0 ._data [uint (index_0 )]= g_aoa_0 [_S1 ]._data [uint (innerIndex_1 )]; 29return ; 30}