File tree Expand file tree Collapse file tree
tools/clang/test/CodeGenSPIRV Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -4020,9 +4020,9 @@ Multiprefix ``WaveMultiPrefixBitXor()`` ``OpGroupNonUniformLogicalXor`` `
40204020============= ============================ =================================== ==============================
40214021
40224022``QuadAny `` and ``QuadAll `` will use the ``OpGroupNonUniformQuadAnyKHR `` and
4023- ``OpGroupNonUniformQuadAllKHR `` if the ``SPV_KHR_quad_control `` extension is
4024- enabled. If it is not, they will fall back to constructing the value using
4025- multiple calls to ``OpGroupNonUniformQuadBroadcast ``.
4023+ ``OpGroupNonUniformQuadAllKHR `` instructions if the ``SPV_KHR_quad_control ``
4024+ extension is enabled. If it is not, they will fall back to constructing the
4025+ value using multiple calls to ``OpGroupNonUniformQuadBroadcast ``.
40264026
40274027The Implicit ``vk `` Namespace
40284028=============================
Original file line number Diff line number Diff line change 11// RUN: %dxc -T cs_6_0 -E main -fspv-target-env=vulkan1.1 -fcgl %s -spirv | FileCheck %s --check-prefixes=CHECK,QUAD
22// RUN: %dxc -T cs_6_0 -E main -fspv-target-env=vulkan1.1 -fspv-extension=SPV_KHR_16bit_storage -fcgl %s -spirv | FileCheck %s --check-prefixes=CHECK,NOQUAD
3+ // RUN: not %dxc -T cs_6_0 -E main -fspv-target-env=vulkan1.0 -fcgl %s -spirv 2>&1 | FileCheck %s --check-prefixes=ERROR
34
45// CHECK: ; Version: 1.3
56
@@ -21,6 +22,8 @@ void main(uint3 id: SV_DispatchThreadID) {
2122// NOQUAD-NEXT: [[or1:%[0-9]+]] = OpLogicalOr %bool [[or0]] [[inv1]]
2223// NOQUAD-NEXT: [[inv2:%[0-9]+]] = OpGroupNonUniformQuadSwap %bool %uint_3 [[val1]] %uint_2
2324// NOQUAD-NEXT: [[or2:%[0-9]+]] = OpLogicalOr %bool [[or1]] [[inv2]]
25+
26+ // ERROR: 27:24: error: Vulkan 1.1 is required for Wave Operation but not permitted to use
2427 values[outIdx].x = QuadAny (outIdx % 4 == 0 ) ? 1.0 : 2.0 ;
2528
2629// CHECK: [[val2:%[0-9]+]] = OpIEqual %bool {{%[0-9]+}}
@@ -32,5 +35,7 @@ void main(uint3 id: SV_DispatchThreadID) {
3235// NOQUAD-NEXT: [[or1:%[0-9]+]] = OpLogicalAnd %bool [[or0]] [[inv1]]
3336// NOQUAD-NEXT: [[inv2:%[0-9]+]] = OpGroupNonUniformQuadSwap %bool %uint_3 [[val2]] %uint_2
3437// NOQUAD-NEXT: [[or2:%[0-9]+]] = OpLogicalAnd %bool [[or1]] [[inv2]]
38+
39+ // ERROR: 40:24: error: Vulkan 1.1 is required for Wave Operation but not permitted to use
3540 values[outIdx].y = QuadAll (outIdx % 2 == 0 ) ? 3.0 : 4.0 ;
3641}
You can’t perform that action at this time.
0 commit comments