wined3d: Don't render single buffered swapchains to a FBO.
This commit is contained in:
parent
6f2ec37b60
commit
718e55b9a6
|
@ -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
|
||||||
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))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue