mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
ac/llvm: implement as_uniform and ballot_relaxed
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27116>
This commit is contained in:
parent
6b031daf16
commit
37a15ba53a
1 changed files with 2 additions and 0 deletions
|
|
@ -3038,6 +3038,7 @@ static bool visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins
|
|||
|
||||
switch (instr->intrinsic) {
|
||||
case nir_intrinsic_ballot:
|
||||
case nir_intrinsic_ballot_relaxed:
|
||||
result = ac_build_ballot(&ctx->ac, get_src(ctx, instr->src[0]));
|
||||
if (instr->def.bit_size > ctx->ac.wave_size) {
|
||||
LLVMTypeRef dest_type = LLVMIntTypeInContext(ctx->ac.context, instr->def.bit_size);
|
||||
|
|
@ -3058,6 +3059,7 @@ static bool visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins
|
|||
ac_build_readlane(&ctx->ac, get_src(ctx, instr->src[0]), get_src(ctx, instr->src[1]));
|
||||
break;
|
||||
case nir_intrinsic_read_first_invocation:
|
||||
case nir_intrinsic_as_uniform:
|
||||
result = ac_build_readlane(&ctx->ac, get_src(ctx, instr->src[0]), NULL);
|
||||
break;
|
||||
case nir_intrinsic_load_subgroup_invocation:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue