[PATCH 01/11] ddraw: Fix setting current viewport for ddraw1.

Henri Verbeet hverbeet at gmail.com
Thu May 16 14:10:38 CDT 2019


On Thu, 16 May 2019 at 23:37, Paul Gofman <gofmanp at gmail.com> wrote:
> On 5/16/19 21:01, Henri Verbeet wrote:
> > On Wed, 15 May 2019 at 19:37, Paul Gofman <gofmanp at gmail.com> wrote:
> >> @@ -712,9 +712,13 @@ static HRESULT WINAPI d3d_device1_Execute(IDirect3DDevice *iface,
> >>       if(!buffer)
> >>           return DDERR_INVALIDPARAMS;
> >>
> >> +    if (FAILED(hr = IDirect3DDevice3_SetCurrentViewport
> >> +            (&device->IDirect3DDevice3_iface, &viewport_impl->IDirect3DViewport3_iface)))
> >> +        return hr;
> >> +
> > This is not an entirely new issue, but does remind me about the issue
> > of how executing an execute buffer affects the device state. That's
> > not an issue for devices created as version 1 devices, since there's
> > no way to query the current state by the application. However, it's
> > also possible to QI the version 1 interface from a version 2 or 3
> > device.
> >
> I don't know whether ExecuteBuffer should preserve the previous state or
> not, I didn't test that yet. But I should note that before this patch it
> was not preserving states as well, but it would also not deactivate the
> lights from previous viewport potentially set in the earlier call to
> ExecuteBuffer or some other way.
>
Yeah, it doesn't directly impact this patch, but I did want to raise the issue.



More information about the wine-devel mailing list