wined3d/d3d9: Set the initial scissor rect to the window size

Rico Schüller kgbricola at web.de
Sat Aug 23 05:37:21 CDT 2008


Stefan Dösinger schrieb:
>>> Are you sure you shouldn't be using the primary swapchain's
>>>       
>> backbuffer
>>     
>>> dimensions?
>>>       
>> I'm not sure what exactly you mean.
>>     
> Something like this:
>
> IWineD3DSwapChain *swapchain;
> IWineD3DSurface *backbuffer;
> D3DSURFACE_DESC desc;
>
> IWineD3DDevice_GetSwapChain(device, 0, &swapchain)
> IWineD3DSwapChain_GetBackBuffer(swapchain, &backbuffer);
> IWineD3DSurface_GetSurfaceDesc(backbuffer, &desc);
> IWineD3DSurface_Release(backbuffer);
> IWineD3DSwapChain_Release(swapchain);
>
> scissorrect = {0, 0, desc.Width, desc.Height};
>
> Just pseudocode, please look up the exact names of the methods and members.
> Maybe there's a IWineD3DDevice_GetBackBuffer method which spares you the
> extra GetSwapChain call. Don't forget the release calls.
>
> The difference between your original patch and this can be seen in Windowed
> mode. I recommend to put the appropriate test into dlls/d3d9/tests/device.c
> and create a Windowed device.
>
>
>
>
>
>   
Here is the patch which checks the default scissorrect. I don't know if 
the resolutions are to big (1024x768). And I don't know if the stuff 
with the second swapchain (swapchain1) is correct. It produces this 
error in wine: "err:d3d:IWineD3DDeviceImpl_SetupFullscreenWindow 
(0x1e7370): Want to change the window parameters of HWND 0x20034, but 
another style is stored for restoration afterwards".

So comments are welcome.

Cheers
Rico

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: scissor_gut2.patch
Url: http://www.winehq.org/pipermail/wine-devel/attachments/20080823/93d87995/attachment.txt 


More information about the wine-devel mailing list