diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c index fb451354163..d490ce04bf4 100644 --- a/src/freedreno/ir3/ir3_compiler_nir.c +++ b/src/freedreno/ir3/ir3_compiler_nir.c @@ -3028,28 +3028,16 @@ emit_intrinsic(struct ir3_context *ctx, nir_intrinsic_instr *intr) break; case nir_intrinsic_load_base_vertex: case nir_intrinsic_load_first_vertex: - if (!ctx->basevertex) { - ctx->basevertex = create_driver_param(ctx, IR3_DP_VS(vtxid_base)); - } - dst[0] = ctx->basevertex; + dst[0] = create_driver_param(ctx, IR3_DP_VS(vtxid_base)); break; case nir_intrinsic_load_is_indexed_draw: - if (!ctx->is_indexed_draw) { - ctx->is_indexed_draw = create_driver_param(ctx, IR3_DP_VS(is_indexed_draw)); - } - dst[0] = ctx->is_indexed_draw; + dst[0] = create_driver_param(ctx, IR3_DP_VS(is_indexed_draw)); break; case nir_intrinsic_load_draw_id: - if (!ctx->draw_id) { - ctx->draw_id = create_driver_param(ctx, IR3_DP_VS(draw_id)); - } - dst[0] = ctx->draw_id; + dst[0] = create_driver_param(ctx, IR3_DP_VS(draw_id)); break; case nir_intrinsic_load_base_instance: - if (!ctx->base_instance) { - ctx->base_instance = create_driver_param(ctx, IR3_DP_VS(instid_base)); - } - dst[0] = ctx->base_instance; + dst[0] = create_driver_param(ctx, IR3_DP_VS(instid_base)); break; case nir_intrinsic_load_view_index: if (!ctx->view_index) { diff --git a/src/freedreno/ir3/ir3_context.h b/src/freedreno/ir3/ir3_context.h index f8da951f8b4..82a63e87278 100644 --- a/src/freedreno/ir3/ir3_context.h +++ b/src/freedreno/ir3/ir3_context.h @@ -67,8 +67,7 @@ struct ir3_context { struct ir3_instruction *frag_face, *frag_coord; /* For vertex shaders, keep track of the system values sources */ - struct ir3_instruction *vertex_id, *basevertex, *instance_id, *base_instance, - *draw_id, *view_index, *is_indexed_draw; + struct ir3_instruction *vertex_id, *instance_id, *view_index; /* For fragment shaders: */ struct ir3_instruction *samp_id, *samp_mask_in;