Mesa (master): radv: reset object base on recycled command buffers

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sun Feb 21 23:56:57 UTC 2021


Module: Mesa
Branch: master
Commit: bd98fc39aed0951c0e1dff10599a32fab1d1c87a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd98fc39aed0951c0e1dff10599a32fab1d1c87a

Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Feb 19 12:15:05 2021 +1000

radv: reset object base on recycled command buffers

The loader_set_dispatch overwrites the magic with the dispatch
pointer, however when cmd buffers get recycled, and the loader
is in debug mode, it asserts that the magic isn't set anymore.

When recycling command buffers, reset the base object.

Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9145>

---

 src/amd/vulkan/radv_cmd_buffer.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 6e0cc08a1fc..53801945714 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -3872,6 +3872,7 @@ VkResult radv_AllocateCommandBuffers(
 
 			result = radv_reset_cmd_buffer(cmd_buffer);
 			cmd_buffer->level = pAllocateInfo->level;
+			vk_object_base_reset(&cmd_buffer->base);
 
 			pCommandBuffers[i] = radv_cmd_buffer_to_handle(cmd_buffer);
 		} else {



More information about the mesa-commit mailing list