Skip to content

Commit 684e0e0

Browse files
adding missing tests
1 parent 485fa68 commit 684e0e0

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
// EMPTY: CXXRecordDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> implicit <undeserialized declarations> class [[RESOURCE]]
2626
// EMPTY-NEXT: FinalAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit final
2727

28-
// There should be no more occurrences of ByteAddressBuffer
29-
// EMPTY-NOT: {{[^[:alnum:]]}}ByteAddressBuffer
28+
// There should be no more occurrences of RESOURCE
29+
// EMPTY-NOT: {{[^[:alnum:]]}}[[RESOURCE]]
3030

3131
#ifndef EMPTY
3232

clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,27 @@
33

44
// NOTE: SPIRV codegen for resource types is not yet implemented
55

6-
ByteAddressBuffer Buffer: register(t0);
6+
ByteAddressBuffer Buffer0: register(t0);
7+
RWByteAddressBuffer Buffer1: register(u1, space2);
8+
RasterizerOrderedByteAddressBuffer Buffer2: register(u3, space4);
79

810
// CHECK: "class.hlsl::ByteAddressBuffer" = type { target("dx.RawBuffer", i8, 0, 0) }
11+
// CHECK: "class.hlsl::RWByteAddressBuffer" = type { target("dx.RawBuffer", i8, 1, 0) }
12+
// CHECK: "class.hlsl::RasterizerOrderedByteAddressBuffer" = type { target("dx.RawBuffer", i8, 1, 1) }
913

10-
// CHECK: @Buffer = global %"class.hlsl::ByteAddressBuffer" zeroinitializer, align 4
14+
// CHECK: @Buffer0 = global %"class.hlsl::ByteAddressBuffer" zeroinitializer, align 4
15+
// CHECK: @Buffer1 = global %"class.hlsl::RWByteAddressBuffer" zeroinitializer, align 4
16+
// CHECK: @Buffer2 = global %"class.hlsl::RasterizerOrderedByteAddressBuffer" zeroinitializer, align 4
1117

1218
// CHECK: define internal void @_GLOBAL__sub_I_ByteAddressBuffers_constructors.hlsl()
1319
// CHECK: entry:
1420
// CHECK: call void @_init_resource_bindings()
1521

1622
// CHECK: define internal void @_init_resource_bindings() {
1723
// CHECK-NEXT: entry:
18-
// CHECK-DXIL-NEXT: %Buffer_h = call target("dx.RawBuffer", i8, 0, 0) @llvm.dx.handle.fromBinding.tdx.RawBuffer_i8_0_0t(i32 0, i32 0, i32 1, i32 0, i1 false)
19-
// CHECK-DXIL-NEXT: store target("dx.RawBuffer", i8, 0, 0) %Buffer_h, ptr @Buffer, align 4
24+
// CHECK-DXIL-NEXT: %Buffer0_h = call target("dx.RawBuffer", i8, 0, 0) @llvm.dx.handle.fromBinding.tdx.RawBuffer_i8_0_0t(i32 0, i32 0, i32 1, i32 0, i1 false)
25+
// CHECK-DXIL-NEXT: store target("dx.RawBuffer", i8, 0, 0) %Buffer0_h, ptr @Buffer0, align 4
26+
// CHECK-DXIL-NEXT: %Buffer1_h = call target("dx.RawBuffer", i8, 1, 0) @llvm.dx.handle.fromBinding.tdx.RawBuffer_i8_1_0t(i32 2, i32 1, i32 1, i32 0, i1 false)
27+
// CHECK-DXIL-NEXT: store target("dx.RawBuffer", i8, 1, 0) %Buffer1_h, ptr @Buffer1, align 4
28+
// CHECK-DXIL-NEXT: %Buffer2_h = call target("dx.RawBuffer", i8, 1, 1) @llvm.dx.handle.fromBinding.tdx.RawBuffer_i8_1_1t(i32 4, i32 3, i32 1, i32 0, i1 false)
29+
// CHECK-DXIL-NEXT: store target("dx.RawBuffer", i8, 1, 1) %Buffer2_h, ptr @Buffer2, align 4

0 commit comments

Comments
 (0)