<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED --- - [sna gen4 w/a] corrupt rendering (including wrong rendering of characters and flickering on redraw)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=55500#c149">Comment # 149</a>
              on <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED --- - [sna gen4 w/a] corrupt rendering (including wrong rendering of characters and flickering on redraw)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=55500">bug 55500</a>
              from <span class="vcard"><a class="email" href="mailto:ejsheldrake@gmail.com" title="Edward Sheldrake <ejsheldrake@gmail.com>"> <span class="fn">Edward Sheldrake</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=55500#c148">comment #148</a>)
<span class="quote">> Worth trying just:

> diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
> index 637137e..dc80de3 100644
> --- a/src/sna/gen4_render.c
> +++ b/src/sna/gen4_render.c
> @@ -660,9 +660,11 @@ inline static int gen4_get_rectangles(struct sna *sna,
>                 if (rem <= 0) {
>                         if (sna->render.vertex_offset) {
>                                 gen4_vertex_flush(sna);
> -                               if (gen4_magic_ca_pass(sna, op))
> +                               if (gen4_magic_ca_pass(sna, op)) {
> +                                       OUT_BATCH(MI_FLUSH |
> MI_INHIBIT_RENDER_CACHE_FLUSH);
>                                         gen4_emit_pipelined_pointers(sna,
> op, op->op,
>                                                                     
> op->u.gen4.wm_kernel);
> +                               }
>                         }
>                         OUT_BATCH(MI_FLUSH | MI_INHIBIT_RENDER_CACHE_FLUSH);
>                         rem = MAX_FLUSH_VERTICES;

> if you are happy that it reproduces reliably.</span >

This change did not fully solve the problem. One text file in gedit displayed
as blank initially for a bit, although things then seemed fine. But the freeze
with "[drm] stuck on render ring" happened during a second run of gtkperf -
while the "GtkDrawingArea - Text" test was running.

But I didn't spot any corrupted characters while running 2.99.907 with
MAX_FLUSH_VERTICES set back to 6 - although I hadn't been running that for very
long, and I only see a single garbled char occasionally, and I think they only
appear in Firefox.</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>