VulkanMemoryAllocator
nanovg_vulkan
VulkanMemoryAllocator | nanovg_vulkan | |
---|---|---|
11 | 2 | |
2,383 | 47 | |
1.1% | - | |
8.2 | 6.3 | |
5 days ago | 4 months ago | |
C | C | |
MIT License | zlib License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
VulkanMemoryAllocator
-
Why do I need to load VMA vulkan functions dynamically?
Hello - working on a Vulkan renderer and I ran into a topic I don't understand. I use the Vulkan Memory Allocator and upon updating my local targeted Vulkan SDK to 1.3.250 from 1.3.204, I receive exactly the same error as this user: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/issues/280 Error: The procedure entry point vkGetDeviceBufferMemoryRequirements could not be located in the DLL.
-
Managing Vertex Buffers
For problem 1 I would recommend looking into Vulkan Memory Allocator: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator The general idea is to allocate large chunks of memory, then sub-allocate out of those when buffers are required. This is nice for several reasons: - Memory allocation can be slow and involve system calls. Sub-allocating does not require system calls - Your memory will be more cache-friendly as all your buffers will be relatively adjacent - There is a finite number of unique allocations you can have. Performing larger allocations keeps your usage lower
-
[Part 7] Update of my Vulkan renderer: LODs, Multiple different meshes, Memory Allocator, Render architecture and more
Integrated Vulkan Memory Allocator, making all GPU memory allocations much easier to work with.
-
Is it a good idea to use VMA for memory management for production?
Seems like it was initially added more than 2 years ago, they really should release more often :P
-
Vulkan 1.3 released
Use VMA, originally created by AMD, never worry about device memory and device memory alignment again.
-
Low bandwidth using memcpy
I am using VMA for memory allocation with the VMA_MEMORY_USAGE_GPU_TO_CPU usage flag. That means that the flags VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT and VK_MEMORY_PROPERTY_HOST_CACHED_BIT are already set.
-
Need advices over OpenGL/Vulkan abstraction
Repo for Vulkan Memory mangement (AMD): https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
-
Deleting staging buffer after copying to image causes weird artifacts in texture mapping
Since it's a header-only lib, you could always try cloning the latest from [GitHub](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator) and see if the problem continues with that version.
-
Allocating multi-layered images with a huge amount of layers
Alternatively, you could just use an existing allocator library, a popular choice is VMA: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
-
Memory management doubts
Personally, I'd recommend (VMA)[https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator] if you don't want to deal with all of this yourself.
nanovg_vulkan
What are some alternatives?
volk - Meta loader for Vulkan API
waifu2x-ncnn-vulkan - waifu2x converter ncnn version, runs fast on intel / amd / nvidia / apple-silicon GPU with vulkan
buddy_alloc - A single header buddy memory allocator for C & C++
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
doon-vk - Personal exploration of the Vulkan API
MetalNanoVG - The Metal port of NanoVG.
bdwgc - The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc)
nanovg-repl - Wraps the NanoVG 2D graphics library in a text protocol and a Scheme library.
vulkan-guide - Introductory guide to vulkan.
MangoHud - A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb
SPP
war1 - A remake of Warcraft: Orcs & Humans written in C