<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>