[gtk/matthiasc/for-master] vulkan: Add visible fallback rendering
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master] vulkan: Add visible fallback rendering
- Date: Fri, 5 Mar 2021 23:42:26 +0000 (UTC)
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]