yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
c701ec00c
master
1//TEST:SIMPLE(filecheck=CHECK): -target spirv -emit-spirv-directly 2 3struct Foo { 4 column_major float3x2 m; 5}; 6 7struct Params { 8 Foo *foo; 9}; 10 11// CHECK: %[[PTR0:[A-Za-z0-9_]+]] = Op{{.*}}AccessChain %_ptr_PhysicalStorageBuffer__arr_v3float_int_2 %{{.*}} %int_0 12// CHECK: %[[PTR1:[A-Za-z0-9_]+]] = Op{{.*}}AccessChain %_ptr_PhysicalStorageBuffer_v3float %[[PTR0]] %int_1 13// CHECK: %[[PTR2:[A-Za-z0-9_]+]] = Op{{.*}}AccessChain %_ptr_PhysicalStorageBuffer_float %[[PTR1]] %int_2 14 15ConstantBuffer<Params> params; 16 17[shader("compute")] 18[numthreads(1,1,1)] 19void main() { 20 params.foo.m[2][1] += 1.0; 21}