vk/meta: Fix usage flags for image-wrapped-buffers

In make_image_for_buffer(), use VK_IMAGE_USAGE_SAMPLED_BIT when
transferring from the buffer and use VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
when transferring to the buffer.
This commit is contained in:
Chad Versace 2015-10-06 18:34:37 -07:00
parent d00718104f
commit cf603714cb
1 changed files with 4 additions and 5 deletions

View File

@ -1304,6 +1304,7 @@ void anv_CmdBlitImage(
static VkImage
make_image_for_buffer(VkDevice vk_device, VkBuffer vk_buffer, VkFormat format,
VkImageUsageFlags usage,
const VkBufferImageCopy *copy)
{
ANV_FROM_HANDLE(anv_buffer, buffer, vk_buffer);
@ -1326,7 +1327,7 @@ make_image_for_buffer(VkDevice vk_device, VkBuffer vk_buffer, VkFormat format,
.arraySize = 1,
.samples = 1,
.tiling = VK_IMAGE_TILING_LINEAR,
.usage = VK_IMAGE_USAGE_SAMPLED_BIT,
.usage = usage,
.flags = 0,
}, &vk_image);
assert(result == VK_SUCCESS);
@ -1368,8 +1369,7 @@ void anv_CmdCopyBufferToImage(
}
VkImage srcImage = make_image_for_buffer(vk_device, srcBuffer,
proxy_format,
&pRegions[r]);
proxy_format, VK_IMAGE_USAGE_SAMPLED_BIT, &pRegions[r]);
struct anv_image_view src_iview;
anv_image_view_init(&src_iview, cmd_buffer->device,
@ -1490,8 +1490,7 @@ void anv_CmdCopyImageToBuffer(
}
VkImage destImage = make_image_for_buffer(vk_device, destBuffer,
dest_format,
&pRegions[r]);
dest_format, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, &pRegions[r]);
struct anv_image_view dest_iview;
anv_color_attachment_view_init(&dest_iview, cmd_buffer->device,