cairo-glesv2 and pango: CAIRO_STATUS_DEVICE_ERROR

Christopher Pahl <[email protected]> Mon, 1 Jul 2019 14:01:51 +0200
Newsgroups gmane.comp.lib.cairo
Message-ID <CALF0hGua7U0AkYfZ4c-=ykgLfpg0y4u44nFuMfD_F9H7KppvBA@mail.gmail.com>
--===============1603129998==
Content-Type: multipart/alternative; boundary="000000000000a3466e058c9d6075"

--000000000000a3466e058c9d6075
Content-Type: text/plain; charset="UTF-8"

Hello dear cairo devs,

I need your help troubleshooting what possibly could be a bug in cairo.

I'm developing an embedded UI that uses cairo for drawing its contents and
pango for layouting text.
For hardware acceleration I'm planning to use the cairo-gl surface backend
(--enable-glesv2 to be exact), since that
is supported well on the target hardware (RaPi 3b+) and showed promising
results overall on first tests (big kudos for that!)
The UI will run inside a weston compositor, as native wayland client, using
EGL to get a OpenGL ES 2.0 context.

Sadly, I get pretty weird behavior related to font rendering. There are
three possible states:

- The UI totally works. This was mostly the case only when development
started.
- The UI refuses to start, every call to cairo_show_text() or
pango_cairo_show_layout().
- The UI starts, but everything drawn before the text calls is blacked out,
only the elements drawn after are visible.

I tried to put a minimal example of this here:

https://gist.github.com/sahib/320c2fdfce983ffaf2a931940bd68318

The behavior is the same on my development machine and on the target
hardware. Now, here's the catch:

If I compile cairo with --enable-glesv3, everything works perfectly fine on
my machine (except that glesv3 does not make sense on the Pi...)
I'm happy to provide more data if required, but I'm a bit stuck here on
what to try. It would be very nice if you could push me in the right
direction.

For reference:

- both cairo 1.16 and latest cairo master from git show the same issue
- I'm using weston 6.0.0
- I'm using pango 1.43.0 and freetype 2.10.0

Best regards,
Chris

--000000000000a3466e058c9d6075
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hello dear cairo devs,</div><div><br></div><div>I nee=
d your help troubleshooting what possibly could be a bug in cairo.</div><di=
v><br></div><div>I&#39;m developing an embedded UI that uses cairo for draw=
ing its contents and pango for layouting text.</div><div>For hardware accel=
eration I&#39;m planning to use the cairo-gl surface backend (--enable-gles=
v2 to be exact), since that</div><div>is supported well on the target hardw=
are (RaPi 3b+) and showed promising results overall on first tests (big kud=
os for that!)</div><div>The UI will run inside a weston compositor, as nati=
ve wayland client, using EGL to get a OpenGL ES 2.0 context.<br></div><div>=
<br></div><div>Sadly, I get pretty weird behavior related to font rendering=
. There are three possible states:</div><div><br></div><div>- The UI totall=
y works. This was mostly the case only when development started.<br></div><=
div>- The UI refuses to start, every call to cairo_show_text() or pango_cai=
ro_show_layout().</div><div>- The UI starts, but everything drawn before th=
e text calls is blacked out, only the elements drawn after are visible.</di=
v><div><br></div><div>I tried to put a minimal example of this here:</div><=
div><br></div><div><a href=3D"https://gist.github.com/sahib/320c2fdfce983ff=
af2a931940bd68318">https://gist.github.com/sahib/320c2fdfce983ffaf2a931940b=
d68318</a></div><div><br></div><div>The behavior is the same on my developm=
ent machine and on the target hardware. Now, here&#39;s the catch:</div><di=
v><br></div><div>If I compile cairo with --enable-glesv3, everything works =
perfectly fine on my machine (except that glesv3 does not make sense on the=
 Pi...)<br></div><div>I&#39;m happy to provide more data if required, but I=
&#39;m a bit stuck here on what to try. It would be very nice if you could =
push me in the right direction.<br></div><div><br></div><div>For reference:=
</div><div><br></div><div>- both cairo 1.16 and latest cairo master from gi=
t show the same issue</div><div>- I&#39;m using weston 6.0.0<br></div><div>=
- I&#39;m using pango 1.43.0 and freetype 2.10.0<br></div><div><br></div><d=
iv>Best regards,</div><div>Chris<br></div><div><div dir=3D"ltr"><div><div d=
ir=3D"ltr"><div><br></div></div></div></div></div></div>

--000000000000a3466e058c9d6075--

--===============1603129998==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

LS0gCmNhaXJvIG1haWxpbmcgbGlzdApjYWlyb0BjYWlyb2dyYXBoaWNzLm9yZwpodHRwczovL2xp
c3RzLmNhaXJvZ3JhcGhpY3Mub3JnL21haWxtYW4vbGlzdGluZm8vY2Fpcm8=

--===============1603129998==--