yum-mirror/slang

Making it easier to work with shaders

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

James Helferty (NVIDIA)render-test: Change D3D12 default to sm_6_5 (#8320)f02b08490

master
2.1 KiB103 linesraw
1//DISABLE_TEST:SIMPLE(filecheck=CHECK): -target glsl -stage compute -entry computeMain
2// CHECK-COUNT-6: {{.* }}= 0U;
3
4//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX(filecheck-buffer=BUF):-vk -compute -entry computeMain -allow-glsl
5//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX(filecheck-buffer=BUF):-vk -compute -entry computeMain -emit-spirv-directly -allow-glsl
6//DISABLE_TEST(compute, vulkan):COMPARE_COMPUTE_EX(filecheck-buffer=BUF):-cpu -compute -entry computeMain -allow-glsl
7//DISABLE_TEST(smoke,compute):COMPARE_COMPUTE_EX(filecheck-buffer=BUF):-dx12 -compute -entry computeMain -allow-glsl -profile sm_6_2 -xslang -DDX12
8
9//TEST_INPUT:ubuffer(data=[0], stride=4):out,name=outputBuffer
10RWStructuredBuffer<int> outputBuffer;
11
12struct idefault1 : IDefaultInitializable
13{
14    uint data;
15};
16
17struct idefault2_base : IDefaultInitializable
18{
19    uint data1;
20};
21struct idefault2 : idefault2_base
22{
23    uint data2 = 1;
24};
25
26interface idefault3_base : IDefaultInitializable
27{
28};
29struct idefault3 : idefault3_base
30{
31    uint data;
32};
33
34struct idefault4
35{
36    uint data;
37};
38
39extension idefault4 : IDefaultInitializable
40{
41}
42
43struct idefault5_base : IDefaultInitializable
44{
45    uint data1;
46};
47
48struct idefault5 : idefault5_base
49{
50    uint data2;
51};
52
53idefault1 getDefault1()
54{
55    idefault1 default1;
56    return default1;
57}
58idefault2 getDefault2()
59{
60    idefault2 default2;
61    return default2;
62}
63idefault3 getDefault3()
64{
65    idefault3 default3;
66    return default3;
67}
68idefault4 getDefault4()
69{
70    idefault4 default4;
71    return default4;   
72}
73
74idefault5 getDefault5()
75{
76    idefault5 default5;
77    return default5;
78}
79
80[numthreads(1, 1, 1)]
81void computeMain(int3 dispatchThreadID: SV_DispatchThreadID)
82{
83    // BUF: 1
84    idefault1 default1 = getDefault1();
85    idefault2 default2 = getDefault2();
86    idefault3 default3 = getDefault3();
87    idefault4 default4 = getDefault4();
88    idefault5 default5 = getDefault5();
89
90    outputBuffer[0] = true
91        && default1.data == 0
92
93        && default2.data1 == 0
94        && default2.data2 == 1
95
96        && default3.data == 0
97
98        && default4.data == 0
99
100        && default5.data1 == 0
101        && default5.data2 == 0
102        ;
103}