gtk/gsk/gpu
Benjamin Otte 9c60c8b0c7 gpu: Don't double clip edges
Due to using offscreens when drawing shadows, we are drawing twice:
Once into the offscreen and then the offscreen into the backbuffer.

We were using the node bounds rectangle for both of these operations
which caused the edge to be antialiased twice - if the edge was not
pixel-aligned.

This was a cause of the label-shadows.ui reftest randomly breaking on
some setups.

Test added.
2025-01-08 18:52:41 +01:00
..
shaders gsk: Clip luminosity when clipping colors 2024-12-01 20:00:53 +01:00
gskglbuffer.c ngL: Use a single buffer for globals 2024-09-28 02:25:40 +02:00
gskglbufferprivate.h ngL: Use a single buffer for globals 2024-09-28 02:25:40 +02:00
gskgldevice.c ngl: Conform to buffer offset alignment requirements 2024-11-28 00:25:22 +01:00
gskgldeviceprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskglframe.c ngL: Use a single buffer for globals 2024-09-28 02:25:40 +02:00
gskglframeprivate.h ngL: Use a single buffer for globals 2024-09-28 02:25:40 +02:00
gskglimage.c gsk: Don't leak gl textures 2024-09-21 10:51:26 +02:00
gskglimageprivate.h gpu: Fix fd leak in GL dmabuf export 2024-08-26 20:31:08 +02:00
gskgpublendmodeop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpublendmodeopprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpublendop.c gpu: Add GSK_GPU_BLEND_NONE 2024-07-13 10:56:47 +02:00
gskgpublendopprivate.h gpu: Make blend modes configurable 2024-01-07 07:22:52 +01:00
gskgpublitop.c gsk: Remove unnecessary G_GNUC_FALLTHROUGH 2024-02-13 18:29:03 +01:00
gskgpublitopprivate.h gpu: Add outline of new GPU renderer 2024-01-07 07:22:49 +01:00
gskgpublurop.c gpu: Print blur colors 2024-09-07 12:34:04 -04:00
gskgpubluropprivate.h gsk: Change the blur op api 2024-08-09 20:09:31 -04:00
gskgpuborderop.c gsk: Change the border op api 2024-08-06 07:35:00 -04:00
gskgpuborderopprivate.h gsk: Change the border op api 2024-08-06 07:35:00 -04:00
gskgpuboxshadowop.c Change box shadow op api 2024-08-08 15:43:49 -04:00
gskgpuboxshadowopprivate.h Change box shadow op api 2024-08-08 15:43:49 -04:00
gskgpubuffer.c gpu: Fix argument names 2024-09-25 02:50:22 +02:00
gskgpubufferprivate.h gsk/gpu: avoid unnecessary buffer uploads 2024-03-08 13:55:57 -08:00
gskgpucache.c Merge branch 'wip/otte/win32-fixes' into 'main' 2024-10-21 21:39:30 +00:00
gskgpucacheprivate.h memoryformat: Add linear/nearest choice for mipmaping 2024-09-06 15:47:35 -04:00
gskgpuclearop.c gsk: Change the clear op api 2024-08-05 11:11:14 -04:00
gskgpuclearopprivate.h gsk: Change the clear op api 2024-08-05 11:11:14 -04:00
gskgpuclip.c gpu: Clarify a function 2024-09-11 08:33:22 +02:00
gskgpuclipprivate.h gpu: Move GskGpuClip declaration into types header 2024-09-11 08:34:41 +02:00
gskgpucolorizeop.c gpu: Print some tex rects in verbose output 2024-09-15 02:31:02 +02:00
gskgpucolorizeopprivate.h gpu: Add a variant of gsk_gpu_colorize_op 2024-09-08 12:41:48 -04:00
gskgpucolormatrixop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpucolormatrixopprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpucolorop.c gsk: Change color op apis 2024-08-05 11:11:14 -04:00
gskgpucoloropprivate.h gsk: Change color op apis 2024-08-05 11:11:14 -04:00
gskgpucolorstatesprivate.h gpu: Refactor gradient handling for non-default ICS 2024-11-29 11:49:13 +00:00
gskgpuconicgradientop.c gpu: Refactor gradient handling for non-default ICS 2024-11-29 11:49:13 +00:00
gskgpuconicgradientopprivate.h gsk: Use new gradient node apis 2024-10-04 14:51:33 -04:00
gskgpuconvertbuiltinop.c colorstate: Don't make oklab and oklch default colorstates 2024-11-29 11:49:13 +00:00
gskgpuconvertbuiltinopprivate.h colorstate: Don't make oklab and oklch default colorstates 2024-11-29 11:49:13 +00:00
gskgpuconvertcicpop.c gpu: More debug spew 2024-07-26 07:22:45 -04:00
gskgpuconvertcicpopprivate.h gsk: Add a cicp convert shader 2024-07-24 08:16:08 -06:00
gskgpuconvertop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpuconvertopprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpucrossfadeop.c gpu: The colorstate op doesn't need a colorstates arg 2024-08-20 01:05:20 +02:00
gskgpucrossfadeopprivate.h gpu: The colorstate op doesn't need a colorstates arg 2024-08-20 01:05:20 +02:00
gskgpudevice.c ngl: Conform to buffer offset alignment requirements 2024-11-28 00:25:22 +01:00
gskgpudeviceprivate.h ngl: Conform to buffer offset alignment requirements 2024-11-28 00:25:22 +01:00
gskgpudownloadop.c gpu: Add a gsk_gpu_download_into_op() 2024-09-26 22:06:17 +02:00
gskgpudownloadopprivate.h gpu: Add a gsk_gpu_download_into_op() 2024-09-26 22:06:17 +02:00
gskgpuframe.c opengl: fix unmap size for globals buffer 2025-01-02 22:08:46 +01:00
gskgpuframeprivate.h Make gsk_gpu_frame_download_texture return status 2024-09-30 18:37:20 -04:00
gskgpuglobalsop.c ngl: Conform to buffer offset alignment requirements 2024-11-28 00:25:22 +01:00
gskgpuglobalsopprivate.h ngL: Use a single buffer for globals 2024-09-28 02:25:40 +02:00
gskgpuimage.c ngl: Mark backbuffers as srgb 2024-07-11 14:57:20 +02:00
gskgpuimageprivate.h gpu: Add dmabuf import for Vulkan 2024-01-07 07:22:51 +01:00
gskgpulineargradientop.c gpu: Refactor gradient handling for non-default ICS 2024-11-29 11:49:13 +00:00
gskgpulineargradientopprivate.h gsk: Handle hue-interpolation in ops 2024-10-04 21:16:36 -04:00
gskgpumaskop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpumaskopprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpumipmapop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpumipmapopprivate.h gpu: Add support for texture-scale nodes 2024-01-07 07:22:51 +01:00
gskgpunodeprocessor.c gpu: Don't double clip edges 2025-01-08 18:52:41 +01:00
gskgpunodeprocessorprivate.h gpu: Actually ensure a downloadable dmabuf 2024-09-26 22:06:18 +02:00
gskgpuop.c gpu: Add a CommandState struct to the command vfuncs 2024-01-07 07:22:51 +01:00
gskgpuopprivate.h ngL: Use a single buffer for globals 2024-09-28 02:25:40 +02:00
gskgpuprint.c gpu: verbose-print if shaders are inside merged ops 2024-09-11 08:17:58 +02:00
gskgpuprintprivate.h gpu: verbose-print if shaders are inside merged ops 2024-09-11 08:17:58 +02:00
gskgpuradialgradientop.c gpu: Refactor gradient handling for non-default ICS 2024-11-29 11:49:13 +00:00
gskgpuradialgradientopprivate.h gsk: Use new gradient node apis 2024-10-04 14:51:33 -04:00
gskgpurenderer.c gpu: Add GSK_GPU_DISABLE=repeat 2024-10-03 20:11:00 -04:00
gskgpurenderer.h gpu: Add outline of new GPU renderer 2024-01-07 07:22:49 +01:00
gskgpurendererprivate.h gpu: Drop get_dmabuf_formats 2024-09-30 18:37:20 -04:00
gskgpurenderpassop.c gpu: Add GskGpuLoadOp 2024-08-21 21:13:34 +02:00
gskgpurenderpassopprivate.h gpu: Add GskGpuLoadOp 2024-08-21 21:13:34 +02:00
gskgpuroundedcolorop.c gsk: Change color op apis 2024-08-05 11:11:14 -04:00
gskgpuroundedcoloropprivate.h gsk: Change color op apis 2024-08-05 11:11:14 -04:00
gskgpuscissorop.c gpu: Add a CommandState struct to the command vfuncs 2024-01-07 07:22:51 +01:00
gskgpuscissoropprivate.h gpu: Add scissor operation 2024-01-07 07:22:49 +01:00
gskgpushaderflagsprivate.h gpu: Compile with AMD's compiler, too 2024-07-22 19:40:24 +02:00
gskgpushaderop.c gpu: verbose-print if shaders are inside merged ops 2024-09-11 08:17:58 +02:00
gskgpushaderopprivate.h gsk: Use new gradient node apis 2024-10-04 14:51:33 -04:00
gskgputextureop.c gpu: Print some tex rects in verbose output 2024-09-15 02:31:02 +02:00
gskgputextureopprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgputypesprivate.h gpu: Add GSK_GPU_DISABLE=repeat 2024-10-03 20:11:00 -04:00
gskgpuuploadop.c gpu: Make definition match declaration 2024-10-21 20:18:46 +02:00
gskgpuuploadopprivate.h memoryformat: Add linear/nearest choice for mipmaping 2024-09-06 15:47:35 -04:00
gsknglrenderer.c gpu: Drop get_dmabuf_formats 2024-09-30 18:37:20 -04:00
gsknglrendererprivate.h gpu: Add outline of new GPU renderer 2024-01-07 07:22:49 +01:00
gskvulkanbuffer.c vulkan: Prefer cached buffer memory 2024-03-16 22:32:49 +01:00
gskvulkanbufferprivate.h gpu: Add ability to run shaders 2024-01-07 07:22:49 +01:00
gskvulkandevice.c ngl: Conform to buffer offset alignment requirements 2024-11-28 00:25:22 +01:00
gskvulkandeviceprivate.h gpu: Add GskGpuLoadOp 2024-08-21 21:13:34 +02:00
gskvulkanframe.c ngL: Use a single buffer for globals 2024-09-28 02:25:40 +02:00
gskvulkanframeprivate.h gpu: sync dmabufs via semaphores 2024-01-07 07:22:52 +01:00
gskvulkanimage.c Cosmetics 2024-09-30 07:40:48 -04:00
gskvulkanimageprivate.h gpu: Pass color state to download op 2024-09-26 22:06:17 +02:00
gskvulkanmemory.c gskvulkanmemory.c: Use VK_NULL_HANDLE for VkDeviceMemory 2024-05-29 12:57:07 +08:00
gskvulkanmemoryprivate.h gpu: Fix argument names 2024-09-25 02:50:22 +02:00
gskvulkanrenderer.c gpu: Drop get_dmabuf_formats 2024-09-30 18:37:20 -04:00
gskvulkanrenderer.h gsk: include Vulkan renderer in public header 2024-01-07 14:47:22 +01:00
gskvulkanycbcr.c gpu: Completely revamp YCbCr handling 2024-07-22 19:40:24 +02:00
gskvulkanycbcrprivate.h gpu: Completely revamp YCbCr handling 2024-07-22 19:40:24 +02:00