[Development] QSGText: Why round glyph position like this?

Eskil Abrahamsen Blomfeldt Eskil.Abrahamsen-Blomfeldt at qt.io
Thu Sep 7 08:45:41 CEST 2023


Hi!

Just removing the pixel snapping from the vertex shader should definitely cause regressions, yes.

I'm not totally clear on what the problem is on your end, so maybe it is more efficient if you file a bug report for this with some screenshots and descriptions of what you mean?


Eskil Abrahamsen Blomfeldt
Senior Manager, Graphics

The Qt Company
Sandakerveien 116
0484 Oslo, Norway
eskil.abrahamsen-blomfeldt at qt.io
http://qt.io

________________________________
From: Kai Uwe Broulik <kde at privat.broulik.de>
Sent: Tuesday, September 5, 2023 8:51 AM
To: Eskil Abrahamsen Blomfeldt <Eskil.Abrahamsen-Blomfeldt at qt.io>; development at qt-project.org <development at qt-project.org>
Subject: Re: [Development] QSGText: Why round glyph position like this?

Hi,

thanks for your insights, Eskil!

I am running a self-compiled Qt dev, so it’s all up-to-date. I did some
further investigation and found that the glyph cache is actually
rendered alright, so nothing to do with FreeType etc.

It seems that the textmask.vert [1] shader is still not entirely
perfect, even after the fixes you mentioned: If I remove the
flooring/dpr stuff from it, text is rendered correctly here but could
probably regress elsewhere?

For example, the word “Erscheinungsbild” has two “i”, both use the same
glyph in my case, but the second one is rendered incorrectly by the shader:

Glyph #7 (i):
In cache at 66,1 @ 5x17, gets rendered to 40.5714,4 @ 2.85714x9.71429
Scale the coordinate back up x1.75 gives us 70.99995,7 @ 4.999995x17.0000075

Glyph #14 (i):
In cache at 66,1 @ 5x17, gets rendered to 90.2857,4 @ 2.85714x9.71429
Scale the coordinate back up x1.75 gives us 157.999975,7 @
4.999995x17.0000075

I haven’t managed to get Renderdoc up and running, though, to see what
values the shader actually processes and why one gets misplaced by it.
Any idea?

The issue can be reproduced under Wayland *and X*, with NativeRendering.

Cheers
Kai Uwe

[1]
https://code.qt.io/cgit/qt/qtdeclarative.git/tree/src/quick/scenegraph/shaders_ng/textmask.vert#n22

Am 29.08.23 um 13:07 schrieb Eskil Abrahamsen Blomfeldt:
> [...] I did fix some bugs related to this,
> e.g. https://codereview.qt-project.org/c/qt/qtdeclarative/+/417675
> <https://codereview.qt-project.org/c/qt/qtdeclarative/+/417675> and
> https://codereview.qt-project.org/c/qt/qtdeclarative/+/376361
> <https://codereview.qt-project.org/c/qt/qtdeclarative/+/376361>
>
> Most of my testing was on Windows, though, so it sounds like there could
> still be issues on Wayland
> [...]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20230907/0bc4f106/attachment-0001.htm>


More information about the Development mailing list