summaryrefslogtreecommitdiffstats
path: root/tests/spirv/aligned-load-store.slang
blob: c2f50b66c5a3bb67fe983877087f776d7dcc4a6f (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
//TEST:SIMPLE(filecheck=CHECK): -target spirv

// CHECK: OpLoad {{.*}} Aligned 8
// CHECK: OpStore {{.*}} Aligned 16

// CHECK: OpLoad {{.*}} Aligned 16
// CHECK: OpLoad {{.*}} Aligned 16
// CHECK: OpStore {{.*}} Aligned 16
// CHECK: OpStore {{.*}} Aligned 16

uniform float4* data;

struct C { float4 v0; float4 v1; }
uniform C* data2;


[numthreads(1,1,1)]
void computeMain()
{
    var v = loadAligned<8>((float2x4*)data);
    storeAligned<16>((float2x4*)data+1, v);

    var v1 = loadAligned<16>(data2);
    v1.v0 += 1.0f;
    storeAligned<16>(data2, v1);
}