Commit 718e55b9 authored by Stefan Dösinger's avatar Stefan Dösinger Committed by Alexandre Julliard

wined3d: Don't render single buffered swapchains to a FBO.

parent 6f2ec37b
...@@ -6527,8 +6527,13 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Reset(IWineD3DDevice* iface, WINED3DPRE ...@@ -6527,8 +6527,13 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Reset(IWineD3DDevice* iface, WINED3DPRE
RECT client_rect; RECT client_rect;
GetClientRect(swapchain->win_handle, &client_rect); GetClientRect(swapchain->win_handle, &client_rect);
if(swapchain->presentParms.BackBufferWidth != client_rect.right || if(!swapchain->presentParms.BackBufferCount)
swapchain->presentParms.BackBufferHeight != client_rect.bottom) {
TRACE("Single buffered rendering\n");
swapchain->render_to_fbo = FALSE;
}
else if(swapchain->presentParms.BackBufferWidth != client_rect.right ||
swapchain->presentParms.BackBufferHeight != client_rect.bottom )
{ {
TRACE("Rendering to FBO. Backbuffer %ux%u, window %ux%u\n", TRACE("Rendering to FBO. Backbuffer %ux%u, window %ux%u\n",
swapchain->presentParms.BackBufferWidth, swapchain->presentParms.BackBufferWidth,
......
...@@ -739,6 +739,7 @@ HRESULT swapchain_init(IWineD3DSwapChainImpl *swapchain, WINED3DSURFTYPE surface ...@@ -739,6 +739,7 @@ HRESULT swapchain_init(IWineD3DSwapChainImpl *swapchain, WINED3DSURFTYPE surface
swapchain->presentParms = *present_parameters; swapchain->presentParms = *present_parameters;
if (wined3d_settings.offscreen_rendering_mode == ORM_FBO if (wined3d_settings.offscreen_rendering_mode == ORM_FBO
&& present_parameters->BackBufferCount
&& (present_parameters->BackBufferWidth != client_rect.right && (present_parameters->BackBufferWidth != client_rect.right
|| present_parameters->BackBufferHeight != client_rect.bottom)) || present_parameters->BackBufferHeight != client_rect.bottom))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment