freedreno/ir3: support load_base_instance
[mesa.git] / src / freedreno / ir3 / ir3_compiler_nir.c
index b6fc39f2fb173ef94864f2807019f419107ff89b..7bbfe40dc91bd365ef35124981c270e3b9bb74cd 100644 (file)
@@ -1671,6 +1671,12 @@ emit_intrinsic(struct ir3_context *ctx, nir_intrinsic_instr *intr)
                }
                dst[0] = ctx->basevertex;
                break;
+       case nir_intrinsic_load_base_instance:
+               if (!ctx->base_instance) {
+                       ctx->base_instance = create_driver_param(ctx, IR3_DP_INSTID_BASE);
+               }
+               dst[0] = ctx->base_instance;
+               break;
        case nir_intrinsic_load_vertex_id_zero_base:
        case nir_intrinsic_load_vertex_id:
                if (!ctx->vertex_id) {