mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-03 14:18:07 +02:00
glsl: add intrinsics for ARB_shader_group_vote and ARB_shader_ballot
These operations are currently implemented as IR expressions. However, they cannot be transformed and moved in the way that other IR expressions can because they have non-trivial interactions with control-flow. Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
24011ead71
commit
99941a9724
2 changed files with 13 additions and 0 deletions
|
|
@ -1098,6 +1098,13 @@ enum ir_intrinsic_id {
|
|||
ir_intrinsic_memory_barrier_image,
|
||||
ir_intrinsic_memory_barrier_shared,
|
||||
|
||||
ir_intrinsic_vote_all,
|
||||
ir_intrinsic_vote_any,
|
||||
ir_intrinsic_vote_eq,
|
||||
ir_intrinsic_ballot,
|
||||
ir_intrinsic_read_invocation,
|
||||
ir_intrinsic_read_first_invocation,
|
||||
|
||||
ir_intrinsic_shared_load,
|
||||
ir_intrinsic_shared_store = MAKE_INTRINSIC_FOR_TYPE(store, shared),
|
||||
ir_intrinsic_shared_atomic_add = MAKE_INTRINSIC_FOR_TYPE(atomic_add, shared),
|
||||
|
|
|
|||
|
|
@ -3994,6 +3994,12 @@ glsl_to_tgsi_visitor::visit(ir_call *ir)
|
|||
return;
|
||||
}
|
||||
|
||||
case ir_intrinsic_vote_all:
|
||||
case ir_intrinsic_vote_any:
|
||||
case ir_intrinsic_vote_eq:
|
||||
case ir_intrinsic_ballot:
|
||||
case ir_intrinsic_read_first_invocation:
|
||||
case ir_intrinsic_read_invocation:
|
||||
case ir_intrinsic_invalid:
|
||||
case ir_intrinsic_generic_load:
|
||||
case ir_intrinsic_generic_store:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue