Skip to content

Commit 6f0743c

Browse files
JoeCitizenCopilot
andauthored
Fix GroupSharedLimitASTest and GroupSharedLimitMSTest execution tests (#8351)
- Change Init="Zero" to Init="ByName" on UAVBuffer0 resources in ShaderOpArith.xml so the C++ callback fires to set shader text and resize the buffer. - Update NumElements from 128 to 4096 on UAV descriptors to match the 4096 DWORDs the shaders write. - Add dummy SV_Position write in mesh shaders to satisfy DXIL validation requirement that all output semantics have stores. Co-authored-by: Copilot <[email protected]>
1 parent cb6f0ba commit 6f0743c

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

tools/clang/unittests/HLSLExec/ExecutionTest.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10855,6 +10855,7 @@ void ExecutionTest::GroupSharedLimitASTest() {
1085510855
out vertices MeshOutput verts[3],
1085610856
out indices uint3 tris[1]) {
1085710857
SetMeshOutputCounts(0, 0);
10858+
verts[0].pos = float4(0, 0, 0, 0);
1085810859
}
1085910860

1086010861
float4 PSMain() : SV_Target { return float4(0,0,0,0); }
@@ -10914,6 +10915,7 @@ void ExecutionTest::GroupSharedLimitMSTest() {
1091410915
out vertices MeshOutput verts[3],
1091510916
out indices uint3 tris[1]) {
1091610917
SetMeshOutputCounts(0, 0);
10918+
verts[0].pos = float4(0, 0, 0, 0);
1091710919
for (uint i = GI; i < GSM_DWORDS; i += 64)
1091810920
g_shared[i] = i;
1091910921
GroupMemoryBarrierWithGroupSync();

tools/clang/unittests/HLSLExec/ShaderOpArith.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1869,13 +1869,13 @@
18691869
RootFlags(0),
18701870
DescriptorTable(UAV(u0))
18711871
</RootSignature>
1872-
<Resource Name="UAVBuffer0" Dimension="BUFFER" Width="512" InitialResourceState="COPY_DEST" Init="Zero" Flags="ALLOW_UNORDERED_ACCESS" TransitionTo="UNORDERED_ACCESS" ReadBack="true" />
1872+
<Resource Name="UAVBuffer0" Dimension="BUFFER" Width="512" InitialResourceState="COPY_DEST" Init="ByName" Flags="ALLOW_UNORDERED_ACCESS" TransitionTo="UNORDERED_ACCESS" ReadBack="true" />
18731873
<Resource Name="RTarget" Dimension="TEXTURE2D" Width="4" Height="4" Format="R8G8B8A8_UNORM" Flags="ALLOW_RENDER_TARGET" InitialResourceState="COPY_DEST" ReadBack="false" />
18741874
<RootValues>
18751875
<RootValue HeapName="ResHeap" />
18761876
</RootValues>
18771877
<DescriptorHeap Name="ResHeap" Type="CBV_SRV_UAV">
1878-
<Descriptor Name="U0" Kind="UAV" ResName="UAVBuffer0" NumElements="128" StructureByteStride="4" />
1878+
<Descriptor Name="U0" Kind="UAV" ResName="UAVBuffer0" NumElements="4096" StructureByteStride="4" />
18791879
</DescriptorHeap>
18801880
<DescriptorHeap Name="RtvHeap" NumDescriptors="1" Type="RTV">
18811881
<Descriptor Name="RTarget" Kind="RTV" />
@@ -1895,13 +1895,13 @@
18951895
RootFlags(0),
18961896
DescriptorTable(UAV(u0))
18971897
</RootSignature>
1898-
<Resource Name="UAVBuffer0" Dimension="BUFFER" Width="512" InitialResourceState="COPY_DEST" Init="Zero" Flags="ALLOW_UNORDERED_ACCESS" TransitionTo="UNORDERED_ACCESS" ReadBack="true" />
1898+
<Resource Name="UAVBuffer0" Dimension="BUFFER" Width="512" InitialResourceState="COPY_DEST" Init="ByName" Flags="ALLOW_UNORDERED_ACCESS" TransitionTo="UNORDERED_ACCESS" ReadBack="true" />
18991899
<Resource Name="RTarget" Dimension="TEXTURE2D" Width="4" Height="4" Format="R8G8B8A8_UNORM" Flags="ALLOW_RENDER_TARGET" InitialResourceState="COPY_DEST" ReadBack="false" />
19001900
<RootValues>
19011901
<RootValue HeapName="ResHeap" />
19021902
</RootValues>
19031903
<DescriptorHeap Name="ResHeap" Type="CBV_SRV_UAV">
1904-
<Descriptor Name="U0" Kind="UAV" ResName="UAVBuffer0" NumElements="128" StructureByteStride="4" />
1904+
<Descriptor Name="U0" Kind="UAV" ResName="UAVBuffer0" NumElements="4096" StructureByteStride="4" />
19051905
</DescriptorHeap>
19061906
<DescriptorHeap Name="RtvHeap" NumDescriptors="1" Type="RTV">
19071907
<Descriptor Name="RTarget" Kind="RTV" />

0 commit comments

Comments
 (0)