1// Test register class offsets for different resource types
2
3SamplerState       s1 : register(s1);
4SamplerComparisonState s2 : register(s2);
5
6Texture1D <float4> t1 : register(t1);
7Texture2D <float4> t2 : register(t2);
8Texture3D <float4> t3 : register(t3);
9StructuredBuffer<float4> t4 : register(t4);
10ByteAddressBuffer t5 : register(t5);
11Buffer<float4> t6 : register(t6);
12
13RWTexture1D <float4> u1 : register(u1);
14RWTexture2D <float4> u2 : register(u2);
15RWTexture3D <float4> u3 : register(u3);
16
17RWBuffer <float> u4 : register(u4);
18RWByteAddressBuffer u5 : register(u5);
19RWStructuredBuffer<float> u6 : register(u6);
20AppendStructuredBuffer<float> u7 : register(u7);
21ConsumeStructuredBuffer<float> u8 : register(u8);
22
23cbuffer cb : register(b1) {
24    int cb1;
25};
26
27tbuffer tb : register(t7) {
28    int tb1;
29};
30
31float4 main() : SV_Target0
32{
33    t1;
34    t2;
35    t3;
36    t4[0];
37    t5.Load(0);
38    t6;
39
40    s1;
41    s2;
42
43    u1;
44    u2;
45    u3;
46
47    u4[0];
48    u5.Load(0);
49    u6[0];
50    u7;
51    u8;
52
53    cb1;
54    tb1;
55
56    return 0;
57}
58