tu/a7xx: use DI_SRC_SEL_AUTO_XFB for CmdDrawIndirectByteCountEXT
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Use DI_SRC_SEL_AUTO_XFB as the source select mode for
CmdDrawIndirectByteCountEXT. Previously DI_SRC_SEL_AUTO_INDEX was used to
match the proprietary driver, but this mode doesn't correctly utilize the
counter offset value.

Fixes: dEQP-VK.transform_feedback.simple*.*_counter_offset_*

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38108>
This commit is contained in:
Zan Dobersek 2025-10-28 12:19:32 +01:00 committed by Marge Bot
parent ba054f1c33
commit 607aba5697
2 changed files with 2 additions and 25 deletions

View file

@ -34,27 +34,6 @@ dynamic-dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_s
# it should use separate buffers per plane:
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_yvu420,Fail
# New fails in 1.4.3.3
dEQP-VK.transform_feedback.simple.draw_indirect_counter_offset_16,Fail
dEQP-VK.transform_feedback.simple.draw_indirect_counter_offset_244,Fail
dEQP-VK.transform_feedback.simple.draw_indirect_counter_offset_508,Fail
dEQP-VK.transform_feedback.simple.draw_indirect_multiview_counter_offset_16,Fail
dEQP-VK.transform_feedback.simple.draw_indirect_multiview_counter_offset_244,Fail
dEQP-VK.transform_feedback.simple.draw_indirect_multiview_counter_offset_508,Fail
dEQP-VK.transform_feedback.simple_fast_gpl.draw_indirect_counter_offset_16,Fail
dEQP-VK.transform_feedback.simple_fast_gpl.draw_indirect_counter_offset_244,Fail
dEQP-VK.transform_feedback.simple_fast_gpl.draw_indirect_counter_offset_508,Fail
dEQP-VK.transform_feedback.simple_fast_gpl.draw_indirect_multiview_counter_offset_16,Fail
dEQP-VK.transform_feedback.simple_fast_gpl.draw_indirect_multiview_counter_offset_244,Fail
dEQP-VK.transform_feedback.simple_fast_gpl.draw_indirect_multiview_counter_offset_508,Fail
dEQP-VK.transform_feedback.simple_optimized_gpl.draw_indirect_counter_offset_16,Fail
dEQP-VK.transform_feedback.simple_optimized_gpl.draw_indirect_counter_offset_244,Fail
dEQP-VK.transform_feedback.simple_optimized_gpl.draw_indirect_counter_offset_508,Fail
dEQP-VK.transform_feedback.simple_optimized_gpl.draw_indirect_multiview_counter_offset_16,Fail
dEQP-VK.transform_feedback.simple_optimized_gpl.draw_indirect_multiview_counter_offset_244,Fail
dEQP-VK.transform_feedback.simple_optimized_gpl.draw_indirect_multiview_counter_offset_508,Fail
gmem-dEQP-VK.transform_feedback.simple.draw_indirect_multiview_counter_offset_244,Fail
# OpenCL tests below
#
## rusticl-core issues:

View file

@ -8408,10 +8408,8 @@ tu_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer,
tu6_draw_common<CHIP>(cmd, cs, false, 0);
tu_cs_emit_pkt7(cs, CP_DRAW_AUTO, 6);
if (CHIP == A6XX) {
tu_cs_emit(cs, tu_draw_initiator(cmd, DI_SRC_SEL_AUTO_XFB));
} else {
tu_cs_emit(cs, tu_draw_initiator(cmd, DI_SRC_SEL_AUTO_INDEX));
tu_cs_emit(cs, tu_draw_initiator(cmd, DI_SRC_SEL_AUTO_XFB));
if (CHIP >= A7XX) {
/* On a7xx the counter value and offset are shifted right by 2, so
* the vertexStride should also be in units of dwords.
*/