Module: Mesa Branch: master Commit: a17e10b1096f4b03ba71485a3586d2fdbb3cd8a4 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a17e10b1096f4b03ba71485a3586d2fdbb3cd8a4
Author: Dave Airlie <[email protected]> Date: Wed Mar 31 10:24:36 2021 +1000 lavapipe: only reference pCounterBuffers if non-NULL Fixes crash in validation layer tests. Reviewed-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9937> --- src/gallium/frontends/lavapipe/lvp_cmd_buffer.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gallium/frontends/lavapipe/lvp_cmd_buffer.c b/src/gallium/frontends/lavapipe/lvp_cmd_buffer.c index a3f376cfa92..bf8db50c00c 100644 --- a/src/gallium/frontends/lavapipe/lvp_cmd_buffer.c +++ b/src/gallium/frontends/lavapipe/lvp_cmd_buffer.c @@ -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 _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
