From ff85cd5f4af3408e35bbfd51446c4ea516856e5c Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Tue, 24 Jan 2017 22:15:26 +0100 Subject: [PATCH] wined3d: Get rid of the "AlwaysOffscreen" setting. Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/wined3d/context.c | 5 ++--- dlls/wined3d/swapchain.c | 21 --------------------- dlls/wined3d/texture.c | 2 +- dlls/wined3d/wined3d_main.c | 7 ------- dlls/wined3d/wined3d_private.h | 1 - 5 files changed, 3 insertions(+), 33 deletions(-) diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c index 6112b40e60f..b4e40fdf63c 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c @@ -1752,7 +1752,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain, if (color_format->id == WINED3DFMT_P8_UINT) color_format = wined3d_get_format(gl_info, WINED3DFMT_B8G8R8A8_UNORM, target_usage); - /* When "always_offscreen" is enabled, we only use the drawable for + /* When using FBOs for off-screen rendering, we only use the drawable for * presentation blits, and don't do any rendering to it. That means we * don't need depth or stencil buffers, and can mostly ignore the render * target format. This wouldn't necessarily be quite correct for 10bpc @@ -1760,8 +1760,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain, * Using the same format regardless of the color/depth/stencil targets * makes it much less likely that different wined3d instances will set * conflicting pixel formats. */ - if (wined3d_settings.offscreen_rendering_mode != ORM_BACKBUFFER - && wined3d_settings.always_offscreen) + if (wined3d_settings.offscreen_rendering_mode != ORM_BACKBUFFER) { color_format = wined3d_get_format(gl_info, WINED3DFMT_B8G8R8A8_UNORM, target_usage); ds_format = wined3d_get_format(gl_info, WINED3DFMT_UNKNOWN, WINED3DUSAGE_DEPTHSTENCIL); diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c index 06215fc32cf..e52ab41c87c 100644 --- a/dlls/wined3d/swapchain.c +++ b/dlls/wined3d/swapchain.c @@ -749,8 +749,6 @@ static const struct wined3d_swapchain_ops swapchain_gdi_ops = static void swapchain_update_render_to_fbo(struct wined3d_swapchain *swapchain) { - RECT client_rect; - if (wined3d_settings.offscreen_rendering_mode != ORM_FBO) return; @@ -761,25 +759,6 @@ static void swapchain_update_render_to_fbo(struct wined3d_swapchain *swapchain) return; } - GetClientRect(swapchain->win_handle, &client_rect); - - TRACE("Backbuffer %ux%u, window %ux%u.\n", - swapchain->desc.backbuffer_width, - swapchain->desc.backbuffer_height, - client_rect.right, client_rect.bottom); - TRACE("Multisample type %#x, quality %#x.\n", - swapchain->desc.multisample_type, - swapchain->desc.multisample_quality); - - if (!wined3d_settings.always_offscreen && !swapchain->desc.multisample_type - && swapchain->desc.backbuffer_width == client_rect.right - && swapchain->desc.backbuffer_height == client_rect.bottom) - { - TRACE("Backbuffer dimensions match window dimensions, rendering onscreen.\n"); - swapchain->render_to_fbo = FALSE; - return; - } - TRACE("Rendering to FBO.\n"); swapchain->render_to_fbo = TRUE; } diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c index da003e15b33..b4267ed69f4 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c @@ -1366,7 +1366,7 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned return TRUE; case WINED3D_LOCATION_DRAWABLE: - if (!texture->swapchain && wined3d_settings.always_offscreen) + if (!texture->swapchain && wined3d_settings.offscreen_rendering_mode != ORM_BACKBUFFER) ERR("Texture %p does not have a drawable.\n", texture); return TRUE; diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c index eb566bcd6ce..442a9707fb4 100644 --- a/dlls/wined3d/wined3d_main.c +++ b/dlls/wined3d/wined3d_main.c @@ -82,7 +82,6 @@ struct wined3d_settings wined3d_settings = TRUE, /* Multisampling enabled by default. */ ~0u, /* Don't force a specific sample count by default. */ FALSE, /* No strict draw ordering. */ - TRUE, /* Don't try to render onscreen by default. */ FALSE, /* Don't range check relative addressing indices in float constants. */ ~0U, /* No VS shader model limit by default. */ ~0U, /* No HS shader model limit by default. */ @@ -304,12 +303,6 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL) TRACE("Enforcing strict draw ordering.\n"); wined3d_settings.strict_draw_ordering = TRUE; } - if (!get_config_key(hkey, appkey, "AlwaysOffscreen", buffer, size) - && !strcmp(buffer,"disabled")) - { - TRACE("Not always rendering backbuffers offscreen.\n"); - wined3d_settings.always_offscreen = FALSE; - } if (!get_config_key(hkey, appkey, "CheckFloatConstants", buffer, size) && !strcmp(buffer, "enabled")) { diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 271c605bd88..71c95231400 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -298,7 +298,6 @@ struct wined3d_settings int allow_multisampling; unsigned int sample_count; BOOL strict_draw_ordering; - BOOL always_offscreen; BOOL check_float_constants; unsigned int max_sm_vs; unsigned int max_sm_hs;