[PATCH 1/5] wined3d: Use VK_FORMAT_D24_UNORM_S8_UINT when available.

Henri Verbeet hverbeet at gmail.com
Mon Mar 8 04:50:02 CST 2021


On Fri, 5 Mar 2021 at 17:06, Matteo Bruni <mbruni at 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.



More information about the wine-devel mailing list