vulkan/meta: Supply image view usage in vk_meta_clear_*_image()
This was the only meta function (including those built into honeykrisp) which wasn't setting view usage so we can also assert that it's always provided. Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36301>
This commit is contained in:
committed by
Marge Bot
parent
f4b01bbfe7
commit
22c624d75b
@@ -532,6 +532,9 @@ vk_meta_create_image_view(struct vk_command_buffer *cmd,
|
||||
const struct vk_device_dispatch_table *disp = &device->dispatch_table;
|
||||
VkDevice _device = vk_device_to_handle(device);
|
||||
|
||||
/* Meta must always specify view usage */
|
||||
assert(vk_find_struct_const(info->pNext, IMAGE_VIEW_USAGE_CREATE_INFO));
|
||||
|
||||
VkResult result = disp->CreateImageView(_device, info, NULL, image_view_out);
|
||||
if (unlikely(result != VK_SUCCESS))
|
||||
return result;
|
||||
|
||||
@@ -442,8 +442,17 @@ clear_image_level_layers(struct vk_command_buffer *cmd,
|
||||
VkCommandBuffer _cmd = vk_command_buffer_to_handle(cmd);
|
||||
VkResult result;
|
||||
|
||||
VkImageViewUsageCreateInfo view_usage = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
|
||||
};
|
||||
if (image->aspects == VK_IMAGE_ASPECT_COLOR_BIT)
|
||||
view_usage.usage |= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
|
||||
if (aspects & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT))
|
||||
view_usage.usage |= VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
|
||||
|
||||
const VkImageViewCreateInfo view_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
|
||||
.pNext = &view_usage,
|
||||
.image = vk_image_to_handle(image),
|
||||
.viewType = vk_image_render_view_type(image, layer_count),
|
||||
.format = format,
|
||||
|
||||
Reference in New Issue
Block a user