[PATCH 2/2] wined3d: Move the color masks to wined3d_blend_state.

Chip Davis cdavis at codeweavers.com
Thu Mar 12 23:28:42 CDT 2020


March 12, 2020 10:08 PM, "Zebediah Figura" <z.figura12 at gmail.com> wrote:

> diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
> index 889aac0506..d28624fb5f 100644
> --- a/dlls/wined3d/device.c
> +++ b/dlls/wined3d/device.c
> @@ -3676,6 +3677,26 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device,
>              desc.rt[0].dst_alpha = state->rs[WINED3D_RS_DESTBLEND];
>              desc.rt[0].op_alpha = state->rs[WINED3D_RS_BLENDOP];
>          }
> +        desc.rt[0].writemask = state->rs[WINED3D_RS_COLORWRITEENABLE];
> +        desc.rt[1].writemask = state->rs[WINED3D_RS_COLORWRITEENABLE1];
> +        desc.rt[2].writemask = state->rs[WINED3D_RS_COLORWRITEENABLE2];
> +        desc.rt[3].writemask = state->rs[WINED3D_RS_COLORWRITEENABLE3];
> +        if (desc.rt[1].writemask != desc.rt[0].writemask
> +                || desc.rt[2].writemask != desc.rt[0].writemask
> +                || desc.rt[1].writemask != desc.rt[0].writemask)

Looks like a copy-pasto here.

> +        {
> +            desc.independent = TRUE;
> +            for (i = 1; i < 4; ++i)
> +            {
> +                desc.rt[i].enable = desc.rt[0].enable;
> +                desc.rt[i].src = desc.rt[0].src;
> +                desc.rt[i].dst = desc.rt[0].dst;
> +                desc.rt[i].op = desc.rt[0].op;
> +                desc.rt[i].src_alpha = desc.rt[0].src_alpha;
> +                desc.rt[i].dst_alpha = desc.rt[0].dst_alpha;
> +                desc.rt[i].op_alpha = desc.rt[0].op_alpha;
> +            }
> +        }
> 
>          if (wined3d_bitmap_is_set(changed->renderState, WINED3D_RS_BLENDFACTOR))
>              wined3d_color_from_d3dcolor(&colour, state->rs[WINED3D_RS_BLENDFACTOR]);


Chip



More information about the wine-devel mailing list