[gtk+] Add a workaround for vulkan crashes
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Add a workaround for vulkan crashes
- Date: Sun, 3 Sep 2017 16:01:27 +0000 (UTC)
commit 7bb202e4a2a243deae1755bd8802a4ce323dff19
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Sep 3 11:57:21 2017 -0400
Add a workaround for vulkan crashes
I see 'out of memory' errors and crashes inside libvulkan when
creating nodes that have empty bounds and end up in the fallback
paths, like a shadow around an empty text node. Prevent this
by not creating text nodes in that case.
gtk/gskpango.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gskpango.c b/gtk/gskpango.c
index 5263e1c..cb5fa76 100644
--- a/gtk/gskpango.c
+++ b/gtk/gskpango.c
@@ -117,6 +117,13 @@ gsk_pango_renderer_show_text_glyphs (PangoRenderer *renderer,
int x_offset, y_offset;
GskRenderNode *node;
GdkRGBA color;
+ PangoRectangle ink_rect;
+
+ /* FIXME: vulkan fallbacks don't deal with empty nodes gracefully */
+ pango_glyph_string_extents (glyphs, font, &ink_rect, NULL);
+ pango_extents_to_pixels (&ink_rect, NULL);
+ if (ink_rect.width == 0 || ink_rect.height == 0)
+ return;
gtk_snapshot_get_offset (crenderer->snapshot, &x_offset, &y_offset);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]