xf86-video-intel: src/sna/gen4_render.c
Chris Wilson
ickle at kemper.freedesktop.org
Sat Aug 4 10:06:34 PDT 2012
src/sna/gen4_render.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
New commits:
commit d917a276bff4e933590e78404526b929b6b3b497
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sat Aug 4 18:05:03 2012 +0100
sna/gen4: Restore the w/a flush for fill/copy as well
So far, it looks like that the only one we can indeed drop is the
composite with mask.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index d2dc366..7dab92b 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -60,13 +60,15 @@
#define NO_VIDEO 0
#if FLUSH_EVERY_VERTEX
+#define _FLUSH() do { \
+ gen4_vertex_flush(sna); \
+ OUT_BATCH(MI_FLUSH | MI_INHIBIT_RENDER_CACHE_FLUSH); \
+} while (0)
#define FLUSH(OP) do { \
- if ((OP)->mask.bo == NULL) { \
- gen4_vertex_flush(sna); \
- OUT_BATCH(MI_FLUSH | MI_INHIBIT_RENDER_CACHE_FLUSH); \
- } \
+ if ((OP)->mask.bo == NULL) _FLUSH(); \
} while (0)
#else
+#define _FLUSH()
#define FLUSH(OP)
#endif
@@ -1682,7 +1684,7 @@ gen4_render_video(struct sna *sna,
OUT_VERTEX_F((box->x1 - dxo) * src_scale_x);
OUT_VERTEX_F((box->y1 - dyo) * src_scale_y);
- FLUSH(&tmp);
+ _FLUSH();
if (!DAMAGE_IS_ALL(priv->gpu_damage)) {
sna_damage_add_box(&priv->gpu_damage, &r);
@@ -2750,6 +2752,8 @@ gen4_render_copy_one(struct sna *sna,
OUT_VERTEX(dx, dy);
OUT_VERTEX_F(sx*op->src.scale[0]);
OUT_VERTEX_F(sy*op->src.scale[1]);
+
+ _FLUSH();
}
static inline bool prefer_blt_copy(struct sna *sna, unsigned flags)
@@ -3075,6 +3079,8 @@ gen4_render_fill_rectangle(struct sna *sna,
OUT_VERTEX(x, y);
OUT_VERTEX_F(0);
OUT_VERTEX_F(0);
+
+ _FLUSH();
}
static bool
More information about the xorg-commit
mailing list