@@ -8542,6 +8542,10 @@ tu_CmdDraw(VkCommandBuffer commandBuffer,
85428542 VK_FROM_HANDLE (tu_cmd_buffer, cmd, commandBuffer);
85438543 struct tu_cs *cs = &cmd->draw_cs ;
85448544
8545+ bool has_tess = cmd->state .shaders [MESA_SHADER_TESS_CTRL]->variant ;
8546+ if (has_tess)
8547+ return ;
8548+
85458549 tu6_emit_vs_params (cmd, 0 , firstVertex, firstInstance);
85468550
85478551 tu6_draw_common<CHIP>(cmd, cs, false , vertexCount);
@@ -8571,6 +8575,8 @@ tu_CmdDrawMultiEXT(VkCommandBuffer commandBuffer,
85718575 return ;
85728576
85738577 bool has_tess = cmd->state .shaders [MESA_SHADER_TESS_CTRL]->variant ;
8578+ if (has_tess)
8579+ return ;
85748580
85758581 uint32_t max_vertex_count = 0 ;
85768582 if (has_tess) {
@@ -8616,6 +8622,10 @@ tu_CmdDrawIndexed(VkCommandBuffer commandBuffer,
86168622 VK_FROM_HANDLE (tu_cmd_buffer, cmd, commandBuffer);
86178623 struct tu_cs *cs = &cmd->draw_cs ;
86188624
8625+ bool has_tess = cmd->state .shaders [MESA_SHADER_TESS_CTRL]->variant ;
8626+ if (has_tess)
8627+ return ;
8628+
86198629 tu6_emit_vs_params (cmd, 0 , vertexOffset, firstInstance);
86208630
86218631 tu6_draw_common<CHIP>(cmd, cs, true , indexCount);
@@ -8649,6 +8659,8 @@ tu_CmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer,
86498659 return ;
86508660
86518661 bool has_tess = cmd->state .shaders [MESA_SHADER_TESS_CTRL]->variant ;
8662+ if (has_tess)
8663+ return ;
86528664
86538665 uint32_t max_index_count = 0 ;
86548666 if (has_tess) {
@@ -8712,6 +8724,10 @@ tu_CmdDrawIndirect(VkCommandBuffer commandBuffer,
87128724 VK_FROM_HANDLE (tu_buffer, buf, _buffer);
87138725 struct tu_cs *cs = &cmd->draw_cs ;
87148726
8727+ bool has_tess = cmd->state .shaders [MESA_SHADER_TESS_CTRL]->variant ;
8728+ if (has_tess)
8729+ return ;
8730+
87158731 tu6_emit_empty_vs_params<CHIP>(cmd);
87168732
87178733 if (cmd->device ->physical_device ->info ->props .indirect_draw_wfm_quirk )
@@ -8743,6 +8759,10 @@ tu_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer,
87438759 VK_FROM_HANDLE (tu_buffer, buf, _buffer);
87448760 struct tu_cs *cs = &cmd->draw_cs ;
87458761
8762+ bool has_tess = cmd->state .shaders [MESA_SHADER_TESS_CTRL]->variant ;
8763+ if (has_tess)
8764+ return ;
8765+
87468766 tu6_emit_empty_vs_params<CHIP>(cmd);
87478767
87488768 if (cmd->device ->physical_device ->info ->props .indirect_draw_wfm_quirk )
@@ -8779,6 +8799,10 @@ tu_CmdDrawIndirectCount(VkCommandBuffer commandBuffer,
87798799 VK_FROM_HANDLE (tu_buffer, count_buf, countBuffer);
87808800 struct tu_cs *cs = &cmd->draw_cs ;
87818801
8802+ bool has_tess = cmd->state .shaders [MESA_SHADER_TESS_CTRL]->variant ;
8803+ if (has_tess)
8804+ return ;
8805+
87828806 tu6_emit_empty_vs_params<CHIP>(cmd);
87838807
87848808 /* It turns out that the firmware we have for a650 only partially fixed the
@@ -8818,6 +8842,10 @@ tu_CmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer,
88188842 VK_FROM_HANDLE (tu_buffer, count_buf, countBuffer);
88198843 struct tu_cs *cs = &cmd->draw_cs ;
88208844
8845+ bool has_tess = cmd->state .shaders [MESA_SHADER_TESS_CTRL]->variant ;
8846+ if (has_tess)
8847+ return ;
8848+
88218849 tu6_emit_empty_vs_params<CHIP>(cmd);
88228850
88238851 draw_wfm (cmd);
@@ -8853,6 +8881,10 @@ tu_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer,
88538881 VK_FROM_HANDLE (tu_buffer, buf, _counterBuffer);
88548882 struct tu_cs *cs = &cmd->draw_cs ;
88558883
8884+ bool has_tess = cmd->state .shaders [MESA_SHADER_TESS_CTRL]->variant ;
8885+ if (has_tess)
8886+ return ;
8887+
88568888 /* All known firmware versions do not wait for WFI's with CP_DRAW_AUTO.
88578889 * Plus, for the common case where the counter buffer is written by
88588890 * vkCmdEndTransformFeedback, we need to wait for the CP_WAIT_MEM_WRITES to
0 commit comments