anv/dump: Take an aspect in dump_image_to_ppm

Reviewed-by: Chad Versace <chad.versace@intel.com>
This commit is contained in:
Jason Ekstrand 2016-06-13 17:08:59 -07:00
parent b479c47a9c
commit a26cda5ca5
2 changed files with 10 additions and 3 deletions

View file

@ -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,

View file

@ -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) \
\