Comment 20 for bug 1098334

Revision history for this message
In , Chris Wilson (ickle) wrote :

Ok, we are now into the realms of a missing GPU flush, or rather a missing workaround.

Can you please try:

diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index ceef528..9d298dd 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -1265,6 +1265,7 @@ gen4_emit_pipelined_pointers(struct sna *sna,
        if (key == sna->render_state.gen4.last_pipelined_pointers)
                return;

+ OUT_BATCH(MI_FLUSH | MI_INHIBIT_RENDER_CACHE_FLUSH);
        OUT_BATCH(GEN4_3DSTATE_PIPELINED_POINTERS | 5);
        OUT_BATCH(sna->render_state.gen4.vs);
        OUT_BATCH(GEN4_GS_DISABLE); /* passthrough */

with everything else back to normal.