From 09443f14e75e134328643b5d33aff61bdf4dca32 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Wed, 18 Jul 2012 21:32:34 +0200 Subject: [PATCH] wined3d: Enable "AlwaysOffscreen" by default. --- dlls/d3d8/tests/visual.c | 20 +++++++++++--------- dlls/d3d9/tests/visual.c | 23 +++++++++++++---------- dlls/wined3d/wined3d_main.c | 8 ++++---- 3 files changed, 28 insertions(+), 23 deletions(-) diff --git a/dlls/d3d8/tests/visual.c b/dlls/d3d8/tests/visual.c index 191cf08900..6aaf365527 100644 --- a/dlls/d3d8/tests/visual.c +++ b/dlls/d3d8/tests/visual.c @@ -1983,11 +1983,6 @@ static void depth_buffer_test(IDirect3DDevice8 *device) hr = IDirect3DDevice8_SetRenderTarget(device, backbuffer, depth_stencil); ok(SUCCEEDED(hr), "SetRenderTarget failed, hr %#x.\n", hr); - IDirect3DSurface8_Release(depth_stencil); - IDirect3DSurface8_Release(backbuffer); - IDirect3DSurface8_Release(rt3); - IDirect3DSurface8_Release(rt2); - IDirect3DSurface8_Release(rt1); hr = IDirect3DDevice8_SetRenderState(device, D3DRS_ZWRITEENABLE, FALSE); ok(SUCCEEDED(hr), "SetRenderState failed, hr %#x.\n", hr); @@ -2015,6 +2010,12 @@ static void depth_buffer_test(IDirect3DDevice8 *device) hr = IDirect3DDevice8_Present(device, NULL, NULL, NULL, NULL); ok(SUCCEEDED(hr), "Present failed (0x%08x)\n", hr); + + IDirect3DSurface8_Release(depth_stencil); + IDirect3DSurface8_Release(backbuffer); + IDirect3DSurface8_Release(rt3); + IDirect3DSurface8_Release(rt2); + IDirect3DSurface8_Release(rt1); } /* Test that partial depth copies work the way they're supposed to. The clear @@ -2086,10 +2087,6 @@ static void depth_buffer2_test(IDirect3DDevice8 *device) hr = IDirect3DDevice8_SetRenderTarget(device, backbuffer, depth_stencil); ok(SUCCEEDED(hr), "SetRenderTarget failed, hr %#x.\n", hr); - IDirect3DSurface8_Release(depth_stencil); - IDirect3DSurface8_Release(backbuffer); - IDirect3DSurface8_Release(rt2); - IDirect3DSurface8_Release(rt1); hr = IDirect3DDevice8_SetRenderState(device, D3DRS_ZWRITEENABLE, FALSE); ok(SUCCEEDED(hr), "SetRenderState failed, hr %#x.\n", hr); @@ -2115,6 +2112,11 @@ static void depth_buffer2_test(IDirect3DDevice8 *device) hr = IDirect3DDevice8_Present(device, NULL, NULL, NULL, NULL); ok(SUCCEEDED(hr), "Present failed (0x%08x)\n", hr); + + IDirect3DSurface8_Release(depth_stencil); + IDirect3DSurface8_Release(backbuffer); + IDirect3DSurface8_Release(rt2); + IDirect3DSurface8_Release(rt1); } static void intz_test(IDirect3DDevice8 *device) diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c index be2d7dcf81..a67ce52c1b 100644 --- a/dlls/d3d9/tests/visual.c +++ b/dlls/d3d9/tests/visual.c @@ -11362,10 +11362,6 @@ static void depth_buffer_test(IDirect3DDevice9 *device) hr = IDirect3DDevice9_SetRenderTarget(device, 0, backbuffer); ok(SUCCEEDED(hr), "SetRenderTarget failed, hr %#x.\n", hr); - IDirect3DSurface9_Release(backbuffer); - IDirect3DSurface9_Release(rt3); - IDirect3DSurface9_Release(rt2); - IDirect3DSurface9_Release(rt1); hr = IDirect3DDevice9_SetRenderState(device, D3DRS_ZWRITEENABLE, FALSE); ok(SUCCEEDED(hr), "SetRenderState failed, hr %#x.\n", hr); @@ -11393,6 +11389,11 @@ static void depth_buffer_test(IDirect3DDevice9 *device) hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL); ok(SUCCEEDED(hr), "Present failed (0x%08x)\n", hr); + + IDirect3DSurface9_Release(backbuffer); + IDirect3DSurface9_Release(rt3); + IDirect3DSurface9_Release(rt2); + IDirect3DSurface9_Release(rt1); } /* Test that partial depth copies work the way they're supposed to. The clear @@ -11461,9 +11462,6 @@ static void depth_buffer2_test(IDirect3DDevice9 *device) hr = IDirect3DDevice9_SetRenderTarget(device, 0, backbuffer); ok(SUCCEEDED(hr), "SetRenderTarget failed, hr %#x.\n", hr); - IDirect3DSurface9_Release(backbuffer); - IDirect3DSurface9_Release(rt2); - IDirect3DSurface9_Release(rt1); hr = IDirect3DDevice9_SetRenderState(device, D3DRS_ZWRITEENABLE, FALSE); ok(SUCCEEDED(hr), "SetRenderState failed, hr %#x.\n", hr); @@ -11489,6 +11487,10 @@ static void depth_buffer2_test(IDirect3DDevice9 *device) hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL); ok(SUCCEEDED(hr), "Present failed (0x%08x)\n", hr); + + IDirect3DSurface9_Release(backbuffer); + IDirect3DSurface9_Release(rt2); + IDirect3DSurface9_Release(rt1); } static void depth_blit_test(IDirect3DDevice9 *device) @@ -11595,9 +11597,6 @@ static void depth_blit_test(IDirect3DDevice9 *device) ok(SUCCEEDED(hr), "Clear failed, hr %#x.\n", hr); hr = IDirect3DDevice9_StretchRect(device, ds2, NULL, ds1, NULL, D3DTEXF_POINT); ok(SUCCEEDED(hr), "StretchRect failed, hr %#x.\n", hr); - IDirect3DSurface9_Release(ds3); - IDirect3DSurface9_Release(ds2); - IDirect3DSurface9_Release(ds1); hr = IDirect3DDevice9_SetRenderState(device, D3DRS_ZWRITEENABLE, FALSE); ok(SUCCEEDED(hr), "SetRenderState failed, hr %#x.\n", hr); @@ -11624,6 +11623,10 @@ static void depth_blit_test(IDirect3DDevice9 *device) hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL); ok(SUCCEEDED(hr), "Present failed (0x%08x)\n", hr); + + IDirect3DSurface9_Release(ds3); + IDirect3DSurface9_Release(ds2); + IDirect3DSurface9_Release(ds1); } static void intz_test(IDirect3DDevice9 *device) diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c index 526c749253..fb8493c0b4 100644 --- a/dlls/wined3d/wined3d_main.c +++ b/dlls/wined3d/wined3d_main.c @@ -87,7 +87,7 @@ struct wined3d_settings wined3d_settings = NULL, /* No wine logo by default */ TRUE, /* Multisampling enabled by default. */ FALSE, /* No strict draw ordering. */ - FALSE, /* Try to render onscreen by default. */ + TRUE, /* Don't try to render onscreen by default. */ }; /* Do not call while under the GL lock. */ @@ -338,10 +338,10 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL) wined3d_settings.strict_draw_ordering = TRUE; } if (!get_config_key(hkey, appkey, "AlwaysOffscreen", buffer, size) - && !strcmp(buffer,"enabled")) + && !strcmp(buffer,"disabled")) { - TRACE("Always rendering backbuffers offscreen.\n"); - wined3d_settings.always_offscreen = TRUE; + TRACE("Not always rendering backbuffers offscreen.\n"); + wined3d_settings.always_offscreen = FALSE; } } if (wined3d_settings.vs_mode == VS_HW)