Commit Graph

726 Commits

Author SHA1 Message Date
Johannes Schneider
7dc310ad85
Remove CMAKE_DISABLE_IN_SOURCE_BUILD 2021-05-31 23:53:20 +02:00
Johannes Schneider
08b190ff7e
Rename VmaShaders to VmaBuildExampleShaders 2021-05-31 23:53:19 +02:00
Johannes Schneider
853f713db1
Remove source_group instructions 2021-05-31 23:53:19 +02:00
Johannes Schneider
dadd8f635a
Show default values for CMake options in README's table 2021-05-31 23:53:19 +02:00
Johannes Schneider
8f14179a72
Replace Ninja with Make as default build instruction on Linux 2021-05-31 23:52:06 +02:00
Johannes Schneider
8f62aa27c2
Rename replay app target and shaders target 2021-05-28 20:03:27 +02:00
Johannes Schneider
a7f6b7e1f1
Fix VmaReplay build 2021-05-28 20:03:26 +02:00
Johannes Schneider
acba487a76
Add CMake build instructions 2021-05-28 12:57:01 +02:00
Johannes Schneider
3f2238ac9d
Fix VMA_BUILD_EXAMPLE_APP_SHADERS being ignored on Linux 2021-05-28 12:45:58 +02:00
Johannes Schneider
6b733a5ba2
Fix missing Vulkan dependency of VmaExample 2021-05-28 11:56:59 +02:00
Johannes Schneider
d475fbb999
Do not set CMAKE_RUNTIME_OUTPUT_DIRECTORY 2021-05-28 02:12:29 +02:00
Johannes Schneider
e32721df9e
Make building shaders, VMA example application and VMA replay app optional 2021-05-28 02:04:15 +02:00
Johannes
69747a2bdb
Add CMake support 2021-05-27 22:10:12 +02:00
Adam Sawicki
cc47fcf867
Merge pull request #167 from devnexen/clang_build_warning_fixes
clang build warning fixes proposal
2021-05-18 12:21:34 +02:00
David Carlier
1b15bc0f1d clang build warning fixes proposal 2021-05-17 17:34:35 +01:00
Adam Sawicki
6889faaaa2
Merge pull request #166 from krOoze/patch-1
Docs typo
2021-05-06 10:08:26 +02:00
Petr Kraus
7a1b637890
Docs typo 2021-05-06 03:50:05 +02:00
Adam Sawicki
59ec0809a7 Moved main file vk_mem_alloc.h to subdirectory include/
WARNING! This can break external code that depends on directory structure of this repository!

Closes #165
2021-04-19 13:46:49 +02:00
Adam Sawicki
d1851f0ded Rebuilt binaries, regenerated documentation 2021-03-11 15:16:30 +01:00
Adam Sawicki
a75a61bfd7 Added parsing of command line parameters and GPU selection
Command line syntax:
-h, --Help   Print this information
-l, --List   Print list of GPUs
-g S, --GPU S   Select GPU with name containing S
-i N, --GPUIndex N   Select GPU index N

Also improved error handling.
2021-03-11 15:15:38 +01:00
Adam Sawicki
48e3d88114 Improved macros TEST, ERR_GUARD_VULKAN 2021-03-11 14:31:00 +01:00
Adam Sawicki
4b047fde54 Optimization: custom pools are on an intrusive double linked list not sorted vector
Added struct VmaPoolListItemTraits.
2021-03-03 16:55:04 +01:00
Adam Sawicki
7b9f7b61a1 Fix for compilation on Linux 2021-03-03 15:36:18 +01:00
Adam Sawicki
47c1cec3d1 Optimization: dedicated allocations are on an intrusive double linked list not sorted vector
Added class VmaIntrusiveLinkedList, struct VmaDedicatedAllocationListItemTraits.
2021-03-03 15:31:44 +01:00
Adam Sawicki
0a3c6b57ec Fixed usage of VK_KHR_buffer_device_address extension
It was confused with VK_EXT_buffer_device_address which is not officially supported by VMA and has different VK_STRUCTURE_TYPE...
Also a fix in PrintMemoryConclusions.
2021-03-02 16:48:32 +01:00
Adam Sawicki
41b411124e Fixed synchronization issue in TestPool_Benchmark
Variable res was incorrectly shared between threads.
2021-03-02 15:11:18 +01:00
Adam Sawicki
e74dc79903 Fix VmaReplay after removing vmaResizeAllocation function 2021-02-26 12:16:07 +01:00
Adam Sawicki
6859ef214f Removed deprecated function vmaResizeAllocation
Also fixed compatibility with Vulkan 1.0.

See #164
2021-02-26 12:09:34 +01:00
Adam Sawicki
afd50562cb Sample app: Added printing information about available memory heaps nad types 2021-02-26 11:59:58 +01:00
Adam Sawicki
a420c3d752 Fixed budget management in VmaBlockVector::Allocate for cases when some of multi-page allocations fail 2021-02-23 18:21:42 +01:00
Adam Sawicki
7e56c486fa Fix in tests for AMD APU with DEVICE_LOCAL heap of only 256 MB 2021-02-23 15:27:24 +01:00
Adam Sawicki
a9a458c7d1 Fix for build on Linux #6 2021-02-22 14:58:37 +01:00
Adam Sawicki
51ee5c869f Fix for build on Linux #5 2021-02-22 14:44:05 +01:00
Adam Sawicki
4cbb178952 Fix for build on Linux #4 2021-02-22 14:42:08 +01:00
Adam Sawicki
cca09e3d26 Fix for build on Linux #3 2021-02-22 14:24:19 +01:00
Adam Sawicki
1e509aa0e7 Fix for build on Linux #2 2021-02-22 14:21:48 +01:00
Adam Sawicki
4dfa169ffc Fix for build on Linux 2021-02-22 14:18:34 +01:00
Adam Sawicki
ae0b011e7a Internal improvement: Added counting total number of VkDeviceMemory blocks.
Fixed case of spamming dedicated allocations instead of bigger blocks and thus and exceeding maxMemoryAllocationCount when heap size/budget is reached or exceeded.

Added debug macro VMA_DEBUG_DONT_EXCEED_MAX_MEMORY_ALLOCATION_COUNT.
2021-02-19 18:00:05 +01:00
Adam Sawicki
1635a1a0a3 Trying to fix Travis-CI build 2021-02-19 16:39:45 +01:00
Adam Sawicki
26eaa3b2ed A fix in TestPool_Benchmark for GPUs with only 256 MB of DEVICE_LOCAL memory 2021-02-18 15:53:18 +01:00
Adam Sawicki
2882236f6a Migrated Linux CI build from travis-ci.org to travis-ci.com - updated status icon in README.md 2021-02-16 17:56:07 +01:00
Adam Sawicki
aa18374368 Updated copyright header to year 2021.
Rebuilt binaries, regenerated documentation.
2021-02-16 17:28:49 +01:00
Adam Sawicki
f32d25d714 Minor update in README.md 2021-02-16 17:21:39 +01:00
Adam Sawicki
adb7064189 Rebuilt binaries using Visual Studio 2019 2021-02-16 17:18:59 +01:00
Adam Sawicki
0d4f5234fd Updated README.md - added RPCS3 to the list of known usages.
Also changed sample app to use Vulkan 1.2 by default.
2021-02-16 16:54:27 +01:00
Adam Sawicki
b6541426e6
Merge pull request #163 from kd-11/master
mem_alloc: Optimize allocation conflict checking
2021-02-16 16:47:48 +01:00
kd-11
e8c483ddb1 mem_alloc: Optimize allocation conflict checking
- When bufferImageGranularity == allocaAlignment the worst case is actually already evaluated
- When result offset and allocation size are already aligned, it is not possible for the 'page' to be shared

In both scenarios, a lot of work can be saved by simply not scanning suballocations. When dealing with many tiny allocations, this adds up a lot!
2021-02-15 22:15:35 +03:00
Adam Sawicki
f2012055cc Added support for VK_EXT_memory_priority
Added VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT, VmaAllocationCreateInfo::priority, VmaPoolCreateInfo::priority.

See #160
2021-01-11 18:04:42 +01:00
Adam Sawicki
7eee5e3d26
Merge pull request #158 from AshkanAliabadi/master
Refer to std string and stream with their fully qualified names.
2020-12-03 10:26:00 +01:00
Ashkan Aliabadi
8f4e09affd Refer to std string and stream with their fully qualified names. 2020-12-02 16:23:11 -08:00