<html><head></head><body><div class="yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div dir="ltr" data-setdir="false">Hi,</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">cairo version: <span>cairo-1.16.0</span></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">hardware: Intel HD 530, Intel UHD 620 with latest open gl drivers (may 2019)</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">backend: opengl</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">api: <span>cairo_show_text</span></div><div dir="ltr" data-setdir="false"><span><br></span></div><div dir="ltr" data-setdir="false"><span>input: string "ij", in size 33</span></div><div dir="ltr" data-setdir="false"><span><br></span></div><div dir="ltr" data-setdir="false"><span>description:</span></div><div dir="ltr" data-setdir="false"><span><br></span></div><div dir="ltr" data-setdir="false"> <span>_cairo_scaled_font_glyph_device_extents detects that the glyphs overlap and rendering takes the mask path, <span>render_glyphs_via_mask.</span></span><br></div><div dir="ltr" data-setdir="false"><span><span>After doing the mask texture rendering it draws the mask texture into the frame buffer 0. It appears that on the intel driver</span></span></div><div dir="ltr" data-setdir="false"><span><span>there is not synchronization and the texture is used before being ready. This causes garbled output for text and if a lot of text is drawn the gl backend no longer works.</span></span></div><div dir="ltr" data-setdir="false"><span><span><br></span></span></div><div dir="ltr" data-setdir="false"><span><span>A simple solution is to insert a glFlush just before <span> cairo_surface_destroy (mask). This takes care of the issue but I am not sure what it does in terms of performance.</span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span><br></span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span>I hope this info is useful.</span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span><br></span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span>Best regards,</span></span></span></div><div dir="ltr" data-setdir="false"><span><span><span>Ciprian Cudalbu.</span></span></span></div><div dir="ltr" data-setdir="false"><span><span><br></span></span></div><div dir="ltr" data-setdir="false"><span><div><br></div><div><br></div><div><br></div></span></div><div dir="ltr" data-setdir="false"><span><br></span></div></div></body></html>