gtk/gsk
Benjamin Otte 03cd652063 gpu: Disable the ubershader when shaders aren't nonuniform
If shaders don't support nonuniform indexing, we emulate it via if/else
ladders (or switch ladders) which get inlined by the GLSL compiles and
massively blow up the code.

And that makes compilation of the shaders take minutes and results in
shader code that isn't necessarily faster.

So we disable it on GL entirely and on Vulkan if the required features
aren't available.

As it's only an optimization and does not fall back to Cairo anymore,
this should be fine.
2024-01-07 08:18:36 +01:00
..
broadway renderer: Remove offload argument from render() 2023-11-14 21:54:35 +01:00
gl gl: Undeprecate the NGL renderer for now 2024-01-07 07:22:49 +01:00
gpu gpu: Disable the ubershader when shaders aren't nonuniform 2024-01-07 08:18:36 +01:00
vulkan gpu: Add outline of new GPU renderer 2024-01-07 07:22:49 +01:00
gen-gsk-gresources-xml.py gpu: Add ability to run shaders 2024-01-07 07:22:49 +01:00
gsk.h Add GskPathMeasure 2023-08-25 20:16:49 -04: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: Remove offload argument from render() 2023-11-14 21:54:35 +01:00
gskcairorenderer.h gsk: Add header guard to missing header 2024-01-07 07:22:49 +01:00
gskcontour.c path: Make gsk_path_to_string() work in non-US locales 2023-12-28 07:35:46 +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 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 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 path: Split off gskpathparse.c 2023-09-17 12:29:46 -04: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 gpu: Add a repeat node renderer 2024-01-07 07:22:52 +01:00
gskrenderer.c renderer: Add Vulkan renderer to the list of renderers 2024-01-07 07:22:52 +01:00
gskrenderer.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskrendererprivate.h renderer: Move function into only caller 2023-12-20 10:59:25 +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 docs: Fix: gsk->gtk links 2024-01-05 14:57:16 -05:00
gskrendernodeparser.c rendernode: Allocate right amount of memory 2024-01-03 05:01:08 +01:00
gskrendernodeparserprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskrendernodeprivate.h Add a few annotations 2023-12-26 21:57:04 -05:00
gskroundedrect.c roundedrect: Fix an intersection cornercase 2023-12-28 07:35:46 +01: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 gpu: Add a blend mode shader 2024-01-07 07:22:53 +01:00