gtk/gsk/vulkan
Georges Basile Stavracas Neto 496c8f4a11 gsk/vulkan/glyphcache: Rework glyphs
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.
2023-04-08 20:13:13 -03:00
..
resources gsk: Move shader resources 2021-04-03 08:24:58 -04:00
gskvulkanblendmodepipeline.c gsk: Move Vulkan sources to a subdirectory 2018-01-06 09:36:55 -05:00
gskvulkanblendmodepipelineprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanblurpipeline.c gsk: Move Vulkan sources to a subdirectory 2018-01-06 09:36:55 -05:00
gskvulkanblurpipelineprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanborderpipeline.c gsk: Move Vulkan sources to a subdirectory 2018-01-06 09:36:55 -05:00
gskvulkanborderpipelineprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanboxshadowpipeline.c gsk: Move Vulkan sources to a subdirectory 2018-01-06 09:36:55 -05:00
gskvulkanboxshadowpipelineprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanbuffer.c gsk/vulkan/buffer: Pass aligned memory value 2023-04-03 10:59:45 -03:00
gskvulkanbufferprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanclip.c Fix spelling errors 2022-11-17 22:49:45 -05:00
gskvulkanclipprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkancolorpipeline.c gsk: Move Vulkan sources to a subdirectory 2018-01-06 09:36:55 -05:00
gskvulkancolorpipelineprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkancolortextpipeline.c gsk/vulkan: Use default blend factors 2023-04-08 20:13:13 -03:00
gskvulkancolortextpipelineprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkancommandpool.c gsk: Stop using g_slice 2023-03-14 14:56:42 -04:00
gskvulkancommandpoolprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkancrossfadepipeline.c gsk: Move Vulkan sources to a subdirectory 2018-01-06 09:36:55 -05:00
gskvulkancrossfadepipelineprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkaneffectpipeline.c gsk: Move Vulkan sources to a subdirectory 2018-01-06 09:36:55 -05:00
gskvulkaneffectpipelineprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanglyphcache.c gsk/vulkan/glyphcache: Rework glyphs 2023-04-08 20:13:13 -03:00
gskvulkanglyphcacheprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanimage.c gsk/vulkanimage: Set buffer row length and height 2023-04-03 10:59:45 -03:00
gskvulkanimageprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanlineargradientpipeline.c gsk: Move Vulkan sources to a subdirectory 2018-01-06 09:36:55 -05:00
gskvulkanlineargradientpipelineprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanmemory.c gsk: Stop using g_slice 2023-03-14 14:56:42 -04:00
gskvulkanmemoryprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanpipeline.c gsk/vulkan/pipeline: Simplify pipeline creation 2023-04-08 20:13:13 -03:00
gskvulkanpipelineprivate.h gsk/vulkan/pipeline: Simplify pipeline creation 2023-04-08 20:13:13 -03:00
gskvulkanpushconstants.c vulkan: Handle simple transforms in the clipping code 2021-03-05 19:36:36 -05:00
gskvulkanpushconstantsprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanrender.c vulkan: Support fractional scaling 2023-04-03 11:10:27 -03:00
gskvulkanrenderer.c vulkan: Support fractional scaling 2023-04-03 11:10:27 -03:00
gskvulkanrenderer.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanrendererprivate.h gsk/vulkan/glyphcache: Rework glyphs 2023-04-08 20:13:13 -03:00
gskvulkanrenderpass.c gsk/vulkan/renderpass: Don't scale scissor and render area 2023-04-03 10:59:45 -03:00
gskvulkanrenderpassprivate.h Merge branch 'gbsneto/mildly-mid-vulkan-fixes' into 'main' 2023-04-01 18:23:12 +00:00
gskvulkanrenderprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanshader.c gsk: Stop using g_slice 2023-03-14 14:56:42 -04:00
gskvulkanshaderprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkantextpipeline.c gsk/vulkan: Use default blend factors 2023-04-08 20:13:13 -03:00
gskvulkantextpipelineprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkantexturepipeline.c gsk: Move Vulkan sources to a subdirectory 2018-01-06 09:36:55 -05:00
gskvulkantexturepipelineprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00