From 16f08ad4698c9ba72843bc8ec902bd494bdfd792 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 31 Mar 2022 12:36:47 -0400 Subject: [PATCH] mesa/st: don't precompile the pointsize upload variant anymore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit this is no longer likely to be used, so precompile the base variant now also delete some now-unused code Reviewed-by: Marek Olšák Part-of: --- src/mesa/state_tracker/st_program.c | 39 ----------------------------- 1 file changed, 39 deletions(-) diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index b0bae07a896..0b750c4ff30 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -1944,36 +1944,6 @@ st_can_add_pointsize_to_program(struct st_context *st, struct gl_program *prog) return num_components + needed_components <= max_components; } -static bool -is_last_vertex_stage(struct gl_context *ctx, struct gl_program *prog) -{ - struct gl_program *last = NULL; - /* fixedfunc */ - if (prog->Id == 0) - return true; - - /* shader info accurately set */ - if (prog->info.next_stage == MESA_SHADER_FRAGMENT) - return true; - if (prog->info.next_stage != MESA_SHADER_VERTEX) - return false; - - /* check bound programs */ - if (ctx->GeometryProgram._Current) - last = ctx->GeometryProgram._Current; - else if (ctx->TessEvalProgram._Current) - last = ctx->TessEvalProgram._Current; - else - last = ctx->VertexProgram._Current; - if (last) - return prog == last; - - /* assume this will be the last vertex stage; - * at worst, another variant without psiz is created later - */ - return true; -} - /** * Compile one shader variant. */ @@ -2000,15 +1970,6 @@ st_precompile_shader_variant(struct st_context *st, key.clamp_color = true; } - if (prog->Target == GL_VERTEX_PROGRAM_ARB || - prog->Target == GL_TESS_EVALUATION_PROGRAM_NV || - prog->Target == GL_GEOMETRY_PROGRAM_NV) { - if (st->lower_point_size && - !st->ctx->VertexProgram.PointSizeEnabled && - st_can_add_pointsize_to_program(st, prog)) - key.export_point_size = is_last_vertex_stage(st->ctx, prog) && - (!prog->nir || !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); break;