gtk2/gsk
Matthias Clasen b0e8d8483d More work on text nodes
This commit takes several steps towards rendering text
like we want to.

The creation of the cairo surface and texture is moved
to the backend (in GskVulkanRenderer). We add a mask
shader that is used in the next text pipeline to use
the texture as a mask, like cairo_mask_surface does.
There is a separate color text pipeline that uses the
already existing blend shaders to use the texture as
a source, like cairo_paint does.

The text node api is simplified to have just a single
offset, which determines the left end of the text baseline,
like all our other text drawing APIs.
2017-09-10 14:36:26 -04:00
..
resources More work on text nodes 2017-09-10 14:36:26 -04:00
gen-gsk-gresources-xml.py build: Rename GSK resource generator script 2017-05-03 15:10:57 +01:00
gsk.h gsk: Add GskRoundedRect 2016-12-20 18:01:10 +01:00
gskcairoblur.c gsk: Add GskShadowNode 2016-12-20 18:01:12 +01:00
gskcairoblurprivate.h gsk: Add GskShadowNode 2016-12-20 18:01:12 +01:00
gskcairorenderer.c gsk: Add gsk_renderer_render_texture() 2016-12-23 08:11:01 +01:00
gskcairorendererprivate.h cairorenderer: Remove nonexisting function from header 2016-11-30 15:15:08 +01:00
gskdebug.c gsk: Add GSK_RENDERING_MODE=full-redraw 2016-12-27 00:48:00 +01:00
gskdebugprivate.h Record node names for debug output 2017-09-03 11:32:09 -04:00
gskenums.h gsk: Add a blur node 2017-09-04 14:28:16 -04:00
gskenumtypes.c.template Initial implementation of GSK rendering pipeline 2016-10-18 11:29:34 +01:00
gskenumtypes.h.template Initial implementation of GSK rendering pipeline 2016-10-18 11:29:34 +01:00
gskgldriver.c gsk: Rename to gsk_texture_download_surface() 2016-12-23 08:11:01 +01:00
gskgldriverprivate.h gsktexture: Allow attaching render data to textures 2016-11-16 17:36:33 +01:00
gskglprofiler.c gsk: Bind GL context to the GL profiler 2016-10-18 11:49:10 +01:00
gskglprofilerprivate.h gsk: Bind GL context to the GL profiler 2016-10-18 11:49:10 +01:00
gskglrenderer.c glrenderer: Reuse the GArray for render items 2017-03-31 09:50:39 +02:00
gskglrendererprivate.h Initial implementation of GSK rendering pipeline 2016-10-18 11:29:34 +01:00
gskprivate.c More work on text nodes 2017-09-10 14:36:26 -04:00
gskprivate.h More work on text nodes 2017-09-10 14:36:26 -04:00
gskprofiler.c gsk: Add profiler object 2016-10-18 11:49:10 +01:00
gskprofilerprivate.h gsk: Add profiler object 2016-10-18 11:49:10 +01:00
gskrenderer.c GSK: Fix a bunch of warnings from the GIR scanner 2017-03-27 20:22:07 +01:00
gskrenderer.h gsk: Add gsk_renderer_render_texture() 2016-12-23 08:11:01 +01:00
gskrendererprivate.h gsk: Add gsk_renderer_render_texture() 2016-12-23 08:11:01 +01:00
gskrendernode.c gsk: Improve debug output 2017-09-03 10:32:55 -04:00
gskrendernode.h More work on text nodes 2017-09-10 14:36:26 -04:00
gskrendernodeimpl.c More work on text nodes 2017-09-10 14:36:26 -04:00
gskrendernodeprivate.h More work on text nodes 2017-09-10 14:36:26 -04:00
gskroundedrect.c gsk: Mark private symbol as static 2017-04-26 17:25:24 +01:00
gskroundedrect.h GSK: Fix a bunch of warnings from the GIR scanner 2017-03-27 20:22:07 +01:00
gskroundedrectprivate.h vulkan: Fold clip into push constants 2016-12-24 06:19:16 +01:00
gskshaderbuilder.c GtkShaderBuilder Fix copy/paste error in precondition 2017-03-17 18:35:43 +01:00
gskshaderbuilderprivate.h gsk: Consolidate program creation and storage 2016-10-18 11:49:07 +01:00
gsktexture.c gsk: Turn GskTexture into a GObject 2017-01-01 19:53:36 +01:00
gsktexture.h gsk: Turn GskTexture into a GObject 2017-01-01 19:53:36 +01:00
gsktextureprivate.h gsk: Turn GskTexture into a GObject 2017-01-01 19:53:36 +01:00
gsktypes.h gsk: Add GskTexture 2016-11-08 20:31:34 +01:00
gskvulkanblendpipeline.c vulkan: Modernize blend pipeline 2017-01-04 13:22:57 +01:00
gskvulkanblendpipelineprivate.h vulkan: Move vertex data tracking to the pipeline subclass 2016-12-20 18:01:11 +01:00
gskvulkanblurpipeline.c A somewhat working blur shader 2017-09-04 23:32:31 -04:00
gskvulkanblurpipelineprivate.h A somewhat working blur shader 2017-09-04 23:32:31 -04:00
gskvulkanborderpipeline.c vulkan: Add shader for border rendering 2017-01-11 18:33:09 +01:00
gskvulkanborderpipelineprivate.h vulkan: Add shader for border rendering 2017-01-11 18:33:09 +01:00
gskvulkanboxshadowpipeline.c vulkan: Add support for unblurred box-shadow 2017-01-18 04:13:56 +01:00
gskvulkanboxshadowpipelineprivate.h vulkan: Add support for unblurred box-shadow 2017-01-18 04:13:56 +01:00
gskvulkanbuffer.c vulkan: Implement gsk_renderer_render_texture() 2016-12-23 08:11:01 +01:00
gskvulkanbufferprivate.h vulkan: Implement gsk_renderer_render_texture() 2016-12-23 08:11:01 +01:00
gskvulkanclip.c vulkan: Fold clip into push constants 2016-12-24 06:19:16 +01:00
gskvulkanclipprivate.h Typo fix 2017-09-04 23:32:31 -04:00
gskvulkancolorpipeline.c vulkan: We use VK_FORMAT_B8G8R8A8_UNORM 2016-12-25 06:23:12 +01:00
gskvulkancolorpipelineprivate.h vulkan: Pass color rects in instance data 2016-12-20 18:01:11 +01:00
gskvulkancolortextpipeline.c More work on text nodes 2017-09-10 14:36:26 -04:00
gskvulkancolortextpipelineprivate.h More work on text nodes 2017-09-10 14:36:26 -04:00
gskvulkancommandpool.c gsk: Fix build on Visual Studio 2016-12-29 17:52:52 +08:00
gskvulkancommandpoolprivate.h vulkan: Split out command pool 2016-12-20 18:01:11 +01:00
gskvulkaneffectpipeline.c vulkan: Make the effect renderer take matrix + offset 2016-12-31 14:37:20 +01:00
gskvulkaneffectpipelineprivate.h vulkan: Make the effect renderer take matrix + offset 2016-12-31 14:37:20 +01:00
gskvulkanimage.c gsk: vulkan: fix image uploading 2017-08-18 19:41:36 -04:00
gskvulkanimageprivate.h vulkan: Implement gsk_renderer_render_texture() 2016-12-23 08:11:01 +01:00
gskvulkanlineargradientpipeline.c vulkan: Handle linear gradients 2016-12-26 17:22:02 +01:00
gskvulkanlineargradientpipelineprivate.h vulkan: Handle linear gradients 2016-12-26 17:22:02 +01:00
gskvulkanmemory.c gsk: Loads of work on Vulkan backend 2016-12-09 18:35:51 +01:00
gskvulkanmemoryprivate.h gsk: Loads of work on Vulkan backend 2016-12-09 18:35:51 +01:00
gskvulkanpipeline.c More work on text nodes 2017-09-10 14:36:26 -04:00
gskvulkanpipelineprivate.h More work on text nodes 2017-09-10 14:36:26 -04:00
gskvulkanpushconstants.c vulkan: Add push constants to fragment shader 2017-01-17 06:17:55 +01:00
gskvulkanpushconstantsprivate.h vulkan: Add push constants to fragment shader 2017-01-17 06:17:55 +01:00
gskvulkanrender.c More work on text nodes 2017-09-10 14:36:26 -04:00
gskvulkanrenderer.c More work on text nodes 2017-09-10 14:36:26 -04:00
gskvulkanrendererprivate.h More work on text nodes 2017-09-10 14:36:26 -04:00
gskvulkanrenderpass.c More work on text nodes 2017-09-10 14:36:26 -04:00
gskvulkanrenderpassprivate.h More work on text nodes 2017-09-10 14:36:26 -04:00
gskvulkanrenderprivate.h More work on text nodes 2017-09-10 14:36:26 -04:00
gskvulkanshader.c gsk: Loads of work on Vulkan backend 2016-12-09 18:35:51 +01:00
gskvulkanshaderprivate.h gsk: Loads of work on Vulkan backend 2016-12-09 18:35:51 +01:00
gskvulkantextpipeline.c More work on text nodes 2017-09-10 14:36:26 -04:00
gskvulkantextpipelineprivate.h More work on text nodes 2017-09-10 14:36:26 -04:00
meson.build More work on text nodes 2017-09-10 14:36:26 -04:00