diff --git a/src/vulkan/util/vk_util.h b/src/vulkan/util/vk_util.h index b4bc3270d30..e86d72ff379 100644 --- a/src/vulkan/util/vk_util.h +++ b/src/vulkan/util/vk_util.h @@ -399,6 +399,19 @@ vk_descriptor_type_is_dynamic(VkDescriptorType type) } } +#define VK_PRINT_STR(field, ...) do { \ + memset(field, 0, sizeof(field)); \ + UNUSED int i = snprintf(field, sizeof(field), __VA_ARGS__); \ + assert(i > 0 && i < sizeof(field)); \ +} while(0) + +#define VK_COPY_STR(field, str) do { \ + int len = strlen(str); \ + assert(len > 0 && len < sizeof(field)); \ + memcpy(field, str, len); \ + memset(field + len, 0, sizeof(field) - len); \ +} while(0) + #ifdef __cplusplus } #endif