radv/gfx10: Use correct gs_out for tess point_mode.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tue, 9 Jul 2019 07:41:14 +0000 (09:41 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tue, 9 Jul 2019 07:52:50 +0000 (09:52 +0200)
Fixes: 204e4da9b47 "radv: Use correct gs_out with tessellation."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/amd/vulkan/radv_pipeline.c

index 9431a0d1999a996bd6a0f8e6e185a8e1d2de5031..be43204a7b44507c079d4ea610453c0a65915e4c 100644 (file)
@@ -4197,7 +4197,10 @@ radv_pipeline_init(struct radv_pipeline *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);
+               if (pipeline->shaders[MESA_SHADER_TESS_EVAL]->info.tes.point_mode)
+                       gs_out = V_028A6C_OUTPRIM_TYPE_POINTLIST;
+               else
+                       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);