forked from AuroraMiddleware/gtk
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.
This commit is contained in:
parent
2101f26b49
commit
7bb202e4a2
@ -117,6 +117,13 @@ gsk_pango_renderer_show_text_glyphs (PangoRenderer *renderer,
|
|||||||
int x_offset, y_offset;
|
int x_offset, y_offset;
|
||||||
GskRenderNode *node;
|
GskRenderNode *node;
|
||||||
GdkRGBA color;
|
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);
|
gtk_snapshot_get_offset (crenderer->snapshot, &x_offset, &y_offset);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user