tu/a7xx: use DI_SRC_SEL_AUTO_XFB for CmdDrawIndirectByteCountEXT
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:
@@ -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:
|
||||
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user