From 204e4da9b4768033b81ec69d448eca9ba1c872fe Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Mon, 8 Jul 2019 23:18:55 +0200 Subject: [PATCH] radv: Use correct gs_out with tessellation. We should use the primitives output by the TES in that case. There is always a separate TES if there is no GS. Reviewed-by: Dave Airlie --- src/amd/vulkan/radv_pipeline.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 351ef18a132..1e7c25955fc 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -4156,6 +4156,9 @@ radv_pipeline_init(struct radv_pipeline *pipeline, if (radv_pipeline_has_gs(pipeline)) { gs_out = si_conv_gl_prim_to_gs_out(pipeline->shaders[MESA_SHADER_GEOMETRY]->info.gs.output_prim); pipeline->graphics.can_use_guardband = gs_out == V_028A6C_OUTPRIM_TYPE_TRISTRIP; + } else if (radv_pipeline_has_tess(pipeline)) { + gs_out = si_conv_gl_prim_to_gs_out(pipeline->shaders[MESA_SHADER_TESS_EVAL]->info.tes.primitive_mode); + pipeline->graphics.can_use_guardband = gs_out == V_028A6C_OUTPRIM_TYPE_TRISTRIP; } else { gs_out = si_conv_prim_to_gs_out(pCreateInfo->pInputAssemblyState->topology); } -- 2.30.2