diff --git a/gsk/vulkan/gskvulkanclip.c b/gsk/vulkan/gskvulkanclip.c index d7e0582124..fa8d561c00 100644 --- a/gsk/vulkan/gskvulkanclip.c +++ b/gsk/vulkan/gskvulkanclip.c @@ -126,7 +126,13 @@ gsk_vulkan_clip_intersect_rounded_rect (GskVulkanClip *dest, case GSK_VULKAN_CLIP_ROUNDED_CIRCULAR: case GSK_VULKAN_CLIP_ROUNDED: - /* XXX: improve */ + if (gsk_rounded_rect_contains_rect (&src->rect, &rounded->bounds)) + { + dest->type = gsk_rounded_rect_is_circular (rounded) ? GSK_VULKAN_CLIP_ROUNDED_CIRCULAR : GSK_VULKAN_CLIP_ROUNDED; + gsk_rounded_rect_init_copy (&dest->rect, rounded); + return TRUE; + } + /* XXX: Can be improved for the case where one of the rects is a slighty shrunk version of the other */ return FALSE; default: