1617a3babSopenharmony_ci// Test register class offsets for different resource types
2617a3babSopenharmony_ci
3617a3babSopenharmony_ciSamplerState       s1 : register(s1, space1);
4617a3babSopenharmony_ciSamplerComparisonState s2 : register(s2, space2);
5617a3babSopenharmony_ci
6617a3babSopenharmony_ciTexture1D <float4> t1 : register(t1, space1);
7617a3babSopenharmony_ciTexture2D <float4> t2 : register(t2, space1);
8617a3babSopenharmony_ciTexture3D <float4> t3 : register(t1, space2);
9617a3babSopenharmony_ciTexture3D <float4> ts6 : register(t1, space6);
10617a3babSopenharmony_ciStructuredBuffer<float4> t4 : register(t1, space3);
11617a3babSopenharmony_ci
12617a3babSopenharmony_ciByteAddressBuffer t5 : register(t2, space3);
13617a3babSopenharmony_ciBuffer<float4> t6 : register(t3, space3);
14617a3babSopenharmony_ci
15617a3babSopenharmony_ciRWTexture1D <float4> u1 : register(u1, space1);
16617a3babSopenharmony_ciRWTexture2D <float4> u2 : register(u2, space2);
17617a3babSopenharmony_ciRWTexture3D <float4> u3 : register(u3, space2);
18617a3babSopenharmony_ci
19617a3babSopenharmony_ciRWBuffer <float> u4 : register(u4, space1);
20617a3babSopenharmony_ciRWByteAddressBuffer u5 : register(u4, space2);
21617a3babSopenharmony_ciRWStructuredBuffer<float> u6 : register(u4, space3);
22617a3babSopenharmony_ciAppendStructuredBuffer<float> u7 : register(u4, space4);
23617a3babSopenharmony_ciConsumeStructuredBuffer<float> u8 : register(u4, space5);
24617a3babSopenharmony_ci
25617a3babSopenharmony_cicbuffer cb : register(b1, space6) {
26617a3babSopenharmony_ci    int cb1;
27617a3babSopenharmony_ci};
28617a3babSopenharmony_ci
29617a3babSopenharmony_citbuffer tb : register(t7) {
30617a3babSopenharmony_ci    int tb1;
31617a3babSopenharmony_ci};
32617a3babSopenharmony_ci
33617a3babSopenharmony_cifloat4 main() : SV_Target0
34617a3babSopenharmony_ci{
35617a3babSopenharmony_ci    t1;
36617a3babSopenharmony_ci    t2;
37617a3babSopenharmony_ci    t3;
38617a3babSopenharmony_ci    t4[0];
39617a3babSopenharmony_ci    t5.Load(0);
40617a3babSopenharmony_ci    t6;
41617a3babSopenharmony_ci
42617a3babSopenharmony_ci    s1;
43617a3babSopenharmony_ci    s2;
44617a3babSopenharmony_ci
45617a3babSopenharmony_ci    u1;
46617a3babSopenharmony_ci    u2;
47617a3babSopenharmony_ci    u3;
48617a3babSopenharmony_ci
49617a3babSopenharmony_ci    u4[0];
50617a3babSopenharmony_ci    u5.Load(0);
51617a3babSopenharmony_ci    u6[0];
52617a3babSopenharmony_ci    u7;
53617a3babSopenharmony_ci    u8;
54617a3babSopenharmony_ci
55617a3babSopenharmony_ci    cb1;
56617a3babSopenharmony_ci    tb1;
57617a3babSopenharmony_ci    ts6;
58617a3babSopenharmony_ci
59617a3babSopenharmony_ci    return 0;
60617a3babSopenharmony_ci}
61