nir: add last_invocation intrinsic

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6558>
This commit is contained in:
Rhys Perry
2020-09-01 16:30:34 +01:00
committed by Marge Bot
parent 8850a63161
commit 1a912a550f
2 changed files with 3 additions and 1 deletions

View File

@@ -112,6 +112,7 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
case nir_intrinsic_load_subgroup_le_mask: case nir_intrinsic_load_subgroup_le_mask:
case nir_intrinsic_load_subgroup_lt_mask: case nir_intrinsic_load_subgroup_lt_mask:
case nir_intrinsic_first_invocation: case nir_intrinsic_first_invocation:
case nir_intrinsic_last_invocation:
case nir_intrinsic_load_base_instance: case nir_intrinsic_load_base_instance:
case nir_intrinsic_load_base_vertex: case nir_intrinsic_load_base_vertex:
case nir_intrinsic_load_first_vertex: case nir_intrinsic_load_first_vertex:

View File

@@ -266,10 +266,11 @@ intrinsic("read_first_invocation", src_comp=[0], dest_comp=0, flags=[CAN_ELIMINA
# #
# These correspond to the SPIR-V opcodes # These correspond to the SPIR-V opcodes
# #
# OpGroupUniformElect # OpGroupNonUniformElect
# OpSubgroupFirstInvocationKHR # OpSubgroupFirstInvocationKHR
intrinsic("elect", dest_comp=1, flags=[CAN_ELIMINATE]) intrinsic("elect", dest_comp=1, flags=[CAN_ELIMINATE])
intrinsic("first_invocation", dest_comp=1, flags=[CAN_ELIMINATE]) intrinsic("first_invocation", dest_comp=1, flags=[CAN_ELIMINATE])
intrinsic("last_invocation", dest_comp=1, flags=[CAN_ELIMINATE])
# Memory barrier with semantics analogous to the compute shader # Memory barrier with semantics analogous to the compute shader
# groupMemoryBarrier(), memoryBarrierAtomicCounter(), memoryBarrierBuffer(), # groupMemoryBarrier(), memoryBarrierAtomicCounter(), memoryBarrierBuffer(),