radv: Only use TES vertex offset 2 for triangles and quads.
authorTimur Kristóf <timur.kristof@gmail.com>
Wed, 13 Apr 2022 12:54:30 +0000 (14:54 +0200)
committerMarge Bot <emma+marge@anholt.net>
Wed, 13 Apr 2022 15:04:26 +0000 (15:04 +0000)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15837>

src/amd/vulkan/radv_shader.c

index dc0a281..f846445 100644 (file)
@@ -1684,8 +1684,10 @@ radv_postprocess_config(const struct radv_device *device, const struct ac_shader
        */
       bool need_gs_vtx_offset2 = !info->is_ngg_passthrough || info->gs.vertices_in >= 3;
 
+      /* TES only needs vertex offset 2 for triangles or quads. */
       if (stage == MESA_SHADER_TESS_EVAL)
-         need_gs_vtx_offset2 &= info->tes._primitive_mode != TESS_PRIMITIVE_ISOLINES;
+         need_gs_vtx_offset2 &= info->tes._primitive_mode == TESS_PRIMITIVE_TRIANGLES ||
+                                info->tes._primitive_mode == TESS_PRIMITIVE_QUADS;
 
       if (info->uses_invocation_id) {
          gs_vgpr_comp_cnt = 3; /* VGPR3 contains InvocationID. */