Mesa (master): i965: Emit post-sync non-zero flush before 3DSTATE_DRAWING_RECTANGLE.

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Oct 28 18:30:45 UTC 2013


Module: Mesa
Branch: master
Commit: 3aef1fefb4dc2a66101725f2fdc3f2bb0eb926c2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3aef1fefb4dc2a66101725f2fdc3f2bb0eb926c2

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Thu Oct 24 00:36:42 2013 -0700

i965: Emit post-sync non-zero flush before 3DSTATE_DRAWING_RECTANGLE.

This is another non-pipelined command that needs a flush on Sandybridge.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Tested-by: Xinkai Chen <yeled.nova at gmail.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Cc: "9.2" <mesa-stable at lists.freedesktop.org>

---

 src/mesa/drivers/dri/i965/brw_misc_state.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_misc_state.c b/src/mesa/drivers/dri/i965/brw_misc_state.c
index 5d1c27d..70b0dbd 100644
--- a/src/mesa/drivers/dri/i965/brw_misc_state.c
+++ b/src/mesa/drivers/dri/i965/brw_misc_state.c
@@ -48,6 +48,10 @@ static void upload_drawing_rect(struct brw_context *brw)
 {
    struct gl_context *ctx = &brw->ctx;
 
+   /* 3DSTATE_DRAWING_RECTANGLE is non-pipelined. */
+   if (brw->gen == 6)
+      intel_emit_post_sync_nonzero_flush(brw);
+
    BEGIN_BATCH(4);
    OUT_BATCH(_3DSTATE_DRAWING_RECTANGLE << 16 | (4 - 2));
    OUT_BATCH(0); /* xmin, ymin */




More information about the mesa-commit mailing list