vulkan: Don't explode without vertex data
authorBenjamin Otte <otte@redhat.com>
Tue, 9 May 2023 22:09:03 +0000 (00:09 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 4 Jun 2023 17:42:01 +0000 (19:42 +0200)
If no buffer has any vertex data (read: if nothing gets drawn), don't
try to allocate a 0 bytes buffer.

gsk/vulkan/gskvulkanrenderpass.c

index 0b1d431161dd46654e5b29f2e64446376716a24d..ac30272848f5c15a91b2005ba17dfdcb7b13eddd 100644 (file)
@@ -1807,6 +1807,9 @@ gsk_vulkan_render_pass_get_vertex_data (GskVulkanRenderPass *self,
       guchar *data;
 
       n_bytes = gsk_vulkan_render_pass_count_vertex_data (self);
+      if (n_bytes == 0)
+        return NULL;
+
       self->vertex_data = gsk_vulkan_buffer_new (self->vulkan, n_bytes);
       data = gsk_vulkan_buffer_map (self->vertex_data);
       gsk_vulkan_render_pass_collect_vertex_data (self, render, data, 0, n_bytes);