radeonsi: move si_emit_rasterizer_prim_state out of si_emit_all_states

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24732>
This commit is contained in:
Marek Olšák
2023-07-16 05:52:42 -04:00
committed by Marge Bot
parent 3a9de499b8
commit a59d387bc2
@@ -1928,12 +1928,9 @@ static void si_get_draw_start_count(struct si_context *sctx, const struct pipe_d
}
}
template <amd_gfx_level GFX_VERSION, si_has_tess HAS_TESS, si_has_gs HAS_GS, si_has_ngg NGG>
ALWAYS_INLINE
static void si_emit_all_states(struct si_context *sctx, unsigned skip_atom_mask)
{
si_emit_rasterizer_prim_state<GFX_VERSION, HAS_GS, NGG>(sctx);
/* Emit state atoms. */
unsigned mask = sctx->dirty_atoms & ~skip_atom_mask;
if (mask) {
@@ -2259,7 +2256,8 @@ static void si_draw(struct pipe_context *ctx,
bool primitive_restart = !IS_DRAW_VERTEX_STATE && info->primitive_restart;
/* Emit all states except possibly render condition. */
si_emit_all_states<GFX_VERSION, HAS_TESS, HAS_GS, NGG>(sctx, masked_atoms);
si_emit_rasterizer_prim_state<GFX_VERSION, HAS_GS, NGG>(sctx);
si_emit_all_states(sctx, masked_atoms);
/* Emit draw states. */
si_emit_vs_state<GFX_VERSION, HAS_TESS, HAS_GS, NGG, IS_DRAW_VERTEX_STATE, HAS_PAIRS>