wined3d: Check for offscreen contexts inside context_validate_onscreen_formats() itself.

This commit is contained in:
Henri Verbeet 2010-05-18 09:53:08 +02:00 committed by Alexandre Julliard
parent 4889c33da6
commit e0d6ca57d7
1 changed files with 4 additions and 4 deletions

View File

@ -1973,7 +1973,7 @@ static void context_validate_onscreen_formats(IWineD3DDeviceImpl *device,
/* Onscreen surfaces are always in a swapchain */
IWineD3DSwapChainImpl *swapchain = (IWineD3DSwapChainImpl *)context->current_rt->container;
if (!depth_stencil) return;
if (context->render_offscreen || !depth_stencil) return;
if (match_depth_stencil_format(swapchain->ds_format, depth_stencil->resource.format_desc)) return;
/* TODO: If the requested format would satisfy the needs of the existing one(reverse match),
@ -1992,7 +1992,7 @@ void context_apply_blit_state(struct wined3d_context *context, IWineD3DDeviceImp
{
if (wined3d_settings.offscreen_rendering_mode == ORM_FBO)
{
if (!context->render_offscreen) context_validate_onscreen_formats(device, context, NULL);
context_validate_onscreen_formats(device, context, NULL);
if (context->render_offscreen)
{
@ -2032,7 +2032,7 @@ void context_apply_clear_state(struct wined3d_context *context, IWineD3DDeviceIm
if (wined3d_settings.offscreen_rendering_mode == ORM_FBO)
{
if (!context->render_offscreen) context_validate_onscreen_formats(device, context, depth_stencil);
context_validate_onscreen_formats(device, context, depth_stencil);
ENTER_GL();
context_apply_fbo_state_blit(context, GL_FRAMEBUFFER, render_target, depth_stencil);
@ -2078,7 +2078,7 @@ void context_apply_draw_state(struct wined3d_context *context, IWineD3DDeviceImp
if (wined3d_settings.offscreen_rendering_mode == ORM_FBO)
{
if (!context->render_offscreen) context_validate_onscreen_formats(device, context, device->depth_stencil);
context_validate_onscreen_formats(device, context, device->depth_stencil);
if (!context->render_offscreen)
{