From dbb264dfc90acf6f7f090e6e138d89d3452f9884 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 5 Mar 2021 18:39:22 -0500 Subject: [PATCH] vulkan: Add visible fallback rendering Hook up the "Show fallback rendering" switch for Vulkan. This brings home the sobering truth that the Vulkan renderer is doing *all* fallback, since we switched from offset nodes to transform nodes. --- gsk/vulkan/gskvulkanrenderpass.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gsk/vulkan/gskvulkanrenderpass.c b/gsk/vulkan/gskvulkanrenderpass.c index d81d38fa33..a549e95cea 100644 --- a/gsk/vulkan/gskvulkanrenderpass.c +++ b/gsk/vulkan/gskvulkanrenderpass.c @@ -859,6 +859,25 @@ gsk_vulkan_render_pass_upload_fallback (GskVulkanRenderPass *self, gsk_render_node_draw (node, cr); +#ifdef G_ENABLE_DEBUG + if (GSK_RENDERER_DEBUG_CHECK (gsk_vulkan_render_get_renderer (render), FALLBACK)) + { + cairo_rectangle (cr, + op->clip.bounds.origin.x, op->clip.bounds.origin.y, + op->clip.bounds.size.width, op->clip.bounds.size.height); + if (gsk_render_node_get_node_type (node) == GSK_CAIRO_NODE) + cairo_set_source_rgba (cr, 0.3, 0, 1, 0.25); + else + cairo_set_source_rgba (cr, 1, 0, 0, 0.25); + cairo_fill_preserve (cr); + if (gsk_render_node_get_node_type (node) == GSK_CAIRO_NODE) + cairo_set_source_rgba (cr, 0.3, 0, 1, 1); + else + cairo_set_source_rgba (cr, 1, 0, 0, 1); + cairo_stroke (cr); + } +#endif + cairo_destroy (cr); op->source = gsk_vulkan_image_new_from_data (uploader,