[PATCH 1/1] wined3d: Don't transition GENERAL layouts for blits.

Henri Verbeet hverbeet at gmail.com
Fri May 6 03:28:16 CDT 2022


On Tue, 26 Apr 2022 at 14:04, Stefan Dösinger <wine at gitlab.winehq.org> wrote:
>
> From: Stefan Dösinger <stefan at codeweavers.com>
>
> On Radeon GPUs VK_IMAGE_LAYOUT_GENERAL images don't use Delta Color
> Compression, but SRC/DST optimal images do. Transitioning from GENERAL
> to SRC/DST causes a big performance hit.
>
> As a next step we should try harder to avoid VK_IMAGE_LAYOUT_GENERAL.
>
> Signed-off-by: Stefan Dösinger <stefan at codeweavers.com>
>
> ---
>
> This improves Rocket League from 50fps to 67fps when it is GPU limited.
> Using VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL instead of GENERAL
> further improves it to 80 fps. Switching from COLOR_ATTACHMENT_OPTIMAL
> to SRC/DST optimal seems cheap (it just stays compressed), but first we
> need logic to transition BIND_RENDER_TARGET | BIND_SHADER_RESOURCE
> textures between COLOR_ATTACHMENT_OPTIMAL and SHADER_READ_ONLY_OPTIMAL.
> ---
>  dlls/wined3d/texture.c | 29 +++++++++++++++++------------
>  1 file changed, 17 insertions(+), 12 deletions(-)
>

For the benefit of the mailing list, nothing seems particularly wrong
about this patch, but Stefan found it causes a regression in an
application. So this patch is effectively pending until that is
figured out.



More information about the wine-devel mailing list