From 90586f812c9013b49b9c3a2b93664d4707828b9d Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 20 Jun 2022 14:39:36 -0400 Subject: [PATCH] mesa: explicitly disallow multiple pointsize exports from generating MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit for the fixedfunc vertex case this is important since the fixedfunc shader may have already added an (attenuated) pointsize Acked-by: Marek Olšák Part-of: --- src/mesa/state_tracker/st_program.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index 3cd167ab095..955efccfa77 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -1227,6 +1227,8 @@ st_can_add_pointsize_to_program(struct st_context *st, struct gl_program *prog) assert(nir->info.stage == MESA_SHADER_VERTEX || nir->info.stage == MESA_SHADER_TESS_EVAL || nir->info.stage == MESA_SHADER_GEOMETRY); + if (nir->info.outputs_written & VARYING_BIT_PSIZ) + return false; unsigned max_components = nir->info.stage == MESA_SHADER_GEOMETRY ? st->ctx->Const.MaxGeometryTotalOutputComponents : st->ctx->Const.Program[nir->info.stage].MaxOutputComponents;