c/main: Allow to specifiy image usage for target images

This commit is contained in:
Jakob Bornecrantz 2021-06-05 20:52:26 +01:00 committed by Jakob Bornecrantz
parent fd1a916e0b
commit 65ca3113f8
3 changed files with 13 additions and 8 deletions

View file

@ -420,13 +420,14 @@ renderer_ensure_images_and_renderings(struct comp_renderer *r, bool force_recrea
// Make we sure we destroy all dependent things before creating new images.
renderer_close_renderings_and_fences(r);
comp_target_create_images( //
r->c->target, //
r->c->settings.preferred.width, //
r->c->settings.preferred.height, //
r->settings->color_format, //
r->settings->color_space, //
r->settings->present_mode); //
comp_target_create_images( //
r->c->target, //
r->c->settings.preferred.width, //
r->c->settings.preferred.height, //
r->settings->color_format, //
r->settings->color_space, //
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, //
r->settings->present_mode); //
r->num_buffers = r->c->target->num_images;

View file

@ -123,6 +123,7 @@ struct comp_target
uint32_t preferred_height,
VkFormat preferred_color_format,
VkColorSpaceKHR preferred_color_space,
VkImageUsageFlags image_usage,
VkPresentModeKHR present_mode);
/*!
@ -263,6 +264,7 @@ comp_target_create_images(struct comp_target *ct,
uint32_t preferred_height,
VkFormat preferred_color_format,
VkColorSpaceKHR preferred_color_space,
VkImageUsageFlags image_usage,
VkPresentModeKHR present_mode)
{
COMP_TRACE_MARKER();
@ -273,6 +275,7 @@ comp_target_create_images(struct comp_target *ct,
preferred_height, //
preferred_color_format, //
preferred_color_space, //
image_usage, //
present_mode); //
}

View file

@ -89,6 +89,7 @@ comp_target_swapchain_create_images(struct comp_target *ct,
uint32_t preferred_height,
VkFormat color_format,
VkColorSpaceKHR color_space,
VkImageUsageFlags image_usage,
VkPresentModeKHR present_mode)
{
struct comp_target_swapchain *cts = (struct comp_target_swapchain *)ct;
@ -173,7 +174,7 @@ comp_target_swapchain_create_images(struct comp_target *ct,
.height = extent.height,
},
.imageArrayLayers = 1,
.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
.imageUsage = image_usage,
.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE,
.queueFamilyIndexCount = 0,
.preTransform = surface_caps.currentTransform,