yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Yong HeAdd checking for hlsl register semantic. (#7118)0d6312f3b

master
1.9 KiB56 linesraw
1//TEST:SIMPLE(filecheck=CHECK): -target spirv
2
3struct Test_t
4{
5    uint4 foo;
6};
7
8// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
9RWStructuredBuffer< Test_t > g_Test : register(t0, space1);
10
11// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
12ConstantBuffer< Test_t > g_Test2 : register(t1, space1);
13
14// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
15StructuredBuffer< Test_t > g_Test3 : register(u2, space1);
16
17// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
18ByteAddressBuffer g_Test4 : register(u3, space1);
19
20// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
21RWTexture2D g_Test5 : register(t4, space1);
22
23// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
24Texture2D g_Test6 : register(u5, space1);
25
26// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
27FeedbackTexture2D g_Test7 : register(t6, space1);
28
29// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
30AppendStructuredBuffer< Test_t > g_Test8 : register(t7, space1);
31
32// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
33ConsumeStructuredBuffer< Test_t > g_Test9 : register(t8, space1);
34
35// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
36RWByteAddressBuffer g_Test10 : register(t9, space1);
37
38// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
39RasterizerOrderedByteAddressBuffer g_Test11 : register(t10, space1);
40
41// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
42SamplerState g_Test12 : register(t11, space1);
43
44// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
45SamplerComparisonState g_Test13 : register(t12, space1);
46
47// CHECK: ([[# @LINE+1]]): error 31222: invalid HLSL register name
48RaytracingAccelerationStructure g_Test14 : register(u13, space1);
49
50[numthreads(1,1,1)]
51void computeMain()
52{
53    Test_t test;
54    test.foo = uint4( 0, 0, 0, 0 );
55    g_Test[0] = test;
56}