Skip to content

Commit 5d628ee

Browse files
committed
Add test case with user defined struct
1 parent b8a4722 commit 5d628ee

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
// likely change once subscript operators are properly implemented (llvm/llvm-project#95956)
55
// and theinterim field of the contained type is removed.
66

7+
struct MyStruct {
8+
float4 a;
9+
int2 b;
10+
};
11+
712
// CHECK: %"class.hlsl::RasterizerOrderedStructuredBuffer" = type <{ target("dx.RawBuffer", i16, 1, 1)
813
// CHECK: %"class.hlsl::RasterizerOrderedStructuredBuffer.0" = type <{ target("dx.RawBuffer", i16, 1, 1)
914
// CHECK: %"class.hlsl::RasterizerOrderedStructuredBuffer.2" = type { target("dx.RawBuffer", i32, 1, 1)
@@ -17,6 +22,7 @@
1722
// CHECK: %"class.hlsl::RasterizerOrderedStructuredBuffer.11" = type { target("dx.RawBuffer", <3 x i32>, 1, 1)
1823
// CHECK: %"class.hlsl::RasterizerOrderedStructuredBuffer.12" = type { target("dx.RawBuffer", <2 x half>, 1, 1)
1924
// CHECK: %"class.hlsl::RasterizerOrderedStructuredBuffer.13" = type { target("dx.RawBuffer", <3 x float>, 1, 1)
25+
// CHECK: %"class.hlsl::RasterizerOrderedStructuredBuffer.14" = type { target("dx.RawBuffer", %struct.MyStruct = type { <4 x float>, <2 x i32>, [8 x i8] }, 1, 1)
2026

2127
RasterizerOrderedStructuredBuffer<int16_t> BufI16;
2228
RasterizerOrderedStructuredBuffer<uint16_t> BufU16;
@@ -37,6 +43,7 @@ RasterizerOrderedStructuredBuffer<float3> BufF32x3;
3743
// TODO: RasterizerOrderedStructuredBuffer<unorm float> BufUNormF32;
3844
// TODO: RasterizerOrderedStructuredBuffer<snorm double> BufSNormF64;
3945
// TODO: RasterizerOrderedStructuredBuffer<unorm double> BufUNormF64;
46+
RasterizerOrderedStructuredBuffer<MyStruct> BufMyStruct;
4047

4148
[numthreads(1,1,1)]
4249
void main(int GI : SV_GroupIndex) {
@@ -53,6 +60,7 @@ void main(int GI : SV_GroupIndex) {
5360
BufU32x3[GI] = 0;
5461
BufF16x2[GI] = 0;
5562
BufF32x3[GI] = 0;
63+
BufMyStruct[GI] = {{0,0,0,0},{0,0}};
5664
}
5765

5866
// CHECK: !{{[0-9]+}} = !{ptr @BufI16, i32 10, i32 2,

0 commit comments

Comments
 (0)