radv: do not remove PSIZ for VS when the topology is unknown

When compiling only the pre-rast stages in a library, the input
assembly state might not be present and the topology would be 0.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18519>
This commit is contained in:
Samuel Pitoiset
2022-09-13 17:35:04 +02:00
committed by Marge Bot
parent 7f91555d4c
commit f5ba4e855e

View File

@@ -2170,6 +2170,11 @@ radv_remove_point_size(const struct radv_pipeline_key *pipeline_key,
if (producer->xfb_info) if (producer->xfb_info)
return; return;
/* Do not remove PSIZ for vertex shaders when the topology is unknown. */
if (producer->info.stage == MESA_SHADER_VERTEX &&
pipeline_key->vs.topology == V_008958_DI_PT_NONE)
return;
/* Do not remove PSIZ if the rasterization primitive uses points. */ /* Do not remove PSIZ if the rasterization primitive uses points. */
if (consumer->info.stage == MESA_SHADER_FRAGMENT && if (consumer->info.stage == MESA_SHADER_FRAGMENT &&
((producer->info.stage == MESA_SHADER_VERTEX && ((producer->info.stage == MESA_SHADER_VERTEX &&