[PATCH 01/11] ddraw: Fix setting current viewport for ddraw1.
Paul Gofman
gofmanp at gmail.com
Thu May 16 14:07:56 CDT 2019
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.
More information about the wine-devel
mailing list