I thought I looked for this when doing maintenance1... oh well.

Reviewed-by: Jason Ekstrand <[email protected]>
Cc: "13.0 17.0" <[email protected]>

On Wed, Jan 25, 2017 at 8:29 AM, Lionel Landwerlin <
[email protected]> wrote:

> The spec section 5.2 says:
>
>    "vkAllocateCommandBuffers can be used to create multiple command
>    buffers. If the creation of any of those command buffers fails, the
>    implementation must destroy all successfully created command buffer
>    objects from this command, set all entries of the pCommandBuffers
>    array to VK_NULL_HANDLE and return the error."
>
> Fixes:
>    dEQP-VK.api.object_management.alloc_callback_fail_multiple.
> command_buffer_primary
>    dEQP-VK.api.object_management.alloc_callback_fail_multiple.
> command_buffer_secondary
>
> Signed-off-by: Lionel Landwerlin <[email protected]>
> ---
>  src/intel/vulkan/anv_cmd_buffer.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_
> buffer.c
> index 3a23048c47..5886fa63e6 100644
> --- a/src/intel/vulkan/anv_cmd_buffer.c
> +++ b/src/intel/vulkan/anv_cmd_buffer.c
> @@ -232,9 +232,12 @@ VkResult anv_AllocateCommandBuffers(
>           break;
>     }
>
> -   if (result != VK_SUCCESS)
> +   if (result != VK_SUCCESS) {
>        anv_FreeCommandBuffers(_device, pAllocateInfo->commandPool,
>                               i, pCommandBuffers);
> +      for (i = 0; i < pAllocateInfo->commandBufferCount; i++)
> +         pCommandBuffers[i] = VK_NULL_HANDLE;
> +   }
>
>     return result;
>  }
> --
> 2.11.0
>
>
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to