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>
This commit is contained in:
Dave Airlie 2023-12-05 17:51:10 +10:00 committed by Marge Bot
parent 7656251294
commit fab508da38

View file

@ -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,
});
}