gtk/gsk
Benjamin Otte 6dea23128a gpu: Add the GSK_GPU_IMAGE_SRGB flag
This commit just adds the flag, but I wanted to make it an individual
commit to explain the purpose:

The SRGB flag is meant to be used for images that have an SRGB format.
In Vulkan terms, that means VK_FORMAT_*_SRGB.
In GL, it means GL_SRGB or GL_SRGB_ALPHA.

As these formats have been madatory since GL 3.0, we can (ab)use them
uncoditionally. Images in these formats are renderable, too, so it's
not just usable for uploading.

What these images allow is treating the data as sRGB while shaders
access them as linear, thereby getting sRGB<=>linear conversions for
free.

It is also possible to switch off the linearization of these images and
treat them as sRGB, which allows all sorts of shenanigans, though one
has to be careful if that turning off applies to the relevant GL/Vulkan
code in question.
2024-07-11 14:57:19 +02:00
..
broadway docs: gsk: Add docstring for BroadwayRenderer 2024-06-29 15:14:33 +02:00
gl gdk: Allow querying GL SRGB formats 2024-07-11 14:57:19 +02:00
gpu gpu: Add the GSK_GPU_IMAGE_SRGB flag 2024-07-11 14:57:19 +02: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 Replace "gdouble" with "double" 2020-07-25 00:47:36 +02:00
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 gsk: Fix a minor type mismatch 2024-04-13 22:28:48 -04: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: Fix a maybe-uninitialized warning 2024-04-12 12:08:03 +01:00
gskcurveprivate.h Add gsk_curve_get_cusps 2023-09-17 00:23:53 -04:00
gskdebug.c gsk: Rename GSK_DEBUG=glyphcache to GSK_DEBUG=cache 2024-07-07 05:24:45 +02:00
gskdebugprivate.h gsk: Rename GSK_DEBUG=glyphcache to GSK_DEBUG=cache 2024-07-07 05:24:45 +02: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 types: fix various use of volatile in type registration 2020-11-18 20:21:33 -08:00
gskenumtypes.h.template Use @basename@ in enumeration type templates 2019-02-04 14:02:45 +01:00
gskglshader.c gskglshader: Fix typo in deprecation docs 2024-07-08 09:21:43 +03:00
gskglshader.h gsk: Deprecate GskGLShader and the rendernode 2024-07-04 21:28:06 +02:00
gskglshaderprivate.h gsk: Deprecate GskGLShader and the rendernode 2024-07-04 21:28:06 +02:00
gskoffload.c Take all transforms into account 2024-07-10 22:11:13 +02:00
gskoffloadprivate.h gdk: Rename GdkTextureTransform to GdkDihedral 2024-07-10 12:36:07 +02: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 gskpathbuilder: Document add_cairo_path path arg 2024-06-01 10:01:19 +02: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 gskpathpoint: Document copy and free 2024-05-31 11:47:29 +02: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 path: document enum 2024-04-28 08:33:03 +02:00
gskprivate.c Bump the pango dep 2024-04-04 00:56:24 +02:00
gskprivate.h Drop unused private API 2024-04-03 10:53:55 +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 transform: Implement transform_bounds() for dihedrals 2024-07-10 21:34:12 +02:00
gskrenderer.c gsk: Require dmabuf support for Vulkan 2024-05-05 15:19:17 -04: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 rendernode: Add fully-opaque flag 2024-07-08 15:28:14 +02:00
gskrendernode.h gsk: Add gsk_render_node_get_opaque_rect() 2024-07-08 15:28:14 +02:00
gskrendernodeimpl.c rendernode: Handle rotation transforms in opacity calculations 2024-07-10 21:34:12 +02:00
gskrendernodeparser.c gsk: Deprecate GskGLShader and the rendernode 2024-07-04 21:28:06 +02:00
gskrendernodeparserprivate.h gsk: Allow custom fonts in node files 2024-01-15 18:58:17 -05:00
gskrendernodeprivate.h rendernode: Add fully-opaque flag 2024-07-08 15:28:14 +02:00
gskroundedrect.c Add gdk_dihedral_swaps_xy 2024-07-10 21:34:12 +02:00
gskroundedrect.h gsk: Move GskRoundedRect typedef 2023-09-15 03:46:27 +02:00
gskroundedrectprivate.h gpu: Implement transform support for dihedral transforms 2024-07-10 21:34:12 +02:00
gskstroke.c gskstroke: Add missing return annotations 2024-06-01 10:01:19 +02: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 transform: Implement transform_point() for dihedrals 2024-07-10 21:34:12 +02:00
gsktransform.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gsktransformprivate.h transform: Add gsk_transform_to_dihedral() 2024-07-10 14:38:48 +02:00
gsktypes.h gsk: Move GskRoundedRect typedef 2023-09-15 03:46:27 +02:00
meson.build gpu: Remove the ubershader 2024-07-07 05:19:32 +02:00