[PATCH 2/4] wined3d: Add fast-path for texture download blit.

Henri Verbeet hverbeet at gmail.com
Wed Oct 3 10:15:48 CDT 2018


On Sun, 30 Sep 2018 at 20:32, Andrew Wesie <awesie at gmail.com> wrote:
> @@ -3218,22 +3218,7 @@ HRESULT texture2d_blt(struct wined3d_texture *dst_texture, unsigned int dst_sub_
>              goto cpu;
>      }
>
> -    blit_op = WINED3D_BLIT_OP_COLOR_BLIT;
> -    if (flags & WINED3D_BLT_SRC_CKEY_OVERRIDE)
> -    {
> -        colour_key = &fx->src_color_key;
> -        blit_op = WINED3D_BLIT_OP_COLOR_BLIT_CKEY;
> -    }
> -    else if (flags & WINED3D_BLT_SRC_CKEY)
> -    {
> -        colour_key = &src_texture->async.src_blt_color_key;
> -        blit_op = WINED3D_BLIT_OP_COLOR_BLIT_CKEY;
> -    }
> -    else if (flags & WINED3D_BLT_ALPHA_TEST)
> -    {
> -        blit_op = WINED3D_BLIT_OP_COLOR_BLIT_ALPHATEST;
> -    }
...
> +    blit_op = WINED3D_BLIT_OP_COLOR_BLIT;
> +    if (flags & WINED3D_BLT_SRC_CKEY_OVERRIDE)
> +    {
> +        colour_key = &fx->src_color_key;
> +        blit_op = WINED3D_BLIT_OP_COLOR_BLIT_CKEY;
> +    }
> +    else if (flags & WINED3D_BLT_SRC_CKEY)
> +    {
> +        colour_key = &src_texture->async.src_blt_color_key;
> +        blit_op = WINED3D_BLIT_OP_COLOR_BLIT_CKEY;
> +    }
> +    else if (flags & WINED3D_BLT_ALPHA_TEST)
> +    {
> +        blit_op = WINED3D_BLIT_OP_COLOR_BLIT_ALPHATEST;
> +    }
Moving these down means uploads/downloads will potentially be used for
colour-key and alpha-test blits, which seems wrong. Was that change
intentional?



More information about the wine-devel mailing list