util/vk_alloc: Add a vk_zalloc2 helper
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 27 Oct 2016 08:33:39 +0000 (01:33 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 17 Nov 2016 20:03:24 +0000 (12:03 -0800)
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
src/util/vk_alloc.h

index 7ae5c9dfe40cacbc66f5ca4f9fa3097211dd5fbc..2915021826903391b777f9f061893f0840b3e64d 100644 (file)
@@ -25,6 +25,7 @@
 
 /* common allocation inlines for vulkan drivers */
 
+#include <string.h>
 #include <vulkan/vulkan.h>
 
 static inline void *
@@ -64,6 +65,21 @@ vk_alloc2(const VkAllocationCallbacks *parent_alloc,
       return vk_alloc(parent_alloc, size, align, scope);
 }
 
+static inline void *
+vk_zalloc2(const VkAllocationCallbacks *parent_alloc,
+           const VkAllocationCallbacks *alloc,
+           size_t size, size_t align,
+           VkSystemAllocationScope scope)
+{
+   void *mem = vk_alloc2(parent_alloc, alloc, size, align, scope);
+   if (mem == NULL)
+      return NULL;
+
+   memset(mem, 0, size);
+
+   return mem;
+}
+
 static inline void
 vk_free2(const VkAllocationCallbacks *parent_alloc,
          const VkAllocationCallbacks *alloc,