From b9676976d033b97a43b541293baf2324d4a4449b Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 17 Feb 2021 09:51:43 -0500 Subject: [PATCH] zink: store prim mode to context during draw we need to be able to access this for shader rewrites Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_context.h | 1 + src/gallium/drivers/zink/zink_draw.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/gallium/drivers/zink/zink_context.h b/src/gallium/drivers/zink/zink_context.h index 0b1b3c94cb5..9b5868e0bbf 100644 --- a/src/gallium/drivers/zink/zink_context.h +++ b/src/gallium/drivers/zink/zink_context.h @@ -132,6 +132,7 @@ struct zink_context { struct zink_shader *gfx_stages[ZINK_SHADER_COUNT]; struct zink_gfx_pipeline_state gfx_pipeline_state; + enum pipe_prim_type gfx_prim_mode; struct hash_table *program_cache; struct zink_gfx_program *curr_program; diff --git a/src/gallium/drivers/zink/zink_draw.c b/src/gallium/drivers/zink/zink_draw.c index 70d1fd6673b..76e3d18898e 100644 --- a/src/gallium/drivers/zink/zink_draw.c +++ b/src/gallium/drivers/zink/zink_draw.c @@ -664,6 +664,7 @@ zink_draw_vbo(struct pipe_context *pctx, if (drawid_broken != ctx->drawid_broken) ctx->dirty_shader_stages |= BITFIELD_BIT(PIPE_SHADER_VERTEX); ctx->gfx_pipeline_state.vertices_per_patch = dinfo->vertices_per_patch; + ctx->gfx_prim_mode = dinfo->mode; struct zink_gfx_program *gfx_program = get_gfx_program(ctx); if (!gfx_program) return;