Module: Mesa Branch: main Commit: fab508da3809d09987764b39d8e4c0b988d1e1cb URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fab508da3809d09987764b39d8e4c0b988d1e1cb
Author: Dave Airlie <airl...@redhat.com> Date: Tue Dec 5 17:51:10 2023 +1000 nvk/xfb: set correct counter buffer for writing stream out counters. nvc0 does nvc0_hw_query_get(push, q, 0x00, 0x0d005002 | (q->index << 5)); which corresponds to sub report. Just noticed in code review, don't know of any tests that will notice yet. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26513> --- src/nouveau/vulkan/nvk_cmd_draw.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/nouveau/vulkan/nvk_cmd_draw.c b/src/nouveau/vulkan/nvk_cmd_draw.c index dc81bd9bcd8..a5fa8109d33 100644 --- a/src/nouveau/vulkan/nvk_cmd_draw.c +++ b/src/nouveau/vulkan/nvk_cmd_draw.c @@ -2705,6 +2705,8 @@ nvk_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, continue; VK_FROM_HANDLE(nvk_buffer, buffer, pCounterBuffers[i]); + // index of counter buffer corresponts to index of transform buffer + uint32_t cb_idx = firstCounterBuffer + i; uint64_t offset = pCounterBufferOffsets ? pCounterBufferOffsets[i] : 0; uint64_t cb_addr = nvk_buffer_address(buffer, offset); @@ -2716,6 +2718,7 @@ nvk_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, .operation = OPERATION_REPORT_ONLY, .pipeline_location = PIPELINE_LOCATION_STREAMING_OUTPUT, .report = REPORT_STREAMING_BYTE_COUNT, + .sub_report = cb_idx, .structure_size = STRUCTURE_SIZE_ONE_WORD, }); }