On Fri, 5 Mar 2021 at 17:06, Matteo Bruni <mbruni(a)codeweavers.com> wrote:
@@ -4182,6 +4182,16 @@ static void init_vulkan_format_info(struct wined3d_format_vk *format, format->f.flags[WINED3D_GL_RES_TYPE_BUFFER] |= WINED3DFMT_FLAG_VERTEX_ATTRIBUTE; if (properties.bufferFeatures & VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT) format->f.flags[WINED3D_GL_RES_TYPE_BUFFER] |= WINED3DFMT_FLAG_TEXTURE; + if (vk_format == VK_FORMAT_D24_UNORM_S8_UINT) + { + if (~properties.optimalTilingFeatures & VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT) + { + /* AMD doesn't support VK_FORMAT_D24_UNORM_S8_UINT. */ + WARN("Mapping VK_FORMAT_D24_UNORM_S8_UINT to VK_FORMAT_D32_SFLOAT_S8_UINT.\n"); + + format->vk_format = vk_format = VK_FORMAT_D32_SFLOAT_S8_UINT; + } + } This changes the Vulkan format, but doesn't re-query the properties of the new format.