diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2022-06-20 14:39:36 -0400 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2022-06-22 13:27:29 +0000 |
commit | 90586f812c9013b49b9c3a2b93664d4707828b9d (patch) | |
tree | 3b5c93fa962611db456b8f6e8b825fb3c5d3e68c | |
parent | 096c5aa34a835d66b0cb5d83cc513980113a8e74 (diff) |
mesa: explicitly disallow multiple pointsize exports from generating
for the fixedfunc vertex case this is important since the fixedfunc shader
may have already added an (attenuated) pointsize
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17145>
-rw-r--r-- | src/mesa/state_tracker/st_program.c | 2 |
1 files changed, 2 insertions, 0 deletions
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; |