gtk/gdk
Matthias Clasen a78796f22c gpu: Add a color convert shader
This shader converts between two color states, by using the
same functions that we use on the cpu. The conversion to perform
is passed as part of the variation.

As premultiplication is part of color states on the shader, we also
encode the premultiplication in the shader.
And because opacity is a useful optimization, we also allow setting
opacity.

For now, the only possible color states are srgb and srgb-linear.
2024-07-11 14:57:20 +02:00
..
broadway drawcontext: Make begin_frame() set colorstate + depth 2024-07-11 14:57:20 +02:00
deprecated gdk: Fix up introspection build 2023-05-21 09:46:49 -04:00
loaders loaders: Make it possible to load png options 2024-04-28 23:42:02 -04:00
macos drawcontext: Make begin_frame() set colorstate + depth 2024-07-11 14:57:20 +02:00
version Use #pragma once 2023-05-09 16:43:35 +01:00
wayland drawcontext: Make begin_frame() set colorstate + depth 2024-07-11 14:57:20 +02:00
win32 gdk: Add color state arg to gdk_texture_download_surface() 2024-07-11 14:57:20 +02:00
x11 gdk: Add color state arg to gdk_texture_download_surface() 2024-07-11 14:57:20 +02:00
COPYING Change FSF Address 2012-02-27 17:06:11 +00:00
default_cursor.png docs: Update cursor images 2023-09-21 19:51:11 +02:00
filetransferportal.c Remove G_ENABLE_DEBUG around debug checks 2023-11-05 11:16:23 +01:00
filetransferportalprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdk.c gdk: Add GDK_DEBUG=linear for experimental linear rendering 2024-07-11 14:57:19 +02:00
gdk.h gdk: Add GdkColorState 2024-07-11 14:57:19 +02:00
gdkapplaunchcontext.c Drop gdkintl.h 2022-09-23 23:33:42 -04:00
gdkapplaunchcontext.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkapplaunchcontextprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkarrayimpl.c array: Don't overflow array size 2024-05-10 21:22:03 -04:00
gdkcairo.c gdk: Drop some unused private api 2023-05-15 20:30:38 -04:00
gdkcairo.h gdk: Deprecated some pixbuf apis 2023-05-15 18:22:37 -04:00
gdkcairocontext.c gdk: Remove gdkinternals.h 2021-09-24 22:50:29 +02:00
gdkcairocontext.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcairocontextprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkcairoprivate.h cairo: Add colorstate to GskRenderNode::draw and use it 2024-07-11 14:57:20 +02:00
gdkclipboard.c Use the appropriate annotations for callback closures 2024-07-03 16:57:47 +01:00
gdkclipboard.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkclipboardprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkcolorstate.c gdk: Add gdk_memory_format_convert_color_state 2024-07-11 14:57:20 +02:00
gdkcolorstate.h gdk: Add GdkColorState 2024-07-11 14:57:19 +02:00
gdkcolorstateprivate.h gpu: Add a color convert shader 2024-07-11 14:57:20 +02:00
gdkconfig.h.meson gdk: Cosmetics 2022-10-05 23:01:28 -04:00
gdkconfig.h.win32 Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkconfig.h.win32_vulkan Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkconstructorprivate.h Rename gdkconstructor.h to gdkconstructorprivate.h 2022-09-23 23:14:08 -04:00
gdkcontentdeserializer.c Use the appropriate annotations for callback closures 2024-07-03 16:57:47 +01:00
gdkcontentdeserializer.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcontentformats.c gdk: Fix an oversight in GdkContentFormats 2023-06-09 08:17:34 -04:00
gdkcontentformats.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcontentformatsprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkcontentprovider.c Use the appropriate annotations for callback closures 2024-07-03 16:57:47 +01:00
gdkcontentprovider.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcontentproviderimpl.c Drop gdkintl.h 2022-09-23 23:33:42 -04:00
gdkcontentproviderimpl.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcontentproviderprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkcontentserializer.c Use the appropriate annotations for callback closures 2024-07-03 16:57:47 +01:00
gdkcontentserializer.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkcursor.c gdk: Add callback cursors 2024-04-04 01:07:28 +02:00
gdkcursor.h gdkcursor: Fix typo in GdkCursorGetTestureCallback 2024-06-01 09:04:00 +02:00
gdkcursorprivate.h gdk: Add callback cursors 2024-04-04 01:07:28 +02:00
gdkdebugprivate.h gdk: Add GDK_DEBUG=linear for experimental linear rendering 2024-07-11 14:57:19 +02:00
gdkdevice.c Use GDK_NO_MODIFIER_MASK in default prop values 2024-01-13 01:30:02 +01:00
gdkdevice.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdevicepad.c gdk: Clean up docs syntax 2021-05-22 17:25:26 -04:00
gdkdevicepad.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdevicepadprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdeviceprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdevicetool.c Various spelling mistakes across a few domains that show up in documentation. 2022-12-08 12:16:22 +00:00
gdkdevicetool.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdevicetoolprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdihedral.c Add gdk_dihedral_get_name 2024-07-10 22:11:13 +02:00
gdkdihedralprivate.h Add gdk_dihedral_get_name 2024-07-10 22:11:13 +02:00
gdkdisplay.c gdk: Add GDK_MEMORY_NONE depth 2024-07-11 14:57:20 +02:00
gdkdisplay.h Let GdkDisplay decide if shadows should be drawn 2024-01-25 12:09:10 +01:00
gdkdisplaymanager.c Avoid a bad warning 2023-05-01 10:40:26 -04:00
gdkdisplaymanager.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdisplaymanagerprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdisplayprivate.h gdk: Create our egl surface with srgb colorspace 2024-07-11 14:57:20 +02:00
gdkdmabuf.c dmabuf: Add gdk_dmabuf_close_fds() 2024-07-11 13:34:36 +02:00
gdkdmabufdownloader.c dmabufdownloader: Add a close() function 2023-12-20 10:59:25 +01:00
gdkdmabufdownloaderprivate.h dmabufdownloader: Add a close() function 2023-12-20 10:59:25 +01:00
gdkdmabufegl.c dmabuf: Ref previous context 2024-05-07 00:34:47 +02:00
gdkdmabufeglprivate.h egl: Split out a function 2023-12-20 01:51:46 +01:00
gdkdmabufformats.c dmabuf: Add gdk_dmabuf_formats_equal 2024-02-07 12:38:18 -05:00
gdkdmabufformats.h dmabuf: Add gdk_dmabuf_formats_equal 2024-02-07 12:38:18 -05:00
gdkdmabufformatsbuilder.c dmabuf: Allow implicit modifiers 2023-10-24 22:33:45 -04:00
gdkdmabufformatsbuilderprivate.h dmabufformats: Add GdkDmabufFormatsBuilder 2023-10-14 22:29:10 +02:00
gdkdmabufformatsprivate.h dmabufformats: Add GdkDmabufFormatsBuilder 2023-10-14 22:29:10 +02:00
gdkdmabuffourccprivate.h meson: Decouple linux/dma-buf.h and libdrm checks 2024-02-16 14:01:44 +01:00
gdkdmabufprivate.h dmabuf: Add gdk_dmabuf_close_fds() 2024-07-11 13:34:36 +02:00
gdkdmabuftexture.c gdk: Give textures a color state 2024-07-11 14:57:19 +02:00
gdkdmabuftexture.h dmabuf: move DmabufTexture typedef 2023-12-20 01:51:46 +01:00
gdkdmabuftexturebuilder.c dmabuf: Reshuffle docs slightly 2024-04-07 13:03:13 -04:00
gdkdmabuftexturebuilder.h dmabuf: Add a GError to gdk_dmabuf_texture_builder_build() 2023-10-14 22:30:17 +02:00
gdkdmabuftexturebuilderprivate.h Add gdk_dmabuf_texture_builder_set_dmabuf 2024-04-07 11:12:13 -04:00
gdkdmabuftextureprivate.h Add a private header 2024-04-07 11:12:13 -04:00
gdkdrag.c dnd: Go back to using dnd-move as move cursor 2024-03-21 21:36:38 -04:00
gdkdrag.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdragprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdragsurface.c Remove wrong annotation from GdkDragSurface::compute-size 2023-03-26 15:50:22 +01:00
gdkdragsurface.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdragsurfaceprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkdragsurfacesize.c g-i: Add since annotation to GdkSurfaceSize 2023-03-20 08:14:25 +00:00
gdkdragsurfacesize.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdragsurfacesizeprivate.h Add GdkDragSurfaceSize 2023-03-14 19:41:44 -07:00
gdkdrawcontext.c drawcontext: Make begin_frame() set colorstate + depth 2024-07-11 14:57:20 +02:00
gdkdrawcontext.h gdk: Introduce empty frames in GdkDrawContext 2023-11-13 22:17:35 +01:00
gdkdrawcontextprivate.h drawcontext: Make begin_frame() set colorstate + depth 2024-07-11 14:57:20 +02:00
gdkdrop.c Use the appropriate annotations for callback closures 2024-07-03 16:57:47 +01:00
gdkdrop.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkdropprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkenums.h docs: Add a line on explicit use of modifiers on macOS 2024-06-28 10:29:58 +02:00
gdkevents.c gdkevents: gdk_event_get_position return value 2024-06-01 10:01:20 +02:00
gdkevents.h Add Since annotations to enums 2023-12-22 08:47:47 -05:00
gdkeventsprivate.h main: Propagate event handled state up backend 2024-02-07 16:36:26 +01:00
gdkframeclock.c frameclock: Make timings history dynamic 2024-03-10 10:27:36 +01:00
gdkframeclock.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkframeclockidle.c Revert "gdk/frameclock: add mark when we discover frames may drop" 2024-05-01 08:03:16 -04:00
gdkframeclockidleprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkframeclockprivate.h frameclock: Make timings history dynamic 2024-03-10 10:27:36 +01:00
gdkframetimings.c gdk: Stop using g_slice 2023-03-14 14:56:42 -04:00
gdkframetimings.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkgl.c gl: Turn has_foo flags into GdkGLFeatures 2024-03-16 13:44:02 +01:00
gdkglcontext.c drawcontext: Make begin_frame() set colorstate + depth 2024-07-11 14:57:20 +02:00
gdkglcontext.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkglcontextprivate.h gl: Add buffer implementation using persistent mapping 2024-03-16 20:55:26 +01:00
gdkglobals.c gdk: Remove gdkinternals.h 2021-09-24 22:50:29 +02:00
gdkgltexture.c gdk: Add GDK_MEMORY_U8_SRGB depth 2024-07-11 14:57:19 +02:00
gdkgltexture.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkgltexturebuilder.c Fix typos throughout 2024-01-07 20:44:05 -05:00
gdkgltexturebuilder.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkgltextureprivate.h gltexture: Optionally take a sync object 2023-04-27 06:55:37 +02:00
gdkglversionprivate.h gdk: Add workaround for Visual Studio 2023-04-27 02:13:33 +02:00
gdkhsla.c gdk_rgba_parse: Support HSL colors 2021-09-10 16:56:42 -05:00
gdkhslaprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkkeys.c gdk: Tweaks to keyname handling 2022-09-24 10:03:37 -04:00
gdkkeys.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkkeysprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkkeysyms-update.pl Update the link to the development branch 2022-01-13 14:42:34 +00:00
gdkkeysyms.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkkeyuni.c gdk: Update keyboard symbols from libxkbcommon 2022-01-29 14:31:09 +02:00
gdkmarshalers.list surface: add missing va_marshaller for layout signal 2021-12-07 22:21:19 -08:00
gdkmemoryformat.c gdk: Add a fast-path 2024-07-11 14:57:20 +02:00
gdkmemoryformatprivate.h gdk: Add gdk_memory_format_convert_color_state 2024-07-11 14:57:20 +02:00
gdkmemorytexture.c gdk: Give textures a color state 2024-07-11 14:57:19 +02:00
gdkmemorytexture.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkmemorytextureprivate.h Simply some internal api 2024-06-19 02:06:14 -04:00
gdkmonitor.c gdk: Add private convenience api 2024-04-09 19:13:34 -04:00
gdkmonitor.h monitor: Add gdk_monitor_get_scale 2024-01-30 20:56:08 -05:00
gdkmonitorprivate.h gdk: Add private convenience api 2024-04-09 19:13:34 -04:00
gdkpaintable.c docs: Fix: gdk->gtk and gdk->gsk links 2024-01-05 14:57:07 -05:00
gdkpaintable.h docs: Fix the reference link 2024-03-29 13:31:36 +00:00
gdkpango.c Drop gdkintl.h 2022-09-23 23:33:42 -04:00
gdkpango.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkpipeiostream.c Stop using enums in bitfields 2023-10-10 11:23:08 +03:00
gdkpipeiostreamprivate.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkpopup.c Cosmetics 2024-06-26 07:33:15 -04:00
gdkpopup.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkpopuplayout.c docs: Fix: gdk->gtk and gdk->gsk links 2024-01-05 14:57:07 -05:00
gdkpopuplayout.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdkpopupprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkprivate.h gdk: Drop unnecessary conditionals 2023-07-20 15:18:13 -04:00
gdkprofiler.c Tweak profiling strings 2024-01-21 14:02:08 -05:00
gdkprofilerprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkrectangle.c gdk: Clean up docs syntax 2021-05-22 17:25:26 -04:00
gdkrectangle.h rect: Annotate some functions as pure 2024-01-06 17:18:18 -05:00
gdkrectangleprivate.h wayland: Use wl_surface_damage_buffer() in Cairo 2023-04-29 05:07:03 +02:00
gdkrgba.c gdk: Add gdk_rgba_print 2024-05-31 21:29:49 -04:00
gdkrgba.h Revert "Merge branch 'rgba-new-from-string' into 'main'" 2023-12-02 10:55:35 +05:45
gdkrgbaprivate.h gdk: Add gdk_rgba_print 2024-05-31 21:29:49 -04:00
gdkseat.c Drop gdkintl.h 2022-09-23 23:33:42 -04:00
gdkseat.h gdk: Include pads in GDK_SEAT_CAPABILITY_ALL 2023-06-14 01:42:53 +02:00
gdkseatdefault.c gdk/x11: Implement XI2.4 touchpad gesture support 2021-09-27 23:19:33 +03:00
gdkseatdefaultprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdkseatprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdksnapshot.c docs: Fix: gdk->gtk and gdk->gsk links 2024-01-05 14:57:07 -05:00
gdksnapshot.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdksnapshotprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdksubsurface.c subsurface: Fix a precondition 2024-07-10 21:34:12 +02:00
gdksubsurfaceprivate.h gdk: Rename GdkTextureTransform to GdkDihedral 2024-07-10 12:36:07 +02:00
gdksurface.c drawcontext: Make begin_frame() set colorstate + depth 2024-07-11 14:57:20 +02:00
gdksurface.h vulkan: Disable gdk_surface_create_vulkan_context() 2024-01-07 14:47:22 +01:00
gdksurfaceprivate.h drawcontext: Make begin_frame() set colorstate + depth 2024-07-11 14:57:20 +02:00
gdktexture.c gdk: Add color state arg to gdk_texture_download_surface() 2024-07-11 14:57:20 +02:00
gdktexture.h gdk: Give textures a color state 2024-07-11 14:57:19 +02:00
gdktexturedownloader.c Fix typos throughout 2024-01-07 20:44:05 -05:00
gdktexturedownloader.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdktexturedownloaderprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdktextureprivate.h gdk: Add color state arg to gdk_texture_download_surface() 2024-07-11 14:57:20 +02:00
gdktoplevel.c gdktoplevel: Document toplevel_titlebar_gesture 2024-06-29 15:14:33 +02:00
gdktoplevel.h gdktoplevel: Document TitlebarGesture 2024-05-31 11:47:30 +02:00
gdktoplevellayout.c gdk: Clean up docs syntax 2021-05-22 17:25:26 -04:00
gdktoplevellayout.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdktoplevelprivate.h gdk: Change the private export handle api 2023-05-14 23:49:44 -04:00
gdktoplevelsize.c Let GdkDisplay decide if shadows should be drawn 2024-01-25 12:09:10 +01:00
gdktoplevelsize.h Minimize the amount of inclusions in public headers 2023-05-09 17:36:59 +01:00
gdktoplevelsizeprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gdktypes.h gdk: Add GdkColorState 2024-07-11 14:57:19 +02:00
gdkvulkancontext.c drawcontext: Make begin_frame() set colorstate + depth 2024-07-11 14:57:20 +02:00
gdkvulkancontext.h gdk: Don't include vulkan.h in public API anymore 2024-01-07 14:47:22 +01:00
gdkvulkancontextprivate.h vulkan: Remove unused function 2024-06-29 07:14:03 -04:00
gen-gdk-gresources-xml.py gdk: Remove unused gdk_gl_texture_quads() function 2021-10-06 03:44:36 +02:00
gen-keyname-table.pl gdk: Tweaks to keyname handling 2022-09-24 10:03:37 -04:00
keynames-translate.txt gdk: Translate some more key names 2017-10-09 20:33:14 +02:00
keynames.txt Fix key "Page_Down" identified as "Next" 2013-10-24 18:48:33 -04:00
keynamesprivate.h gdk: Tweaks to keyname handling 2022-09-24 10:03:37 -04:00
meson.build gdk: Add GdkColorState 2024-07-11 14:57:19 +02:00