Henri Verbeet : wined3d: Use the FBO cache in swapchain_blit().

Alexandre Julliard julliard at winehq.org
Thu May 6 11:13:21 CDT 2010


Module: wine
Branch: master
Commit: 7a2debe113198fab0756dab5a3d1ecf7550c5a9f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7a2debe113198fab0756dab5a3d1ecf7550c5a9f

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Wed May  5 18:22:36 2010 +0200

wined3d: Use the FBO cache in swapchain_blit().

---

 dlls/wined3d/context.c         |    5 -----
 dlls/wined3d/swapchain.c       |    5 ++---
 dlls/wined3d/wined3d_private.h |    1 -
 3 files changed, 2 insertions(+), 9 deletions(-)

diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 24624ab..d240686 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -841,11 +841,6 @@ static void context_destroy_gl_resources(struct wined3d_context *context)
 
     if (context->valid)
     {
-        if (context->src_fbo)
-        {
-            TRACE("Destroy src FBO %d\n", context->src_fbo);
-            context_destroy_fbo(context, &context->src_fbo);
-        }
         if (context->dst_fbo)
         {
             TRACE("Destroy dst FBO %d\n", context->dst_fbo);
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index b5d2d70..eeb1278 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -117,9 +117,8 @@ static void swapchain_blit(IWineD3DSwapChainImpl *This, struct wined3d_context *
     if (gl_info->fbo_ops.glBlitFramebuffer && is_identity_fixup(backbuffer->resource.format_desc->color_fixup))
     {
         ENTER_GL();
-        context_bind_fbo(context, GL_READ_FRAMEBUFFER, &context->src_fbo);
-        context_attach_surface_fbo(context, GL_READ_FRAMEBUFFER, 0, backbuffer);
-        context_attach_depth_stencil_fbo(context, GL_READ_FRAMEBUFFER, NULL, FALSE);
+        context_apply_fbo_state_blit(context, GL_READ_FRAMEBUFFER, backbuffer, NULL);
+        glReadBuffer(GL_COLOR_ATTACHMENT0);
 
         context_bind_fbo(context, GL_DRAW_FRAMEBUFFER, NULL);
         context_set_draw_buffer(context, GL_BACK);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 8181b31..179b4c4 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1087,7 +1087,6 @@ struct wined3d_context
     struct list             fbo_list;
     struct list             fbo_destroy_list;
     struct fbo_entry        *current_fbo;
-    GLuint                  src_fbo;
     GLuint                  dst_fbo;
     GLuint                  fbo_read_binding;
     GLuint                  fbo_draw_binding;




More information about the wine-cvs mailing list