2
2
3
3
// CHECK: define internal void @_init_resource_U0S0()
4
4
// CHECK: %U0S0_h = call target("dx.TypedBuffer", <4 x float>, 1, 0, 0) @llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_v4f32_1_0_0t(i32 0, i32 0, i32 1, i32 0, i1 false)
5
+ // CHECK: store target("dx.TypedBuffer", <4 x float>, 1, 0, 0) %U0S0_h, ptr @U0S0, align 4
5
6
RWBuffer <float4 > U0S0 : register (u0);
6
7
7
8
// CHECK: define internal void @_init_resource_U5S3()
8
9
// CHECK: %U5S3_h = call target("dx.TypedBuffer", float, 1, 0, 0) @llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_f32_1_0_0t(i32 3, i32 5, i32 1, i32 0, i1 false)
10
+ // CHECK: store target("dx.TypedBuffer", float, 1, 0, 0) %U5S3_h, ptr @U5S3, align 4
9
11
RWBuffer <float > U5S3 : register (u5, space3);
10
12
11
13
// CHECK: define internal void @_init_resource_T2S2()
12
14
// CHECK: %T2S2_h = call target("dx.RawBuffer", i32, 0, 0) @llvm.dx.resource.handlefrombinding.tdx.RawBuffer_i32_0_0t(i32 2, i32 2, i32 1, i32 0, i1 false)
15
+ // CHECK: store target("dx.RawBuffer", i32, 0, 0) %T2S2_h, ptr @T2S2, align 4
13
16
StructuredBuffer<int > T2S2 : register (t2, space2);
14
17
struct S {
15
18
float4 f;
@@ -18,6 +21,7 @@ struct S {
18
21
19
22
// CHECK: define internal void @_init_resource_T3S0()
20
23
// CHECK: %T3S0_h = call target("dx.RawBuffer", %struct.S, 0, 0) @llvm.dx.resource.handlefrombinding.tdx.RawBuffer_s_struct.Ss_0_0t(i32 0, i32 3, i32 1, i32 0, i1 false)
24
+ // CHECK: store target("dx.RawBuffer", %struct.S, 0, 0) %T3S0_h, ptr @T3S0, align 4
21
25
StructuredBuffer<S> T3S0 : register (t3);
22
26
23
27
// CHECK: define void @main()
0 commit comments