vulkan/wsi: add feedback loop usage to swapchain caps if supported

this is needed by some apps

cc: mesa-stable

Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22959>
This commit is contained in:
Mike Blumenkrantz 2023-05-11 10:42:15 -04:00 committed by Marge Bot
parent 4d188e005b
commit 1effbccc5c
5 changed files with 21 additions and 0 deletions

View file

@ -932,6 +932,10 @@ wsi_display_surface_get_capabilities(VkIcdSurfaceBase *surface_base,
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
VK_FROM_HANDLE(vk_physical_device, pdevice, wsi_device->pdevice);
if (pdevice->supported_extensions.EXT_attachment_feedback_loop_layout)
caps->supportedUsageFlags |= VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
return VK_SUCCESS;
}

View file

@ -31,6 +31,7 @@
#include "vk_util.h"
#include "vk_enum_to_str.h"
#include "vk_instance.h"
#include "vk_physical_device.h"
#include "wsi_common_entrypoints.h"
#include "wsi_common_private.h"
#include "wsi_common_queue.h"
@ -104,6 +105,10 @@ wsi_headless_surface_get_capabilities(VkIcdSurfaceBase *surface,
VK_IMAGE_USAGE_STORAGE_BIT |
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
VK_FROM_HANDLE(vk_physical_device, pdevice, wsi_device->pdevice);
if (pdevice->supported_extensions.EXT_attachment_feedback_loop_layout)
caps->supportedUsageFlags |= VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
return VK_SUCCESS;
}

View file

@ -1090,6 +1090,10 @@ wsi_wl_surface_get_capabilities(VkIcdSurfaceBase *surface,
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
VK_FROM_HANDLE(vk_physical_device, pdevice, wsi_device->pdevice);
if (pdevice->supported_extensions.EXT_attachment_feedback_loop_layout)
caps->supportedUsageFlags |= VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
return VK_SUCCESS;
}

View file

@ -217,6 +217,10 @@ wsi_win32_surface_get_capabilities(VkIcdSurfaceBase *surf,
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
VK_FROM_HANDLE(vk_physical_device, pdevice, wsi_device->pdevice);
if (pdevice->supported_extensions.EXT_attachment_feedback_loop_layout)
caps->supportedUsageFlags |= VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
return VK_SUCCESS;
}

View file

@ -729,6 +729,10 @@ x11_surface_get_capabilities(VkIcdSurfaceBase *icd_surface,
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
VK_FROM_HANDLE(vk_physical_device, pdevice, wsi_device->pdevice);
if (pdevice->supported_extensions.EXT_attachment_feedback_loop_layout)
caps->supportedUsageFlags |= VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
return VK_SUCCESS;
}