freedreno/ir3: add support for load_draw_id
[mesa.git] / src / freedreno / ir3 / ir3_compiler_nir.c
index 3c8007f5da33425dd97d45c75572910c992bbc47..42dc672423ca7cb8b0cdc078ad527beef1818524 100644 (file)
@@ -1785,6 +1785,12 @@ emit_intrinsic(struct ir3_context *ctx, nir_intrinsic_instr *intr)
                }
                dst[0] = ctx->basevertex;
                break;
+       case nir_intrinsic_load_draw_id:
+               if (!ctx->draw_id) {
+                       ctx->draw_id = create_driver_param(ctx, IR3_DP_DRAWID);
+               }
+               dst[0] = ctx->draw_id;
+               break;
        case nir_intrinsic_load_base_instance:
                if (!ctx->base_instance) {
                        ctx->base_instance = create_driver_param(ctx, IR3_DP_INSTID_BASE);