From 3f9a7cfa2687c5e29760db535a9e8c50942c60e7 Mon Sep 17 00:00:00 2001 From: Matthew Date: Sat, 16 Aug 2025 05:13:48 +1000 Subject: [PATCH] add shader stage enum + fix --- vulkan.d | 8 ++++++++ vulkan_util.d | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/vulkan.d b/vulkan.d index d8d4458..3d60f76 100644 --- a/vulkan.d +++ b/vulkan.d @@ -108,6 +108,14 @@ const VkFormat[] VK_IMAGE_FORMATS = [ VK_FORMAT_R8G8B8A8_UNORM, ]; +enum ShaderStage : VkShaderStageFlagBits +{ + None = cast(VkShaderStageFlagBits)0, + Vertex = VK_SHADER_STAGE_VERTEX_BIT, + Fragment = VK_SHADER_STAGE_FRAGMENT_BIT, + Compute = VK_SHADER_STAGE_COMPUTE_BIT, +} + enum InputRate : int { Vertex = VK_VERTEX_INPUT_RATE_VERTEX, diff --git a/vulkan_util.d b/vulkan_util.d index a463380..47a5cef 100644 --- a/vulkan_util.d +++ b/vulkan_util.d @@ -263,11 +263,18 @@ AllocAlign(Arena* arena, u64 size, u64 alignment) void Reset(Arena* arena) { + memset(arena.mem, 0, arena.pos); arena.pos = 0; } void Free(Arena* arena) { - (arena.mem); + MemFree(arena.mem, arena.length); +} + +T +AlignPow2(T)(T v, T a) +{ + return (v + a - 1) & ~(a - 1); }