From 1183988d74f1116dad280bd332601dc024c0c32f Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 2 Mar 2022 21:47:22 -0500 Subject: [PATCH] mesa/st: precompile with API pointsize only if the shader doesn't have pointsize this is a more accurate hint, and maintains the existing behavior given subsequent changes to this area Reviewed-by: Ilia Mirkin Part-of: --- src/mesa/state_tracker/st_program.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index 6dc58aea6ab..0b3adeab717 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -2022,7 +2022,8 @@ st_precompile_shader_variant(struct st_context *st, prog->Target == GL_TESS_EVALUATION_PROGRAM_NV || prog->Target == GL_GEOMETRY_PROGRAM_NV) { if (st->lower_point_size && !st->ctx->VertexProgram.PointSizeEnabled) - key.export_point_size = is_last_vertex_stage(st->ctx, prog); + key.export_point_size = is_last_vertex_stage(st->ctx, prog) && + !nir_find_variable_with_location(prog->nir, nir_var_shader_out, VARYING_SLOT_PSIZ); } key.st = st->has_shareable_shaders ? NULL : st; st_get_common_variant(st, prog, &key);