[Mesa-dev] [PATCH] anv/genX: Solve the anv_CmdClearColorImage crash issue
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Mon Mar 27 09:14:22 UTC 2017
Hi Randy,
This patch looks good to me.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Cc: "17.0 13.0" <mesa-stable at lists.freedesktop.org>
Are you planning to send a follow up patch to fix the remaining
layoutCount accesses too?
Cheers,
-
Lionel
On 20/03/17 07:31, Randy Xu wrote:
> From: Xu Randy <randy.xu at intel.com>
>
> We should use anv_get_layerCount() to access layerCount of VkImageSub-
> resourceRange in anv_CmdClearColorImage and anv_CmdClearDepthStencil-
> Image, which handles the VK_REMAINING_ARRAY_LAYERS (~0) case.
>
> Test: Sample multithreadcmdbuf from LunarG can run without crash
>
> Signed-off-by: Xu Randy <randy.xu at intel.com>
> ---
> src/intel/vulkan/anv_blorp.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c
> index 1f4fec5..9b3910f 100644
> --- a/src/intel/vulkan/anv_blorp.c
> +++ b/src/intel/vulkan/anv_blorp.c
> @@ -830,7 +830,7 @@ void anv_CmdClearColorImage(
> VK_IMAGE_ASPECT_COLOR_BIT, image->tiling);
>
> unsigned base_layer = pRanges[r].baseArrayLayer;
> - unsigned layer_count = pRanges[r].layerCount;
> + unsigned layer_count = anv_get_layerCount(image, &pRanges[r]);
>
> for (unsigned i = 0; i < anv_get_levelCount(image, &pRanges[r]); i++) {
> const unsigned level = pRanges[r].baseMipLevel + i;
> @@ -890,7 +890,7 @@ void anv_CmdClearDepthStencilImage(
> bool clear_stencil = pRanges[r].aspectMask & VK_IMAGE_ASPECT_STENCIL_BIT;
>
> unsigned base_layer = pRanges[r].baseArrayLayer;
> - unsigned layer_count = pRanges[r].layerCount;
> + unsigned layer_count = anv_get_layerCount(image, &pRanges[r]);
>
> for (unsigned i = 0; i < anv_get_levelCount(image, &pRanges[r]); i++) {
> const unsigned level = pRanges[r].baseMipLevel + i;
More information about the mesa-dev
mailing list