<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [nouveau] garbled rendering with glamor on G71"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99400#c12">Comment # 12</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [nouveau] garbled rendering with glamor on G71"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99400">bug 99400</a>
              from <span class="vcard"><a class="email" href="mailto:fourdan@xfce.org" title="Olivier Fourdan <fourdan@xfce.org>"> <span class="fn">Olivier Fourdan</span></a>
</span></b>
        <pre>I traced it down to the use of the text input field in gtk-demo's assistant.

The issue seems to be with one particular call to glamor_poly_fill_rect_gl()
with more than one prect (nrect > 1).

<a href="https://cgit.freedesktop.org/xorg/xserver/tree/glamor/glamor_rects.c#n42">https://cgit.freedesktop.org/xorg/xserver/tree/glamor/glamor_rects.c#n42</a>

Considering that the GLSL version is < 130 with this hardware, we are in the
else case:

<a href="https://cgit.freedesktop.org/xorg/xserver/tree/glamor/glamor_rects.c#n83">https://cgit.freedesktop.org/xorg/xserver/tree/glamor/glamor_rects.c#n83</a>

If, in that case, with nrect > 1, we bail (to SW) then rendering is fine.

But that same code gives the correct result in may other cases, with multiple
rects, so it does not seem to be a bug in the glamor code though... Besides,
the same code as used in Xephyr works fine.

I captured the apitrace of both Xehpyr -glamor and Xwayland along with the mesa
debug and glamor debug messages with:

  WAYLAND_DISPLAY=wayland-0 MESA_DEBUG=1,incomplete_tex,incomplete_fbo,context
apitrace trace ~/local/bin/Xwayland -noreset :1 |& tee Xwayland.log &
  DISPLAY=:1 GDK_BACKEND=x11 gtk-demo

Then same with Xephyr:

  DISPLAY=:0 MESA_DEBUG=1,incomplete_tex,incomplete_fbo,context  apitrace trace
~/local/bin/Xephyr -glamor -noreset :1 |& tee Xephyr.log &
  DISPLAY=:1 GDK_BACKEND=x11 gtk-demo

Mesa complains that "Texture Obj xxx incomplete because: TexImage[1] is
missing" but that occurs with both Xephyr and Xwayland so I guess it should not
be the problem.

By logging the prect coordinates, we can match if with the apitrace dump in
both cases. But again, I don't see much difference between the two (Xephyr
-glamor vs. Xwayland) 

Logs and traces are available here:

   <a href="https://people.freedesktop.org/~ofourdan/bug99400/">https://people.freedesktop.org/~ofourdan/bug99400/</a></pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>