From: Nicolai Hähnle Date: Mon, 15 May 2017 09:13:44 +0000 (+0200) Subject: radeonsi: rename tcs_tes_uses_prim_id for clarity X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4ea67c1751a8f3ae4bae205896ff38a08596bd83;p=mesa.git radeonsi: rename tcs_tes_uses_prim_id for clarity What we care about is whether PrimID is used while tessellation is enabled; whether it's used in TCS/TES or further down the pipeline is irrelevant. Reviewed-by: Marek Olšák --- diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h index 71a3e9834f3..431d8a3a429 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.h +++ b/src/gallium/drivers/radeonsi/si_pipe.h @@ -217,7 +217,7 @@ union si_vgt_param_key { unsigned count_from_stream_output:1; unsigned line_stipple_enabled:1; unsigned uses_tess:1; - unsigned tcs_tes_uses_prim_id:1; + unsigned tess_uses_prim_id:1; unsigned uses_gs:1; unsigned _pad:32 - SI_NUM_VGT_PARAM_KEY_BITS; } u; diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c index 1de523c393f..8651592fed2 100644 --- a/src/gallium/drivers/radeonsi/si_state_draw.c +++ b/src/gallium/drivers/radeonsi/si_state_draw.c @@ -328,7 +328,7 @@ si_get_init_multi_vgt_param(struct si_screen *sscreen, if (key->u.uses_tess) { /* SWITCH_ON_EOI must be set if PrimID is used. */ - if (key->u.tcs_tes_uses_prim_id) + if (key->u.tess_uses_prim_id) ia_switch_on_eoi = true; /* Bug with tessellation and GS on Bonaire and older 2 SE chips. */ @@ -459,7 +459,7 @@ void si_init_ia_multi_vgt_param_table(struct si_context *sctx) key.u.count_from_stream_output = count_from_so; key.u.line_stipple_enabled = line_stipple; key.u.uses_tess = uses_tess; - key.u.tcs_tes_uses_prim_id = tess_uses_primid; + key.u.tess_uses_prim_id = tess_uses_primid; key.u.uses_gs = uses_gs; sctx->ia_multi_vgt_param[key.index] = diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index f761073616a..313af85a1cb 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.c +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c @@ -2126,9 +2126,9 @@ static void si_bind_vs_shader(struct pipe_context *ctx, void *state) r600_update_vs_writes_viewport_index(&sctx->b, si_get_vs_info(sctx)); } -static void si_update_tcs_tes_uses_prim_id(struct si_context *sctx) +static void si_update_tess_uses_prim_id(struct si_context *sctx) { - sctx->ia_multi_vgt_param_key.u.tcs_tes_uses_prim_id = + sctx->ia_multi_vgt_param_key.u.tess_uses_prim_id = (sctx->tes_shader.cso && sctx->tes_shader.cso->info.uses_primid) || (sctx->tcs_shader.cso && @@ -2158,7 +2158,7 @@ static void si_bind_gs_shader(struct pipe_context *ctx, void *state) if (enable_changed) { si_shader_change_notify(sctx); if (sctx->ia_multi_vgt_param_key.u.uses_tess) - si_update_tcs_tes_uses_prim_id(sctx); + si_update_tess_uses_prim_id(sctx); } r600_update_vs_writes_viewport_index(&sctx->b, si_get_vs_info(sctx)); } @@ -2174,7 +2174,7 @@ static void si_bind_tcs_shader(struct pipe_context *ctx, void *state) sctx->tcs_shader.cso = sel; sctx->tcs_shader.current = sel ? sel->first_variant : NULL; - si_update_tcs_tes_uses_prim_id(sctx); + si_update_tess_uses_prim_id(sctx); sctx->do_update_shaders = true; if (enable_changed) @@ -2193,7 +2193,7 @@ static void si_bind_tes_shader(struct pipe_context *ctx, void *state) sctx->tes_shader.cso = sel; sctx->tes_shader.current = sel ? sel->first_variant : NULL; sctx->ia_multi_vgt_param_key.u.uses_tess = sel != NULL; - si_update_tcs_tes_uses_prim_id(sctx); + si_update_tess_uses_prim_id(sctx); sctx->do_update_shaders = true; si_mark_atom_dirty(sctx, &sctx->clip_regs); sctx->last_rast_prim = -1; /* reset this so that it gets updated */ @@ -2218,7 +2218,7 @@ static void si_bind_ps_shader(struct pipe_context *ctx, void *state) sctx->ps_shader.current = sel ? sel->first_variant : NULL; sctx->do_update_shaders = true; if (sel && sctx->ia_multi_vgt_param_key.u.uses_tess) - si_update_tcs_tes_uses_prim_id(sctx); + si_update_tess_uses_prim_id(sctx); si_mark_atom_dirty(sctx, &sctx->cb_render_state); }