Details
-
Bug
-
Resolution: Incomplete
-
Not Evaluated
-
None
-
4.7.1
-
None
-
Linux (MeeGo)
Description
Bug forwarded from MeeGo:
http://bugs.meego.com/show_bug.cgi?id=2645
http://bugs.meego.com/show_bug.cgi?id=9231
> Qt tries to create 256 x 4096 A8 texture, which is beyond HW limitation (2k x 2k).
> It does expose one driver issue that causes seg-fault. developer puts a fix for seg-fault.
> However, since driver will fail the creation of new font texture in this case,
> it will show corruption again. And it will not recover due to Qt texture cache mechanism.
>
> Qt must check texture size limitation before creating texture.
> Or, make QTextureGlyphCache::populate() a little bit smarter to create a 512x2048 texture for this case.
This also commented on http://bugs.meego.com/show_bug.cgi?id=10120#c35
> One thing that typically wrong in QT TextureGlyphCache is that it never checks
> HW capability, and probably creates a texture up to 256x32768 size. The default
> width is defined by QT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH (256), but max height
> is hard code to 32768. On nCDK, gfx HW supports texture up to 2048x2048. One
> issue we found long time ago is that Qt glyph tries to create 256x4096 size of
> texture, which will be rejected by driver. This usually happens when it wants
> to put font into one big texture, including those special characters. No matter
> this is the root cause or not, Qt glyph needs to be a little bit smart rather
> than create something out of HW cap.