From 214d3f766fe94da4be521c787917fefd9b0c230c Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Mon, 7 Apr 2025 11:07:03 +0100 Subject: [PATCH] Add D3D12_Workgroup_Zoo unit tests for subgroup Broadcast ops WaveReadLaneFirst() WaveReadLaneAt() --- util/test/demos/d3d12/d3d12_subgroup_zoo.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/util/test/demos/d3d12/d3d12_subgroup_zoo.cpp b/util/test/demos/d3d12/d3d12_subgroup_zoo.cpp index 8246e33cd..fcaa4e492 100644 --- a/util/test/demos/d3d12/d3d12_subgroup_zoo.cpp +++ b/util/test/demos/d3d12/d3d12_subgroup_zoo.cpp @@ -297,6 +297,17 @@ void main(uint3 inTid : SV_DispatchThreadID) data.w = countbits(ballot.x) + countbits(ballot.y) + countbits(ballot.z) + countbits(ballot.w); } } + else if(IsTest(11)) + { + // Broadcast functions : unit tests + if (id >= 2 && id <= 20) + { + data.x = WaveReadLaneFirst(id); + data.y = WaveReadLaneAt(id, 5); + data.z = WaveReadLaneAt(id, id); + data.w = WaveReadLaneAt(data.x, 2+id%3); + } + } SetOuput(data); }