<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [BDW] Screen stop at certain frame when running Synmark2 cases while FPS is updating"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=84958#c11">Comment # 11</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [BDW] Screen stop at certain frame when running Synmark2 cases while FPS is updating"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=84958">bug 84958</a>
              from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
        <pre>Hmm, VF instancing is the key. Apparently the command to disable instancing
with VF_SGVS is by itself insufficient:

diff --git a/src/sna/gen8_render.c b/src/sna/gen8_render.c
index 9187b38..06cb736 100644
--- a/src/sna/gen8_render.c
+++ b/src/sna/gen8_render.c
@@ -805,6 +805,7 @@ gen8_emit_cc_invariant(struct sna *sna)
 static void
 gen8_emit_vf_invariant(struct sna *sna)
 {
+       int n;
 #if 1
        OUT_BATCH(GEN8_3DSTATE_VF | (2 - 2));
        OUT_BATCH(0);
@@ -818,6 +819,12 @@ gen8_emit_vf_invariant(struct sna *sna)

        OUT_BATCH(GEN8_3DSTATE_VF_STATISTICS | 0);

+       for (n = 0; n < 33; n++) {
+               OUT_BATCH(GEN8_3DSTATE_VF_INSTANCING | (3 - 2));
+               OUT_BATCH(n);
+               OUT_BATCH(0);
+       }
+</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>