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

Henri Verbeet hverbeet at gmail.com
Fri Aug 22 13:18:22 CDT 2008


2008/8/22 Rico Schüller <kgbricola at web.de>:
> H. Verbeet schrieb:
>>
>> 2008/8/21 Rico Schüller <kgbricola at web.de>:
>>
>>>
>>> +    /* Set the scissor rect values */
>>> +    scissor.left=0;
>>> +    scissor.right=ThisDevice->ddraw_width;
>>> +    scissor.top=0;
>>> +    scissor.bottom=ThisDevice->ddraw_height;
>>> +    IWineD3DDevice_SetScissorRect(device, &scissor);
>>> +
>>>
>>
>> Are you sure you shouldn't be using the primary swapchain's backbuffer
>> dimensions?
>>
>>
>>
>
> I'm not sure what exactly you mean. But the attached patch works for me (on
> wine and windows). Could you have a look at it, please. Probably I should
> improve the patch a bit.
>
I'm not sure what that patch is supposed to do.

ddraw_width and ddraw_height are the width and height of the current
screen. For fullscreen applications that's the same as the backbuffer,
but for windowed applications the backbuffer is smaller. I think it
would make more sense for the initial scissor rect to be the size of
the backbuffer than the size of the screen. Also keep in mind that a
device might have multiple swapchains, not all of which might have the
same backbuffer dimensions.


More information about the wine-devel mailing list