Stefan Dösinger : wined3d: Read the framebuffer size from the surface, not the window.
Alexandre Julliard
julliard at winehq.org
Wed Nov 14 07:30:34 CST 2007
Module: wine
Branch: master
Commit: 58a761a88b8f236fd923d6d2d4cd562098034c88
URL: http://source.winehq.org/git/wine.git/?a=commit;h=58a761a88b8f236fd923d6d2d4cd562098034c88
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Sat Nov 10 22:36:28 2007 +0100
wined3d: Read the framebuffer size from the surface, not the window.
---
dlls/wined3d/state.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 559a9fd..296c5ce 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -3598,12 +3598,15 @@ static void light(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3DContex
}
static void scissorrect(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3DContext *context) {
- IWineD3DSwapChainImpl *swapchain = (IWineD3DSwapChainImpl *) stateblock->wineD3DDevice->swapchains[0];
RECT *pRect = &stateblock->scissorRect;
RECT windowRect;
UINT winHeight;
- GetClientRect(swapchain->win_handle, &windowRect);
+ windowRect.left = 0;
+ windowRect.top = 0;
+ windowRect.right = ((IWineD3DSurfaceImpl *) stateblock->wineD3DDevice->render_targets[0])->currentDesc.Width;
+ windowRect.bottom = ((IWineD3DSurfaceImpl *) stateblock->wineD3DDevice->render_targets[0])->currentDesc.Height;
+
/* Warning: glScissor uses window coordinates, not viewport coordinates, so our viewport correction does not apply
* Warning2: Even in windowed mode the coords are relative to the window, not the screen
*/
More information about the wine-cvs
mailing list