mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-15 23:00:08 +00:00
496c8f4a11
The current implementation of the glyph cache deals with atlases by padding them with 1 pixel at the beginning, at the end, and between each glyph. That's cool and all, however, there's a very subtle problem with this approach: the contents of the atlas are garbage, so this padding is filled with garbage memory! Rework the Vulkan glyph cache to draw each and every glyph in a surface that has 1 pixel border of padding around it. Ensure the surface is completely black by drawing a rectangle before handing it to Pango to draw the glyph. Update tx and ty to pick the texture position adjusted to the 1 pixel padding. The atlas now starts at position (0, 0), since each glyph individually contains its own padding. To improve legibility, add a PADDING define and use it everywhere. |
||
---|---|---|
.. | ||
resources | ||
gskvulkanblendmodepipeline.c | ||
gskvulkanblendmodepipelineprivate.h | ||
gskvulkanblurpipeline.c | ||
gskvulkanblurpipelineprivate.h | ||
gskvulkanborderpipeline.c | ||
gskvulkanborderpipelineprivate.h | ||
gskvulkanboxshadowpipeline.c | ||
gskvulkanboxshadowpipelineprivate.h | ||
gskvulkanbuffer.c | ||
gskvulkanbufferprivate.h | ||
gskvulkanclip.c | ||
gskvulkanclipprivate.h | ||
gskvulkancolorpipeline.c | ||
gskvulkancolorpipelineprivate.h | ||
gskvulkancolortextpipeline.c | ||
gskvulkancolortextpipelineprivate.h | ||
gskvulkancommandpool.c | ||
gskvulkancommandpoolprivate.h | ||
gskvulkancrossfadepipeline.c | ||
gskvulkancrossfadepipelineprivate.h | ||
gskvulkaneffectpipeline.c | ||
gskvulkaneffectpipelineprivate.h | ||
gskvulkanglyphcache.c | ||
gskvulkanglyphcacheprivate.h | ||
gskvulkanimage.c | ||
gskvulkanimageprivate.h | ||
gskvulkanlineargradientpipeline.c | ||
gskvulkanlineargradientpipelineprivate.h | ||
gskvulkanmemory.c | ||
gskvulkanmemoryprivate.h | ||
gskvulkanpipeline.c | ||
gskvulkanpipelineprivate.h | ||
gskvulkanpushconstants.c | ||
gskvulkanpushconstantsprivate.h | ||
gskvulkanrender.c | ||
gskvulkanrenderer.c | ||
gskvulkanrenderer.h | ||
gskvulkanrendererprivate.h | ||
gskvulkanrenderpass.c | ||
gskvulkanrenderpassprivate.h | ||
gskvulkanrenderprivate.h | ||
gskvulkanshader.c | ||
gskvulkanshaderprivate.h | ||
gskvulkantextpipeline.c | ||
gskvulkantextpipelineprivate.h | ||
gskvulkantexturepipeline.c | ||
gskvulkantexturepipelineprivate.h |