Mesa (mesa_7_4_branch): intel: Add extra, stronger flushes around CopyTexSubImage blits

Ian Romanick idr at kemper.freedesktop.org
Fri Mar 27 23:17:48 UTC 2009


Module: Mesa
Branch: mesa_7_4_branch
Commit: 63ed288396a7f078b88dbd92e201134797cf89eb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=63ed288396a7f078b88dbd92e201134797cf89eb

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Mar 27 14:22:47 2009 -0700

intel: Add extra, stronger flushes around CopyTexSubImage blits

---

 src/mesa/drivers/dri/intel/intel_context.c  |    2 +-
 src/mesa/drivers/dri/intel/intel_context.h  |    1 +
 src/mesa/drivers/dri/intel/intel_tex_copy.c |    3 ++-
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index 20dad52..2e76e93 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -533,7 +533,7 @@ intelFlush(GLcontext * ctx)
    intel_flush(ctx, GL_FALSE);
 }
 
-static void
+void
 intel_glFlush(GLcontext *ctx)
 {
    intel_flush(ctx, GL_TRUE);
diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h
index c536e76..8a8e59f 100644
--- a/src/mesa/drivers/dri/intel/intel_context.h
+++ b/src/mesa/drivers/dri/intel/intel_context.h
@@ -440,6 +440,7 @@ extern void intelGetLock(struct intel_context *intel, GLuint flags);
 
 extern void intelFinish(GLcontext * ctx);
 extern void intelFlush(GLcontext * ctx);
+extern void intel_glFlush(GLcontext *ctx);
 
 extern void intelInitDriverFunctions(struct dd_function_table *functions);
 extern void intelInitExtensions(GLcontext *ctx, GLboolean enable_imaging);
diff --git a/src/mesa/drivers/dri/intel/intel_tex_copy.c b/src/mesa/drivers/dri/intel/intel_tex_copy.c
index 08437aa..a7143b8 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_copy.c
+++ b/src/mesa/drivers/dri/intel/intel_tex_copy.c
@@ -104,7 +104,7 @@ do_copy_texsubimage(struct intel_context *intel,
       return GL_FALSE;
    }
 
-   intelFlush(ctx);
+   intel_glFlush(ctx);
    LOCK_HARDWARE(intel);
    {
       GLuint image_offset = intel_miptree_image_offset(intelImage->mt,
@@ -155,6 +155,7 @@ do_copy_texsubimage(struct intel_context *intel,
    }
 
    UNLOCK_HARDWARE(intel);
+   intel_glFlush(ctx);
 
    /* GL_SGIS_generate_mipmap */
    if (intelImage->level == texObj->BaseLevel && texObj->GenerateMipmap) {




More information about the mesa-commit mailing list