From: Jason Ekstrand Date: Tue, 14 Jun 2016 00:08:59 +0000 (-0700) Subject: anv/dump: Take an aspect in dump_image_to_ppm X-Git-Tag: upstream/17.1.0~8192 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a26cda5ca524677148d796318e31ddbf093531a2;p=platform%2Fupstream%2Fmesa.git anv/dump: Take an aspect in dump_image_to_ppm Reviewed-by: Chad Versace --- diff --git a/src/intel/vulkan/anv_dump.c b/src/intel/vulkan/anv_dump.c index 63ad2cd..307e501 100644 --- a/src/intel/vulkan/anv_dump.c +++ b/src/intel/vulkan/anv_dump.c @@ -30,7 +30,8 @@ void anv_dump_image_to_ppm(struct anv_device *device, struct anv_image *image, unsigned miplevel, - unsigned array_layer, const char *filename) + unsigned array_layer, VkImageAspectFlagBits aspect, + const char *filename) { VkDevice vk_device = anv_device_to_handle(device); MAYBE_UNUSED VkResult result; @@ -98,12 +99,15 @@ anv_dump_image_to_ppm(struct anv_device *device, }); assert(result == VK_SUCCESS); + VkImageUsageFlags old_usage = image->usage; + image->usage |= VK_IMAGE_USAGE_SAMPLED_BIT; + anv_CmdBlitImage(cmd, anv_image_to_handle(image), VK_IMAGE_LAYOUT_GENERAL, copy_image, VK_IMAGE_LAYOUT_GENERAL, 1, &(VkImageBlit) { .srcSubresource = { - .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, + .aspectMask = aspect, .mipLevel = miplevel, .baseArrayLayer = array_layer, .layerCount = 1, @@ -124,6 +128,8 @@ anv_dump_image_to_ppm(struct anv_device *device, }, }, VK_FILTER_NEAREST); + image->usage = old_usage; + ANV_CALL(CmdPipelineBarrier)(cmd, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 8c2ffd8..673b4ed 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1845,7 +1845,8 @@ void *anv_lookup_entrypoint(const char *name); void anv_dump_image_to_ppm(struct anv_device *device, struct anv_image *image, unsigned miplevel, - unsigned array_layer, const char *filename); + unsigned array_layer, VkImageAspectFlagBits aspect, + const char *filename); #define ANV_DEFINE_HANDLE_CASTS(__anv_type, __VkType) \ \