commits
This fix now uses a TLSF allocator for GPU memory allocation.
This allows us to make use of proper large blocks, but still
allow small allocations. I think this is a good design; and also
is circumvented when allocating large BOs, so user-space manual
smarter systems will probably not be slower?
The TLSF (ext) implementation is a bit of a hack. We extracted the
relevant source code from Vulkan VMA, fed it to Claude, and tried
to remove all vulkan-related stuff. It seems to work and have
been tested in another repo, but maybe we want to add tests here.
We will see. :^)
This WILL be removed in the future. However, we need a way
to write shaders. Right now, only using the IR.
This fix now uses a TLSF allocator for GPU memory allocation.
This allows us to make use of proper large blocks, but still
allow small allocations. I think this is a good design; and also
is circumvented when allocating large BOs, so user-space manual
smarter systems will probably not be slower?
The TLSF (ext) implementation is a bit of a hack. We extracted the
relevant source code from Vulkan VMA, fed it to Claude, and tried
to remove all vulkan-related stuff. It seems to work and have
been tested in another repo, but maybe we want to add tests here.
We will see. :^)