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

Rico Schüller kgbricola at web.de
Thu Aug 21 16:18:38 CDT 2008


---
 dlls/d3d9/tests/visual.c  |    5 +++++
 dlls/wined3d/stateblock.c |    8 ++++++++
 2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index 8818eab..b8fc3c6 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -155,6 +155,7 @@ static IDirect3DDevice9 *init_d3d9(void)
     D3DPRESENT_PARAMETERS present_parameters;
     HRESULT hr;
     D3DADAPTER_IDENTIFIER9 identifier;
+    RECT scissor;
 
     d3d9_create = (void *)GetProcAddress(d3d9_handle, "Direct3DCreate9");
     ok(d3d9_create != NULL, "Failed to get address of Direct3DCreate9\n");
@@ -194,6 +195,10 @@ static IDirect3DDevice9 *init_d3d9(void)
     }
     ok(hr == D3D_OK || hr == D3DERR_NOTAVAILABLE, "IDirect3D_CreateDevice returned: %08x\n", hr);
 
+    /* Check for the default scissor rect size */
+    IDirect3DDevice9_GetScissorRect(device_ptr, &scissor);
+    ok(scissor.right == 640 && scissor.bottom == 480 && scissor.top == 0 && scissor.left == 0, "Scissorrect missmatch\n");
+
     return device_ptr;
 }
 
diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c
index e8ff6c1..022a641 100644
--- a/dlls/wined3d/stateblock.c
+++ b/dlls/wined3d/stateblock.c
@@ -1037,6 +1037,7 @@ static HRESULT  WINAPI IWineD3DStateBlockImpl_InitStartupStateBlock(IWineD3DStat
         DWORD d;
     } tmpfloat;
     unsigned int i;
+    RECT scissor;
 
     /* Note this may have a large overhead but it should only be executed
        once, in order to initialize the complete state of the device and
@@ -1239,6 +1240,13 @@ static HRESULT  WINAPI IWineD3DStateBlockImpl_InitStartupStateBlock(IWineD3DStat
         This->textures[i]         = NULL;
     }
 
+    /* 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);
+
     TRACE("-----------------------> Device defaults now set up...\n");
     return WINED3D_OK;
 }
-- 
1.5.5.1


--------------080205000805020108040804--



More information about the wine-patches mailing list