From bb99d6933c4003c8ec22f6f22947e99510be9497 Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Tue, 10 Apr 2018 13:30:27 +0200 Subject: [PATCH 01/13] Updated README.md: Added link to vma_sample_sdl project. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1191012..136b35c 100644 --- a/README.md +++ b/README.md @@ -98,4 +98,5 @@ See **[Documentation](https://gpuopen-librariesandsdks.github.io/VulkanMemoryAll - **[Awesome Vulkan](https://github.com/vinjn/awesome-vulkan)** - a curated list of awesome Vulkan libraries, debuggers and resources. - **[PyVMA](https://github.com/realitix/pyvma)** - Python wrapper for this library. Author: Jean-Sébastien B. (@realitix). License: Apache 2.0. +- **[vma_sample_sdl](https://github.com/rextimmy/vma_sample_sdl)** - SDL port of the sample app of this library (with the goal of running it on multiple platforms, including MacOS). Author: @rextimmy. License: MIT. - **[vulkan-malloc](https://github.com/dylanede/vulkan-malloc)** - Vulkan memory allocation library for Rust. Based on version 1 of this library. Author: Dylan Ede (@dylanede). License: MIT / Apache 2.0. From 620dde4c1a8dd17d8fdbcdd23eb57f13506e310d Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Thu, 24 May 2018 13:09:47 +0000 Subject: [PATCH 02/13] Don't use non-standard header for C11/C++17 aligned_alloc() $ c++ -std=c++11 src/*.cpp -lvulkan In file included from src/VmaUsage.h:35:0, from src/VmaUsage.cpp:8: src/vk_mem_alloc.h:2233:47: fatal error: malloc.h: No such file or directory #include // for aligned_alloc() ^ --- src/vk_mem_alloc.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/vk_mem_alloc.h b/src/vk_mem_alloc.h index b621fe7..0065d70 100644 --- a/src/vk_mem_alloc.h +++ b/src/vk_mem_alloc.h @@ -2229,10 +2229,6 @@ remove them if not needed. #include // for std::mutex #include // for std::atomic -#if !defined(_WIN32) && !defined(__APPLE__) - #include // for aligned_alloc() -#endif - #ifndef VMA_NULL // Value used as null pointer. Define it to e.g.: nullptr, NULL, 0, (void*)0. #define VMA_NULL nullptr From 39f44902f3d59d6dab4e1262011f6ddb08ca28f6 Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Mon, 4 Jun 2018 14:06:46 +0200 Subject: [PATCH 03/13] Revert "Unbreak on BSDs" --- src/vk_mem_alloc.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/vk_mem_alloc.h b/src/vk_mem_alloc.h index 0065d70..b621fe7 100644 --- a/src/vk_mem_alloc.h +++ b/src/vk_mem_alloc.h @@ -2229,6 +2229,10 @@ remove them if not needed. #include // for std::mutex #include // for std::atomic +#if !defined(_WIN32) && !defined(__APPLE__) + #include // for aligned_alloc() +#endif + #ifndef VMA_NULL // Value used as null pointer. Define it to e.g.: nullptr, NULL, 0, (void*)0. #define VMA_NULL nullptr From 49d9babe2161df81d6b2b2381777a8333bf8bc08 Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Mon, 6 Aug 2018 15:46:42 +0200 Subject: [PATCH 04/13] Added Google Filament to the list of known usages. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1191012..6adbf55 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,7 @@ See **[Documentation](https://gpuopen-librariesandsdks.github.io/VulkanMemoryAll # Software using this library +- **[Filament](https://github.com/google/filament)** - physically based rendering engine for Android, Windows, Linux and macOS, from Google. Apache License 2.0. - **[Anvil](https://github.com/GPUOpen-LibrariesAndSDKs/Anvil)** - cross-platform framework for Vulkan. License: MIT. - **[vkDOOM3](https://github.com/DustinHLand/vkDOOM3)** - Vulkan port of GPL DOOM 3 BFG Edition. License: GNU GPL. - **[Lightweight Java Game Library (LWJGL)](https://www.lwjgl.org/)** - includes binding of the library for Java. License: BSD. From 6897d827c7437f72fd04671916ed5922cba9fc6e Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Fri, 24 Aug 2018 14:21:53 +0200 Subject: [PATCH 05/13] Documented recent change in CHANGELOG.md. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 68cd499..2795689 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ Major changes: Minor changes: +- Changed behavior of custom pools: `VmaPoolCreateInfo::blockSize` = 0 (default) now means that pool may use variable block sizes, just like default pools do. - Improved logic of `vmaFindMemoryTypeIndex` for some cases, especially integrated GPUs. - VulkanSample application: Removed dependency on external library MathFu. Added own vector and matrix structures. - Code changes that improve compatibility with various platforms, including: Visual Studio 2012, 32-bit code, C compilers. From 7ec3930906ef27370b281801dd56be4e2569402c Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Mon, 27 Aug 2018 11:00:06 +0200 Subject: [PATCH 06/13] Documentation "Introduction" - added paragraph about macros define before including headers. Issue #36 Thanks @chaoticbob ! --- src/vk_mem_alloc.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/vk_mem_alloc.h b/src/vk_mem_alloc.h index 7dd8ff2..46384a7 100644 --- a/src/vk_mem_alloc.h +++ b/src/vk_mem_alloc.h @@ -123,6 +123,13 @@ To do it properly: It may be a good idea to create dedicated CPP file just for this purpose. +Please note that this library includes header ``, which in turn +includes `` on Windows. If you need some specific macros defined +before including these headers (like `NOMINMAX`, `WIN32_LEAN_AND_MEAN`, or +`WINVER` for Windows, `VK_USE_PLATFORM_WIN32_KHR` for Vulkan), you must define +them before every `#include` of this library. + + \section quick_start_initialization Initialization At program startup: From 751f1460d5a7fb088f57e7e9af1b052b96712fdd Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Mon, 27 Aug 2018 11:03:21 +0200 Subject: [PATCH 07/13] Updated date next to version number. --- src/vk_mem_alloc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vk_mem_alloc.h b/src/vk_mem_alloc.h index 46384a7..aef6b1b 100644 --- a/src/vk_mem_alloc.h +++ b/src/vk_mem_alloc.h @@ -29,7 +29,7 @@ extern "C" { /** \mainpage Vulkan Memory Allocator -Version 2.1.0-beta.1 (2018-08-24) +Version 2.1.0-beta.1 (2018-08-27) Copyright (c) 2017-2018 Advanced Micro Devices, Inc. All rights reserved. \n License: MIT From a5d5ffafe2a38ceb6a8f8c3f36336d7cd75ccd25 Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Mon, 27 Aug 2018 11:05:24 +0200 Subject: [PATCH 08/13] Updated CHANGELOG.md. Recompiled binaries and Doxygen documentation. --- CHANGELOG.md | 4 +- bin/VmaReplay_Release_vs2015.exe | Bin 163328 -> 163840 bytes bin/VulkanSample_Release_vs2015.exe | Bin 210944 -> 212480 bytes docs/html/custom_memory_pools.html | 9 +- docs/html/functions.html | 3 +- docs/html/functions_vars.html | 3 +- docs/html/index.html | 2 +- docs/html/lost_allocations.html | 2 +- docs/html/quick_start.html | 1 + docs/html/search/all_1.js | 2 +- docs/html/search/variables_1.js | 2 +- docs/html/struct_vma_pool_create_info.html | 9 +- docs/html/struct_vma_pool_stats-members.html | 9 +- docs/html/struct_vma_pool_stats.html | 23 +- docs/html/vk__mem__alloc_8h_source.html | 241 ++++++++++--------- 15 files changed, 170 insertions(+), 140 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2795689..57472de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,9 @@ Major changes: Minor changes: -- Changed behavior of custom pools: `VmaPoolCreateInfo::blockSize` = 0 (default) now means that pool may use variable block sizes, just like default pools do. +- Changes in custom pools: + - Added new structure member `VmaPoolStats::blockCount`. + - Changed behavior of `VmaPoolCreateInfo::blockSize` = 0 (default) - it now means that pool may use variable block sizes, just like default pools do. - Improved logic of `vmaFindMemoryTypeIndex` for some cases, especially integrated GPUs. - VulkanSample application: Removed dependency on external library MathFu. Added own vector and matrix structures. - Code changes that improve compatibility with various platforms, including: Visual Studio 2012, 32-bit code, C compilers. diff --git a/bin/VmaReplay_Release_vs2015.exe b/bin/VmaReplay_Release_vs2015.exe index 6613d41c594736c0c7f674c50443ddf479dfd4d7..ab644a5dbe45da50bcc90197e8488932a019182e 100644 GIT binary patch delta 31888 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 z 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 diff --git a/bin/VulkanSample_Release_vs2015.exe b/bin/VulkanSample_Release_vs2015.exe index 104e15fa6a56b19c6d1233d0e74446a5559ac202..a8b201435f3fb6746c3896cbf4dd7b5250d27458 100644 GIT binary patch delta 71193 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 ATmS$7 delta 69461 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 Linear allocation algorithm

With this one flag, you can create a custom pool that can be used in many ways: free-at-once, stack, double stack, and ring buffer. See below for details.

-

Pools with linear algorithm must have only one memory block - VmaPoolCreateInfo::maxBlockCount must be 1.

Free-at-once

In a pool that uses linear algorithm, you still need to free all the allocations individually, e.g. by using vmaFreeMemory() or vmaDestroyBuffer(). You can free them in any order. New allocations are always made after last one - free space in the middle is not reused. However, when you release all the allocation and the pool becomes empty, allocation starts from the beginning again. This way you can use linear algorithm to speed up creation of allocations that you are going to release all at once.

Free-at-once
+

This mode is also available for pools created with VmaPoolCreateInfo::maxBlockCount value that allows multiple memory blocks.

Stack

When you free an allocation that was created last, its space can be reused. Thanks to this, if you always release allocations in the order opposite to their creation (LIFO - Last In First Out), you can achieve behavior of a stack.

Stack
+

This mode is also available for pools created with VmaPoolCreateInfo::maxBlockCount value that allows multiple memory blocks.

Double stack

The space reserved by a custom pool with linear algorithm may be used by two stacks:

@@ -122,10 +123,11 @@ Double stack
  • Second, "upper" one, growing down from the end towards lower offsets.
  • To make allocation from upper stack, add flag VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT to VmaAllocationCreateInfo::flags.

    -

    When the two stacks' ends meet so there is not enough space between them for a new allocation, such allocation fails with usual VK_ERROR_OUT_OF_DEVICE_MEMORY error.

    Double stack
    +

    Double stack is available only in pools with one memory block - VmaPoolCreateInfo::maxBlockCount must be 1. Otherwise behavior is undefined.

    +

    When the two stacks' ends meet so there is not enough space between them for a new allocation, such allocation fails with usual VK_ERROR_OUT_OF_DEVICE_MEMORY error.

    Ring buffer

    When you free some allocations from the beginning and there is not enough free space for a new one at the end of a pool, allocator's "cursor" wraps around to the beginning and starts allocation there. Thanks to this, if you always release allocations in the same order as you created them (FIFO - First In First Out), you can achieve behavior of a ring buffer / queue.

    @@ -136,7 +138,8 @@ Ring buffer
    Ring buffer with lost allocations
    - +

    Ring buffer is available only in pools with one memory block - VmaPoolCreateInfo::maxBlockCount must be 1. Otherwise behavior is undefined.

    +