Zebediah Figura : wined3d: Report WINED3D_FORMAT_CAP_BLIT for formats supporting VK_FORMAT_FEATURE_TRANSFER_SRC and VK_FORMAT_FEATURE_TRANSFER_DST.
Module: wine Branch: master Commit: 154d7164f86569f216691c9ea379ac8d4436e05c URL: https://source.winehq.org/git/wine.git/?a=commit;h=154d7164f86569f216691c9ea... Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Wed Jun 15 15:23:20 2022 -0500 wined3d: Report WINED3D_FORMAT_CAP_BLIT for formats supporting VK_FORMAT_FEATURE_TRANSFER_SRC and VK_FORMAT_FEATURE_TRANSFER_DST. Vulkan 1.0 implementations without KHR_maintenance1 will still be broken. In order to work around this we would have to try creating textures with TRANSFER_* usage. This does not seem worthwhile. --- dlls/wined3d/utils.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index 7761576c058..06c95135678 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -4397,6 +4397,11 @@ static void init_vulkan_format_info(struct wined3d_format_vk *format, { caps |= WINED3D_FORMAT_CAP_UNORDERED_ACCESS; } + if ((texture_flags & VK_FORMAT_FEATURE_TRANSFER_SRC_BIT) + && (texture_flags & VK_FORMAT_FEATURE_TRANSFER_DST_BIT)) + { + caps |= WINED3D_FORMAT_CAP_BLIT; + } if (!(~caps & (WINED3D_FORMAT_CAP_RENDERTARGET | WINED3D_FORMAT_CAP_FILTERING))) caps |= WINED3D_FORMAT_CAP_GEN_MIPMAP;
participants (1)
-
Alexandre Julliard