radv: handle null pCounterBuffers with xfb binds

this is legal

cc: mesa-stable

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40892>
This commit is contained in:
Mike Blumenkrantz 2026-04-10 14:19:32 -04:00 committed by Marge Bot
parent ab6cdd64c1
commit 9ff879441f

View file

@ -15633,7 +15633,7 @@ radv_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstC
STACK_ARRAY(VkBindTransformFeedbackBuffer2InfoEXT, counters, counterBufferCount);
for (uint32_t i = 0; i < counterBufferCount; i++) {
for (uint32_t i = 0; pCounterBuffers && i < counterBufferCount; i++) {
VK_FROM_HANDLE(radv_buffer, buffer, pCounterBuffers[i]);
VkDeviceAddressRangeKHR addr_range = {0};
@ -15652,7 +15652,7 @@ radv_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstC
}
radv_CmdBeginTransformFeedback2EXT(commandBuffer, firstCounterBuffer, counterBufferCount,
counterBufferCount > 0 ? counters : NULL);
counterBufferCount > 0 && pCounterBuffers ? counters : NULL);
STACK_ARRAY_FINISH(counters);
}
@ -15765,7 +15765,7 @@ radv_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCou
STACK_ARRAY(VkBindTransformFeedbackBuffer2InfoEXT, counters, counterBufferCount);
for (uint32_t i = 0; i < counterBufferCount; i++) {
for (uint32_t i = 0; pCounterBuffers && i < counterBufferCount; i++) {
VK_FROM_HANDLE(radv_buffer, buffer, pCounterBuffers[i]);
VkDeviceAddressRangeKHR addr_range = {0};
@ -15784,7 +15784,7 @@ radv_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCou
}
radv_CmdEndTransformFeedback2EXT(commandBuffer, firstCounterBuffer, counterBufferCount,
counterBufferCount > 0 ? counters : NULL);
counterBufferCount > 0 && pCounterBuffers ? counters : NULL);
STACK_ARRAY_FINISH(counters);
}