@@ -7,13 +7,13 @@ RWStructuredBuffer<uint4> Out : register(u1);
7
7
void main() {
8
8
// vec4
9
9
Out[0] = AddUint64(In[0], In[0]);
10
- Out[1] = AddUint64(uint4(1, 0, 1, 256), uint4(1, 0, 1, 256));
11
10
12
11
// vec2
13
12
uint4 Tmp = {AddUint64(In[1].xy, In[1].xy), AddUint64(In[1].zw, In[1].zw)};
14
- Out[2 ] = Tmp;
13
+ Out[1 ] = Tmp;
15
14
uint4 Tmp2 = {AddUint64(In[2].xy, In[2].xy), AddUint64(In[2].zw, In[2].zw)};
16
- Out[3] = Tmp2;
15
+ Out[2] = Tmp2;
16
+ Out[3].xy = AddUint64(uint2(0xffffffff, 0xffffffff), uint2(1, 0)); // overflow test
17
17
}
18
18
19
19
//--- pipeline.yaml
@@ -36,8 +36,8 @@ Buffers:
36
36
- Name: ExpectedOut # The result we expect
37
37
Format: UInt32
38
38
Stride: 16
39
- Data: [ 2, 0, 2, 512, 2, 0, 2, 512, 20000, 20002, 0, 3, 0xfffffffe, 0xfffffffe, 0xfffffffe, 0xffffffff ]
40
- # 2, 0, 2, 512, 2, 0, 2, 512, 20000, 20002, 0, 3, 4294967294, 4294967294, 4294967294, 4294967295
39
+ Data: [ 2, 0, 2, 512, 20000, 20002, 0, 3, 0xfffffffe, 0xfffffffe, 0xfffffffe, 0xffffffff, 0, 0, 0, 0 ] # Last two are filler
40
+ # 2, 0, 2, 512, 20000, 20002, 0, 3, 4294967294, 4294967294, 4294967294, 4294967295, 0, 0, 0, 0
41
41
Results:
42
42
- Result: Test1
43
43
Rule: BufferExact
@@ -64,6 +64,15 @@ DescriptorSets:
64
64
65
65
# https://github.com/llvm/llvm-project/issues/149345
66
66
# XFAIL: Clang-DirectX
67
+ # XFAIL: Clang-Metal
68
+
69
+ # https://github.com/llvm/llvm-project/issues/149919
70
+ # XFAIL: Clang-Vulkan
71
+
72
+ # https://github.com/llvm/offload-test-suite/issues/292
73
+ # XFAIL: DXC-Metal
74
+
75
+ # UNSUPPORTED: DXC-Vulkan
67
76
68
77
# RUN: split-file %s %t
69
78
# RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl
0 commit comments