gtk/gsk
Matthias Clasen 4c6e623ec5 gpu: Keep track of atlas use
Count how many dead pixels we have, and free the atlas if more than
half of its pixels are dead.

As part of this, change when glyphs are freed. We now keep them
in the hash table until their atlas is freed and we only do dead
pixel accounting when should_collect is called. This keeps the
glyphs available for use from the cache as long as are in the atlas.

If a stale glyph is sused, we 'revive' it by removing its pixels
from the dead.

This matches more closely what the gl renderer does.
2024-01-25 09:41:48 -05:00
..
broadway renderer: Pass the display as part of the vfunc 2024-01-07 14:47:22 +01:00
gl Tweak profiling strings 2024-01-21 14:02:08 -05:00
gpu gpu: Keep track of atlas use 2024-01-25 09:41:48 -05:00
gen-gsk-gresources-xml.py gpu: Add ability to run shaders 2024-01-07 07:22:49 +01:00
gsk.h gsk: Include GL renderer in gsk.h 2024-01-07 14:47:22 +01:00
gskboundingboxprivate.h Add gsk_bounding_box_get_corner 2023-09-16 21:57:31 -04:00
gskcairoblur.c
gskcairoblurprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskcairorenderer.c renderer: Pass the display as part of the vfunc 2024-01-07 14:47:22 +01:00
gskcairorenderer.h gsk: Add header guard to missing header 2024-01-07 07:22:49 +01:00
gskcontour.c contour: Fix stroke bounds for rect contour 2024-01-09 23:27:55 +01:00
gskcontourprivate.h Drop tolerance from gsk_contour_foreach 2023-08-28 20:52:22 -04:00
gskcurve-ct-values.c curve: Reduce the order of our approximation 2023-08-26 10:23:02 -04:00
gskcurve.c gsk/gskcurve.c: Avoid returning value in void-retype function 2023-10-24 13:18:26 +08:00
gskcurveprivate.h Add gsk_curve_get_cusps 2023-09-17 00:23:53 -04:00
gskdebug.c gsk: Clarify debug category messages a bit 2023-12-26 17:28:08 +01:00
gskdebugprivate.h gsk: Repurpose GSK_DEBUG=cairo 2023-12-26 05:31:05 +01:00
gskdiff.c gsk: Stop using g_slice 2023-03-14 14:56:42 -04:00
gskdiffprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskenums.h Add Since annotations to enums 2023-12-22 08:47:47 -05:00
gskenumtypes.c.template
gskenumtypes.h.template
gskglshader.c Remove G_ENABLE_DEBUG around debug checks 2023-11-05 11:16:23 +01:00
gskglshader.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskglshaderprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskoffload.c gsk: Some more rect inlining 2023-11-24 10:35:57 -05:00
gskoffloadprivate.h offload: Drop unused api 2023-11-18 08:19:43 -05:00
gskpath.c Fix typos throughout 2024-01-07 20:44:05 -05:00
gskpath.h Change gsk_path_get_closest_point to return distance 2023-08-28 11:22:30 -04:00
gskpathbuilder.c Fix some static analysis warnings 2023-11-24 10:35:57 -05:00
gskpathbuilder.h pathbuilder: Add rel-variants for arc-to 2023-08-25 09:45:45 -04:00
gskpathmeasure.c measure: Cosmetics 2023-08-28 21:14:28 -04:00
gskpathmeasure.h Add GskPathMeasure 2023-08-25 20:16:49 -04:00
gskpathopprivate.h path: Switch back to conics 2023-08-25 07:33:16 -04:00
gskpathparser.c path: Fix parsing rounded rects 2023-09-17 17:01:44 -04:00
gskpathpoint.c docs: Add details 2023-09-15 16:31:09 -04:00
gskpathpoint.h Add a few annotations 2023-12-26 21:57:04 -05:00
gskpathpointprivate.h Improve precondition checks for path points 2023-08-28 00:07:50 -04:00
gskpathprivate.h Make gsk_path_builder_svg_arc_to public 2023-08-23 12:43:52 -04:00
gskpointprivate.h gsk: Add GskPath 2023-08-06 20:48:09 -04:00
gskprivate.c Drop an unused function 2022-07-15 15:47:11 -04:00
gskprivate.h vulkan: Add VulkanOp->next 2023-07-16 12:13:00 +02:00
gskprofiler.c Fix various bitfield warnings 2023-04-27 13:42:03 +02:00
gskprofilerprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskrectprivate.h gsk: Inline some more rect functions 2024-01-20 11:33:59 -05:00
gskrenderer.c API: Add gsk_renderer_realize_for_display() 2024-01-07 14:47:22 +01:00
gskrenderer.h API: Add gsk_renderer_realize_for_display() 2024-01-07 14:47:22 +01:00
gskrendererprivate.h renderer: Pass the display as part of the vfunc 2024-01-07 14:47:22 +01:00
gskrendernode.c Merge branch 'wip/otte/for-main' into 'main' 2023-12-27 22:15:05 +00:00
gskrendernode.h rendernode: Don't mark impure functions as pure 2023-12-26 05:03:24 +01:00
gskrendernodeimpl.c cairo: Fix wrong offset when tiling repeat nodes 2024-01-23 06:17:14 +01:00
gskrendernodeparser.c rendernodeparser: Improve error handling for font parsing 2024-01-22 07:47:10 +01:00
gskrendernodeparserprivate.h gsk: Allow custom fonts in node files 2024-01-15 18:58:17 -05:00
gskrendernodeprivate.h Add a few annotations 2023-12-26 21:57:04 -05:00
gskroundedrect.c roundedrect: Use fabsf 2024-01-20 11:33:59 -05:00
gskroundedrect.h gsk: Move GskRoundedRect typedef 2023-09-15 03:46:27 +02:00
gskroundedrectprivate.h vulkan: Try really hard to use clear 2023-07-16 13:16:41 +02:00
gskstroke.c stroke: Turn stroke copy intialization into a macro 2023-12-28 07:35:46 +01:00
gskstroke.h Add GskStroke 2023-08-07 13:02:57 -04:00
gskstrokeprivate.h stroke: Turn stroke copy intialization into a macro 2023-12-28 07:35:46 +01:00
gsktransform.c snapshot, gsktransform: Mention that rotation happens around (0, 0) 2023-08-25 15:54:05 +03:00
gsktransform.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gsktransformprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gsktypes.h gsk: Move GskRoundedRect typedef 2023-09-15 03:46:27 +02:00
meson.build gsk: include Vulkan renderer in public header 2024-01-07 14:47:22 +01:00