lavapipe: only reference pCounterBuffers if non-NULL

Fixes crash in validation layer tests.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9937>
This commit is contained in:
Dave Airlie 2021-03-31 10:24:36 +10:00 committed by Marge Bot
parent cd222e4a9c
commit a17e10b109

View file

@ -1718,7 +1718,10 @@ VKAPI_ATTR void VKAPI_CALL lvp_CmdBeginTransformFeedbackEXT(
cmd->u.begin_transform_feedback.counter_buffer_offsets = (VkDeviceSize *)(cmd->u.begin_transform_feedback.counter_buffers + counterBufferCount);
for (unsigned i = 0; i < counterBufferCount; i++) {
cmd->u.begin_transform_feedback.counter_buffers[i] = lvp_buffer_from_handle(pCounterBuffers[i]);
if (pCounterBuffers)
cmd->u.begin_transform_feedback.counter_buffers[i] = lvp_buffer_from_handle(pCounterBuffers[i]);
else
cmd->u.begin_transform_feedback.counter_buffers[i] = NULL;
if (pCounterBufferOffsets)
cmd->u.begin_transform_feedback.counter_buffer_offsets[i] = pCounterBufferOffsets[i];
else
@ -1750,7 +1753,10 @@ VKAPI_ATTR void VKAPI_CALL lvp_CmdEndTransformFeedbackEXT(
cmd->u.begin_transform_feedback.counter_buffer_offsets = (VkDeviceSize *)(cmd->u.begin_transform_feedback.counter_buffers + counterBufferCount);
for (unsigned i = 0; i < counterBufferCount; i++) {
cmd->u.begin_transform_feedback.counter_buffers[i] = lvp_buffer_from_handle(pCounterBuffers[i]);
if (pCounterBuffers)
cmd->u.begin_transform_feedback.counter_buffers[i] = lvp_buffer_from_handle(pCounterBuffers[i]);
else
cmd->u.begin_transform_feedback.counter_buffers[i] = NULL;
if (pCounterBufferOffsets)
cmd->u.begin_transform_feedback.counter_buffer_offsets[i] = pCounterBufferOffsets[i];
else