[gtk/matthiasc/for-master] vulkan: Add visible fallback rendering




commit dbb264dfc90acf6f7f090e6e138d89d3452f9884
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Mar 5 18:39:22 2021 -0500

    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,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]