diff --git a/src/asahi/vulkan/hk_cmd_draw.c b/src/asahi/vulkan/hk_cmd_draw.c index 5823c6575fd4..65fdef4a47bd 100644 --- a/src/asahi/vulkan/hk_cmd_draw.c +++ b/src/asahi/vulkan/hk_cmd_draw.c @@ -3928,7 +3928,11 @@ hk_begin_end_xfb(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, } } - for (unsigned i = 0; i < counterBufferCount; ++i) { + /* pCounterBuffers may be NULL, even with a non-zero count. It then names no + * counter buffer: Begin starts every buffer at offset zero and End writes + * nothing. + */ + for (unsigned i = 0; pCounterBuffers && i < counterBufferCount; ++i) { if (pCounterBuffers[i] == VK_NULL_HANDLE) continue;