[Mesa-dev] [PATCH] radv: Reinitialise loaderMagic when allocating a cached command buffer

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Mon Mar 13 22:48:48 UTC 2017


Thanks. Pushed.

- Bas

On Mon, Mar 13, 2017 at 2:28 PM, Alex Smith <asmith at feralinteractive.com> wrote:
> This must be set to ICD_LOADER_MAGIC by vkAllocateCommandBuffers, which
> was being done when allocating a new buffer but not when reusing an
> existing one in the cache. This would hit an assertion and crash in
> debug builds of the Vulkan loader.
>
> Fixes: 682248db451f ("radv: Cache command buffers in command pool.")
> Signed-off-by: Alex Smith <asmith at feralinteractive.com>
> ---
>  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 10c5142..17be0a1 100644
> --- a/src/amd/vulkan/radv_cmd_buffer.c
> +++ b/src/amd/vulkan/radv_cmd_buffer.c
> @@ -1662,6 +1662,7 @@ VkResult radv_AllocateCommandBuffers(
>                         list_addtail(&cmd_buffer->pool_link, &pool->cmd_buffers);
>
>                         radv_reset_cmd_buffer(cmd_buffer);
> +                       cmd_buffer->_loader_data.loaderMagic = ICD_LOADER_MAGIC;
>                         cmd_buffer->level = pAllocateInfo->level;
>
>                         pCommandBuffers[i] = radv_cmd_buffer_to_handle(cmd_buffer);
> --
> 2.9.3
>


More information about the mesa-dev mailing list