From aae926ab803115e0ba32882876ed9dfcec352e5a Mon Sep 17 00:00:00 2001 From: Sarah Spall Date: Wed, 5 Nov 2025 16:59:20 -0800 Subject: [PATCH 1/3] set wave size --- test/Feature/MaximalReconvergence/loop_peeling.test | 12 ++---------- .../subgroup_uniform_control_flow.test | 9 ++------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/test/Feature/MaximalReconvergence/loop_peeling.test b/test/Feature/MaximalReconvergence/loop_peeling.test index 6fa30491..66f7f63e 100644 --- a/test/Feature/MaximalReconvergence/loop_peeling.test +++ b/test/Feature/MaximalReconvergence/loop_peeling.test @@ -1,6 +1,7 @@ #--- source.hlsl RWStructuredBuffer Out : register(u0); +[WaveSize(8,128)] [numthreads(8,1,1)] void main(uint3 TID : SV_GroupThreadID) { for (uint i = 0; i < 8; i++) { @@ -36,17 +37,8 @@ DescriptorSets: #--- end # UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence -# BUG: https://github.com/llvm/llvm-project/issues/164496 -# XFAIL: Clang && Vulkan - -# BUG: https://github.com/llvm/offload-test-suite/issues/490 -# XFAIL: WARP && DirectX && Clang - -# BUG: https://github.com/llvm/llvm-project/issues/165288 -# XFAIL: !WARP && Clang && (DirectX || Metal) - # RUN: split-file %s %t -# RUN: %dxc_target -T cs_6_5 -fspv-enable-maximal-reconvergence -Fo %t.o %t/source.hlsl +# RUN: %dxc_target -T cs_6_6 -fspv-enable-maximal-reconvergence -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o | FileCheck %s # CHECK: Name: Out diff --git a/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test b/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test index 3af12646..4b09483e 100644 --- a/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test +++ b/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test @@ -1,6 +1,7 @@ #--- source.hlsl RWStructuredBuffer Out : register(u0); +[WaveSize(8,128)] [numthreads(8,1,1)] void main(uint3 TID : SV_GroupThreadID) { // First non-uniform branch @@ -44,14 +45,8 @@ DescriptorSets: #--- end # UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence -# BUG: https://github.com/llvm/offload-test-suite/issues/490 -# XFAIL: WARP && DirectX - -# BUG: https://github.com/llvm/llvm-project/issues/165288 -# XFAIL: !WARP && Clang && (DirectX || Metal) - # RUN: split-file %s %t -# RUN: %dxc_target -T cs_6_0 -fspv-enable-maximal-reconvergence -Fo %t.o %t/source.hlsl +# RUN: %dxc_target -T cs_6_6 -fspv-enable-maximal-reconvergence -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o | FileCheck %s # CHECK: Name: Out From 11d09f74bb0dea3ae8ae9a46335f750860f41f36 Mon Sep 17 00:00:00 2001 From: Sarah Spall Date: Wed, 5 Nov 2025 17:07:09 -0800 Subject: [PATCH 2/3] thats what i get for not compiling locally --- test/Feature/MaximalReconvergence/loop_peeling.test | 2 +- .../MaximalReconvergence/subgroup_uniform_control_flow.test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/Feature/MaximalReconvergence/loop_peeling.test b/test/Feature/MaximalReconvergence/loop_peeling.test index 66f7f63e..f123baa7 100644 --- a/test/Feature/MaximalReconvergence/loop_peeling.test +++ b/test/Feature/MaximalReconvergence/loop_peeling.test @@ -1,7 +1,7 @@ #--- source.hlsl RWStructuredBuffer Out : register(u0); -[WaveSize(8,128)] +[WaveSize(8)] [numthreads(8,1,1)] void main(uint3 TID : SV_GroupThreadID) { for (uint i = 0; i < 8; i++) { diff --git a/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test b/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test index 4b09483e..12ffa710 100644 --- a/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test +++ b/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test @@ -1,7 +1,7 @@ #--- source.hlsl RWStructuredBuffer Out : register(u0); -[WaveSize(8,128)] +[WaveSize(8)] [numthreads(8,1,1)] void main(uint3 TID : SV_GroupThreadID) { // First non-uniform branch From 279723f5e962581b9e1cd5cd706f6242dba13e50 Mon Sep 17 00:00:00 2001 From: Sarah Spall Date: Wed, 5 Nov 2025 17:24:01 -0800 Subject: [PATCH 3/3] hardware does not like when you tell them the wavesize and its too small --- test/Feature/MaximalReconvergence/loop_peeling.test | 4 ++-- .../MaximalReconvergence/subgroup_uniform_control_flow.test | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/Feature/MaximalReconvergence/loop_peeling.test b/test/Feature/MaximalReconvergence/loop_peeling.test index f123baa7..62fed715 100644 --- a/test/Feature/MaximalReconvergence/loop_peeling.test +++ b/test/Feature/MaximalReconvergence/loop_peeling.test @@ -1,7 +1,7 @@ #--- source.hlsl RWStructuredBuffer Out : register(u0); -[WaveSize(8)] +[WaveSize(8,128)] [numthreads(8,1,1)] void main(uint3 TID : SV_GroupThreadID) { for (uint i = 0; i < 8; i++) { @@ -38,7 +38,7 @@ DescriptorSets: # UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence # RUN: split-file %s %t -# RUN: %dxc_target -T cs_6_6 -fspv-enable-maximal-reconvergence -Fo %t.o %t/source.hlsl +# RUN: %dxc_target -T cs_6_8 -fspv-enable-maximal-reconvergence -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o | FileCheck %s # CHECK: Name: Out diff --git a/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test b/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test index 12ffa710..942c32bc 100644 --- a/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test +++ b/test/Feature/MaximalReconvergence/subgroup_uniform_control_flow.test @@ -1,7 +1,7 @@ #--- source.hlsl RWStructuredBuffer Out : register(u0); -[WaveSize(8)] +[WaveSize(8,128)] [numthreads(8,1,1)] void main(uint3 TID : SV_GroupThreadID) { // First non-uniform branch @@ -46,7 +46,7 @@ DescriptorSets: # UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence # RUN: split-file %s %t -# RUN: %dxc_target -T cs_6_6 -fspv-enable-maximal-reconvergence -Fo %t.o %t/source.hlsl +# RUN: %dxc_target -T cs_6_8 -fspv-enable-maximal-reconvergence -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o | FileCheck %s # CHECK: Name: Out