Skip to content

Commit 8e7b93d

Browse files
authored
Update uniform control flow language for ray tracing shader call and invocation repack instructions (#376)
* Add invocation repack instruction definition to SPIR-V and reference from uniform control flow language * Add new reorder instructions to the repack list
1 parent 39b9935 commit 8e7b93d

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

extensions/EXT/SPV_EXT_shader_invocation_reorder.asciidoc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,14 @@ Add <<OpTraceRayWithHitObjectEXT,*OpTraceRayWithHitObjectEXT*>>,
165165
<<OpHitObjectTraceReorderExecuteEXT,*OpHitObjectTraceReorderExecuteEXT>> to the list
166166
of shader call instructions.
167167

168+
Add <<OpReorderThreadWithHintEXT,*OpReorderThreadWithHintEXT*>>,
169+
<<OpReorderThreadWithHitObjectEXT,*OpReorderThreadWithHitObjectEXT*>>,
170+
<<OpHitObjectTraceRayEXT,*OpHitObjectTraceRayEXT*>>,
171+
<<OpHitObjectReorderExecuteShaderEXT,*OpHitObjectReorderExecuteShaderEXT*>>,
172+
<<OpHitObjectTraceReorderExecuteEXT,*OpHitObjectTraceReorderExecuteEXT*>>,
173+
<<OpHitObjectTraceRayMotionEXT,*OpHitObjectTraceRayMotionEXT*>>,
174+
<<OpHitObjectTraceMotionReorderExecuteEXT,*OpHitObjectTraceMotionReorderExecuteEXT*>> to the list of invocation repack instructions.
175+
168176
(Add the following terminology to section 2.2.2, Types) ::
169177
+
170178
--

extensions/KHR/SPV_KHR_ray_tracing.asciidoc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,11 +158,21 @@ other shaders. The <<OpTraceRayKHR,*OpTraceRayKHR*>>,
158158
<<OpReportIntersectionKHR,*OpReportIntersectionKHR*>> instructions are
159159
shader call instructions.
160160

161+
_Invocation Repack Instruction_: An instruction which may change the
162+
set of invocations that are executing. The <<OpTraceRayKHR,*OpTraceRayKHR*>>,
163+
<<OpExecuteCallableKHR,*OpExecuteCallableKHR*>>, and
164+
<<OpReportIntersectionKHR,*OpReportIntersectionKHR*>> instructions are
165+
invocation repack instructions.
161166

162167
(Modify Section 2.2.2, Types ) ::
163168
+
164169
add *OpTypeAccelerationStructureKHR* to list of opaque types
165170

171+
(Modify Section 2.2.5, Control Flow) ::
172+
+
173+
Modify the Uniform Control Flow definition to include shader call instructions
174+
and invocation repack instructions as instructions which may cause divergence.
175+
166176
(Modify Section 2.2.5, Control Flow) ::
167177
+
168178
Add *OpIgnoreIntersectionKHR* and *OpTerminateRayKHR* to the list of _Termination Instructions_.

0 commit comments

Comments
 (0)