Skip to content

Commit b8ed980

Browse files
committed
Fix typo and add error test
1 parent 48c4f44 commit b8ed980

2 files changed

Lines changed: 8 additions & 3 deletions

File tree

docs/SPIR-V.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff 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

40274027
The Implicit ``vk`` Namespace
40284028
=============================

tools/clang/test/CodeGenSPIRV/sm6.quad-any-all.hlsl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
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
}

0 commit comments

Comments
 (0)