H. Verbeet schrieb:
2008/8/21 Rico Schüller kgbricola@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.
Cheers Rico
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c index b8fc3c6..c0fac4c 100644 --- a/dlls/d3d9/tests/visual.c +++ b/dlls/d3d9/tests/visual.c @@ -169,8 +169,8 @@ static IDirect3DDevice9 *init_d3d9(void) present_parameters.Windowed = FALSE; present_parameters.hDeviceWindow = create_window(); present_parameters.SwapEffect = D3DSWAPEFFECT_DISCARD; - present_parameters.BackBufferWidth = 640; - present_parameters.BackBufferHeight = 480; + present_parameters.BackBufferWidth = 1024; + present_parameters.BackBufferHeight = 768; present_parameters.BackBufferFormat = D3DFMT_A8R8G8B8; present_parameters.EnableAutoDepthStencil = TRUE; present_parameters.AutoDepthStencilFormat = D3DFMT_D24S8; @@ -197,7 +197,8 @@ static IDirect3DDevice9 *init_d3d9(void)
/* 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"); + ok(scissor.right == 1024 && scissor.bottom == 768 && scissor.top == 0 && scissor.left == 0, "Scissorrect missmatch\n"); +exit(0);
return device_ptr; }