Module: wine Branch: master Commit: 766e732fb37cf0c6dabd895f56506e5e4feb10cd URL: http://source.winehq.org/git/wine.git/?a=commit;h=766e732fb37cf0c6dabd895f56...
Author: Peter Urbanec winehq.org@urbanec.net Date: Fri Feb 11 15:39:20 2011 +1100
d3d9/tests: Use primary monitor screen size to perform tests.
---
dlls/d3d9/tests/device.c | 40 ++++++++++++++++++++++++++-------------- 1 files changed, 26 insertions(+), 14 deletions(-)
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c index 531d085..b377bee 100644 --- a/dlls/d3d9/tests/device.c +++ b/dlls/d3d9/tests/device.c @@ -24,6 +24,9 @@ #include <d3d9.h> #include "wine/test.h"
+static INT screen_width; +static INT screen_height; + static IDirect3D9 *(WINAPI *pDirect3DCreate9)(UINT);
static int get_refcount(IUnknown *object) @@ -56,8 +59,8 @@ static IDirect3DDevice9 *create_device(IDirect3D9 *d3d9, HWND device_window, HWN present_parameters.Windowed = windowed; present_parameters.hDeviceWindow = device_window; present_parameters.SwapEffect = D3DSWAPEFFECT_DISCARD; - present_parameters.BackBufferWidth = 640; - present_parameters.BackBufferHeight = 480; + present_parameters.BackBufferWidth = screen_width; + present_parameters.BackBufferHeight = screen_height; present_parameters.BackBufferFormat = D3DFMT_A8R8G8B8; present_parameters.EnableAutoDepthStencil = TRUE; present_parameters.AutoDepthStencilFormat = D3DFMT_D24S8; @@ -82,8 +85,8 @@ static HRESULT reset_device(IDirect3DDevice9 *device, HWND device_window, BOOL w present_parameters.Windowed = windowed; present_parameters.hDeviceWindow = device_window; present_parameters.SwapEffect = D3DSWAPEFFECT_DISCARD; - present_parameters.BackBufferWidth = 640; - present_parameters.BackBufferHeight = 480; + present_parameters.BackBufferWidth = screen_width; + present_parameters.BackBufferHeight = screen_height; present_parameters.BackBufferFormat = D3DFMT_A8R8G8B8; present_parameters.EnableAutoDepthStencil = TRUE; present_parameters.AutoDepthStencilFormat = D3DFMT_D24S8; @@ -2207,7 +2210,7 @@ static void test_scissor_size(void) { IDirect3D9 *d3d9_ptr = 0; unsigned int i; - static const struct { + static struct { int winx; int winy; int backx; int backy; BOOL window; } scts[] = { /* scissor tests */ {800, 600, 640, 480, TRUE}, @@ -2233,6 +2236,12 @@ static void test_scissor_size(void) hwnd = CreateWindow("d3d9_test_wc", "d3d9_test", WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION , 0, 0, scts[i].winx, scts[i].winy, 0, 0, 0, 0);
+ if (!scts[i].window) + { + scts[i].backx = screen_width; + scts[i].backy = screen_height; + } + ZeroMemory(&present_parameters, sizeof(present_parameters)); present_parameters.Windowed = scts[i].window; present_parameters.hDeviceWindow = hwnd; @@ -2266,8 +2275,8 @@ static void test_scissor_size(void) ok(scissorrect.right == scts[i].backx && scissorrect.bottom == scts[i].backy && scissorrect.top == 0 && scissorrect.left == 0, "Scissorrect missmatch (%d, %d) should be (%d, %d)\n", scissorrect.right, scissorrect.bottom, scts[i].backx, scts[i].backy);
/* check the scissorrect values after a reset */ - present_parameters.BackBufferWidth = 800; - present_parameters.BackBufferHeight = 600; + present_parameters.BackBufferWidth = screen_width; + present_parameters.BackBufferHeight = screen_height; hr = IDirect3DDevice9_Reset(device_ptr, &present_parameters); ok(hr == D3D_OK, "IDirect3DDevice9_Reset failed with %08x\n", hr); hr = IDirect3DDevice9_TestCooperativeLevel(device_ptr); @@ -2275,7 +2284,7 @@ static void test_scissor_size(void)
hr = IDirect3DDevice9_GetScissorRect(device_ptr, &scissorrect); ok(hr == D3D_OK, "IDirect3DDevice9_GetScissorRect failed with: %08x\n", hr); - ok(scissorrect.right == 800 && scissorrect.bottom == 600 && scissorrect.top == 0 && scissorrect.left == 0, "Scissorrect missmatch (%d, %d) should be (%d, %d)\n", scissorrect.right, scissorrect.bottom, 800, 600); + ok(scissorrect.right == screen_width && scissorrect.bottom == screen_height && scissorrect.top == 0 && scissorrect.left == 0, "Scissorrect missmatch (%d, %d) should be (%d, %d)\n", scissorrect.right, scissorrect.bottom, screen_width, screen_height);
if(device_ptr) { ULONG ref; @@ -2423,7 +2432,7 @@ static DWORD WINAPI wndproc_thread(void *param) BOOL ret;
p->dummy_window = CreateWindowA("d3d9_test_wndproc_wc", "d3d9_test", - WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, 640, 480, 0, 0, 0, 0); + WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, screen_width, screen_height, 0, 0, 0, 0); p->running_in_foreground = SetForegroundWindow(p->dummy_window);
ret = SetEvent(p->window_created); @@ -2484,9 +2493,9 @@ static void test_wndproc(void) ok(!!thread_params.test_finished, "CreateEvent failed, last error %#x.\n", GetLastError());
focus_window = CreateWindowA("d3d9_test_wndproc_wc", "d3d9_test", - WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, 640, 480, 0, 0, 0, 0); + WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, screen_width, screen_height, 0, 0, 0, 0); device_window = CreateWindowA("d3d9_test_wndproc_wc", "d3d9_test", - WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, 640, 480, 0, 0, 0, 0); + WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, screen_width, screen_height, 0, 0, 0, 0); thread = CreateThread(NULL, 0, wndproc_thread, &thread_params, 0, &tid); ok(!!thread, "Failed to create thread, last error %#x.\n", GetLastError());
@@ -2628,9 +2637,9 @@ static void test_wndproc_windowed(void) ok(!!thread_params.test_finished, "CreateEvent failed, last error %#x.\n", GetLastError());
focus_window = CreateWindowA("d3d9_test_wndproc_wc", "d3d9_test", - WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, 640, 480, 0, 0, 0, 0); + WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, screen_width, screen_height, 0, 0, 0, 0); device_window = CreateWindowA("d3d9_test_wndproc_wc", "d3d9_test", - WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, 640, 480, 0, 0, 0, 0); + WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, screen_width, screen_height, 0, 0, 0, 0); thread = CreateThread(NULL, 0, wndproc_thread, &thread_params, 0, &tid); ok(!!thread, "Failed to create thread, last error %#x.\n", GetLastError());
@@ -2830,7 +2839,7 @@ static void test_fpu_setup(void) ok(!!d3d9, "Failed to create a d3d9 object.\n"); if (!d3d9) return;
- window = CreateWindowA("d3d9_test_wc", "d3d9_test", WS_CAPTION, 0, 0, 640, 480, 0, 0, 0, 0); + window = CreateWindowA("d3d9_test_wc", "d3d9_test", WS_CAPTION, 0, 0, screen_width, screen_height, 0, 0, 0, 0); ok(!!window, "Failed to create a window.\n"); if (!window) goto done;
@@ -2906,6 +2915,9 @@ START_TEST(device) } IDirect3D9_Release(d3d9);
+ screen_width = GetSystemMetrics(SM_CXSCREEN); + screen_height = GetSystemMetrics(SM_CYSCREEN); + test_fpu_setup(); test_multi_device(); test_display_formats();