etnaviv: emit PS start and end PC states only on shader changes
There is no reason to emit those states on framebuffer changes. While the framebuffer format change might change the fragment shader due to R/B swapping in the shader, this triggers compilation of a new shader variant which will dirty the shader state as needed. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33229>
This commit is contained in:
@@ -217,10 +217,8 @@ emit_pre_halti5_state(struct etna_context *ctx)
|
||||
/*00E40*/ EMIT_STATE(RA_CENTROID_TABLE(x), ctx->framebuffer.RA_CENTROID_TABLE[x]);
|
||||
}
|
||||
}
|
||||
if (unlikely(dirty & (ETNA_DIRTY_SHADER | ETNA_DIRTY_FRAMEBUFFER))) {
|
||||
if (unlikely(dirty & (ETNA_DIRTY_SHADER))) {
|
||||
/*01000*/ EMIT_STATE(PS_END_PC, ctx->shader_state.PS_END_PC);
|
||||
}
|
||||
if (unlikely(dirty & (ETNA_DIRTY_SHADER | ETNA_DIRTY_FRAMEBUFFER))) {
|
||||
/*01018*/ EMIT_STATE(PS_START_PC, ctx->shader_state.PS_START_PC);
|
||||
}
|
||||
if (unlikely(dirty & (ETNA_DIRTY_SHADER))) {
|
||||
|
||||
Reference in New Issue
Block a user