yum-mirror/slang

Making it easier to work with shaders

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

Yong HeRewriting the lower-buffer-element-type pass to avoid unnecessary packing/unpacking. (#8526)a6deb5ed8

master
489 B24 linesraw
1//TEST:SIMPLE(filecheck=CHECK): -target spirv
2
3// CHECK: OpLoad {{.*}} Aligned 8
4// CHECK: OpStore {{.*}} Aligned 16
5
6// CHECK: OpLoad {{.*}} Aligned 16
7// CHECK: OpStore {{.*}} Aligned 16
8
9uniform float4* data;
10
11struct C { float4 v0; float4 v1; }
12uniform C* data2;
13
14
15[numthreads(1,1,1)]
16void computeMain()
17{
18    var v = loadAligned<8>((float2x4*)data);
19    storeAligned<16>((float2x4*)data+1, v);
20
21    var v1 = loadAligned<16>(data2);
22    v1.v0 += 1.0f;
23    storeAligned<16>(data2, v1);
24}