even more fixes

This commit is contained in:
Matthew 2025-08-15 06:51:25 +10:00
parent b3d0609810
commit 3f734bb8da
3 changed files with 37 additions and 0 deletions

View File

@ -8,6 +8,11 @@ import core.stdc.stdio : Printf = printf;
import std.format : sformat;
import std.math.rounding : Ceil = ceil;
debug
{
const BUILD_DEBUG = true;
}
alias InitRenderer = Init;
alias Renderer = Vulkan;
alias Shader = VkShaderModule;

View File

@ -1,4 +1,5 @@
public import vulkan_includes;
import vulkan_util;
import vulkan : Vulkan, VULKAN_LIBS;
@nogc:

View File

@ -18,6 +18,9 @@ alias b32 = uint;
alias usize = size_t;
alias intptr = i64;
alias uintptr = u64;
const DEFAULT_ALIGNMENT = (void *).sizeof * 2;
version(linux)
@ -154,6 +157,34 @@ CheckNil(T)(Node!(T)* nil, Node!(T)* node)
return node == null || node == nil;
}
T*
Alloc(T)()
{
void* mem = MemAlloc(T.sizeof);
memset(mem, 0, T.sizeof);
return (cast(T*)mem);
}
T[]
AllocArray(T)(u64 count)
{
void* mem = MemAlloc(T.sizeof * count);
memset(mem, 0, T.sizeof * count);
return (cast(T*)mem)[0 .. count];
}
void
FreeArray(T)(T[] arr)
{
MemFree(cast(void*)arr.ptr, T.sizeof * arr.length);
}
void
Free(T)(T* ptr)
{
MemFree(cast(void*)ptr, T.sizeof);
}
struct Arena
{
u8* mem;