etnaviv: emit full varying component use

Emit usages for varying components 32-63.

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/32922>
This commit is contained in:
Lucas Stach
2025-01-06 22:07:45 +01:00
committed by Marge Bot
parent ca5a9a3861
commit ef2d7a5066
4 changed files with 5 additions and 4 deletions

View File

@@ -499,9 +499,6 @@ etna_reset_gpu_state(struct etna_context *ctx)
etna_set_state(stream, VIVS_PS_SAMPLER_BASE, 0x00000000); etna_set_state(stream, VIVS_PS_SAMPLER_BASE, 0x00000000);
etna_set_state(stream, VIVS_VS_SAMPLER_BASE, 0x00000020); etna_set_state(stream, VIVS_VS_SAMPLER_BASE, 0x00000020);
etna_set_state(stream, VIVS_SH_CONFIG, VIVS_SH_CONFIG_RTNE_ROUNDING); etna_set_state(stream, VIVS_SH_CONFIG, VIVS_SH_CONFIG_RTNE_ROUNDING);
} else { /* Only on pre-HALTI5 */
etna_set_state(stream, VIVS_GL_VARYING_COMPONENT_USE2, 0x00000000);
etna_set_state(stream, VIVS_GL_VARYING_COMPONENT_USE3, 0x00000000);
} }
if (VIV_FEATURE(screen, ETNA_FEATURE_BUG_FIXES18)) if (VIV_FEATURE(screen, ETNA_FEATURE_BUG_FIXES18))

View File

@@ -226,6 +226,8 @@ emit_pre_halti5_state(struct etna_context *ctx)
/*03828*/ EMIT_STATE(GL_VARYING_COMPONENT_USE(x), ctx->shader_state.GL_VARYING_COMPONENT_USE[x]); /*03828*/ EMIT_STATE(GL_VARYING_COMPONENT_USE(x), ctx->shader_state.GL_VARYING_COMPONENT_USE[x]);
} }
/*03834*/ EMIT_STATE(GL_VARYING_NUM_COMPONENTS2, ctx->shader_state.GL_VARYING_NUM_COMPONENTS[1]); /*03834*/ EMIT_STATE(GL_VARYING_NUM_COMPONENTS2, ctx->shader_state.GL_VARYING_NUM_COMPONENTS[1]);
/*03838*/ EMIT_STATE(GL_VARYING_COMPONENT_USE2, ctx->shader_state.GL_VARYING_COMPONENT_USE[2]);
/*03854*/ EMIT_STATE(GL_VARYING_COMPONENT_USE3, ctx->shader_state.GL_VARYING_COMPONENT_USE[3]);
} }
etna_coalesce_end(stream, &coalesce); etna_coalesce_end(stream, &coalesce);
} }

View File

@@ -252,7 +252,7 @@ struct compiled_shader_state {
uint32_t PS_START_PC; uint32_t PS_START_PC;
uint32_t GL_VARYING_TOTAL_COMPONENTS; uint32_t GL_VARYING_TOTAL_COMPONENTS;
uint32_t GL_VARYING_NUM_COMPONENTS[2]; uint32_t GL_VARYING_NUM_COMPONENTS[2];
uint32_t GL_VARYING_COMPONENT_USE[2]; uint32_t GL_VARYING_COMPONENT_USE[4];
uint32_t GL_HALTI5_SH_SPECIALS; uint32_t GL_HALTI5_SH_SPECIALS;
uint32_t FE_HALTI5_ID_CONFIG; uint32_t FE_HALTI5_ID_CONFIG;
unsigned vs_inst_mem_size; unsigned vs_inst_mem_size;

View File

@@ -248,6 +248,8 @@ etna_link_shaders(struct etna_context *ctx, struct compiled_shader_state *cs,
cs->GL_VARYING_NUM_COMPONENTS[1] = num_components[1]; cs->GL_VARYING_NUM_COMPONENTS[1] = num_components[1];
cs->GL_VARYING_COMPONENT_USE[0] = component_use[0]; cs->GL_VARYING_COMPONENT_USE[0] = component_use[0];
cs->GL_VARYING_COMPONENT_USE[1] = component_use[1]; cs->GL_VARYING_COMPONENT_USE[1] = component_use[1];
cs->GL_VARYING_COMPONENT_USE[2] = component_use[2];
cs->GL_VARYING_COMPONENT_USE[3] = component_use[3];
cs->GL_HALTI5_SH_SPECIALS = cs->GL_HALTI5_SH_SPECIALS =
0x7f7f0000 | /* unknown bits, probably other PS inputs */ 0x7f7f0000 | /* unknown bits, probably other PS inputs */