From 1c7f39ed1e4a03aac2dd434ea88892234899c4f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Tue, 17 Jun 2008 01:41:02 +0200 Subject: [PATCH] wined3d: Use CTXUSAGE_RESOURCELOAD for fb->texture reads. There is no need for _BLIT usage. RESOURCELOAD should be faster. --- dlls/wined3d/surface.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 0171e31a9fa..1db152eaeab 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -886,12 +886,11 @@ static void read_from_framebuffer_texture(IWineD3DSurfaceImpl *This) d3dfmt_get_conv(This, TRUE /* We need color keying */, TRUE /* We will use textures */, &format, &internal, &type, &convert, &bpp, This->srgb); IWineD3DSurface_GetContainer((IWineD3DSurface *) This, &IID_IWineD3DSwapChain, (void **)&swapchain); - /* Activate the surface. Set it up for blitting now, although not necessarily needed for LockRect. - * Certain graphics drivers seem to dislike some enabled states when reading from opengl, the blitting usage - * should help here. Furthermore unlockrect will need the context set up for blitting. The context manager will find - * context->last_was_blit set on the unlock. + /* Activate the surface to read from. In some situations it isn't the currently active target(e.g. backbuffer + * locking during offscreen rendering). RESOURCELOAD is ok because glCopyTexSubImage2D isn't affected by any + * states in the stateblock, and no driver was found yet that had bugs in that regard. */ - ActivateContext(device, (IWineD3DSurface *) This, CTXUSAGE_BLIT); + ActivateContext(device, (IWineD3DSurface *) This, CTXUSAGE_RESOURCELOAD); surface_bind_and_dirtify(This); ENTER_GL();