From fbc97ab125265e087b4d940a22dc358339a026fd Mon Sep 17 00:00:00 2001 From: Icecream95 Date: Wed, 23 Dec 2020 01:54:01 +1300 Subject: pan/mdg: Implement load_global_invocation_id NIR generates global_invocation_id, but Clover lowers it to global_invocation_id_zero_base. It isn't lowered for OpenGL, so we need to support both intrinsics. Reviewed-by: Alyssa Rosenzweig Part-of: --- src/panfrost/midgard/midgard_compile.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/panfrost/midgard') diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c index accb5bc9331..c0be6a79f72 100644 --- a/src/panfrost/midgard/midgard_compile.c +++ b/src/panfrost/midgard/midgard_compile.c @@ -1310,6 +1310,9 @@ compute_builtin_arg(nir_op op) return 0x14; case nir_intrinsic_load_local_invocation_id: return 0x10; + case nir_intrinsic_load_global_invocation_id: + case nir_intrinsic_load_global_invocation_id_zero_base: + return 0x18; default: unreachable("Invalid compute paramater loaded"); } @@ -1797,6 +1800,8 @@ emit_intrinsic(compiler_context *ctx, nir_intrinsic_instr *instr) case nir_intrinsic_load_work_group_id: case nir_intrinsic_load_local_invocation_id: + case nir_intrinsic_load_global_invocation_id: + case nir_intrinsic_load_global_invocation_id_zero_base: emit_compute_builtin(ctx, instr); break; -- cgit v1.2.3