Commit Graph

1091 Commits

Author SHA1 Message Date
Juan Ramos
3d23bb07e3 Make VulkanMemoryAllocator a header only library
Dramatically simplify the CMake code for end users. The intent
is to make the CMake for this library very easy to maintain.
While also making it easier for end users to consume.

This makes the CMake code very similar to:
- KhronosGroup/Vulkan-Headers
- KhronosGroup/SPIRV-Headers

Which is good for consistency/expectations.

The VmaUsage library still highlights the expected usage of
the "stb-style" single header file in a project.

closes #346
2023-07-06 14:49:44 -06:00
Adam Sawicki
d9a2e4641b
Merge pull request #341 from abouvier/patch-1
cmake: correctly use find_dependency
2023-07-04 15:24:42 +02:00
Alexandre Bouvier
870bae0fca cmake: use find_dependency 2023-07-04 15:09:36 +02:00
Adam Sawicki
db15ce374e
Merge pull request #345 from abouvier/cmake-fix
cmake: always add vulkan headers dir
2023-07-04 13:46:16 +02:00
Adam Sawicki
1f38a49cc8
Merge pull request #347 from Rob2309/extends-marker
Add attribute to mark pNext pointers with the Vulkan struct they extend
2023-07-04 10:24:24 +02:00
Alexandre Bouvier
7f9124bad2 cmake: always add vulkan headers dir 2023-06-30 20:57:03 +02:00
Robin Quint
1d0e8ba3b3 Added small documentation 2023-06-30 17:42:12 +02:00
Robin Quint
ca5ce7df23 Added VMA_EXTENDS_VK_STRUCT 2023-06-30 17:39:36 +02:00
Adam Sawicki
0aa3989b8f Switched src/CMakeLists.txt to use C++17 by default to resolve issues with aligned_alloc
Fixes #344
2023-06-13 14:33:10 +02:00
Adam Sawicki
59734bbc63 A fix in VmaBlockMetadata_TLSF::CreateAllocationRequest
Code by @medranSolus. See #343
2023-06-12 13:30:02 +02:00
Adam Sawicki
0e89587db3 Updated Doxyfile for Doxygen 1.9.6
Regenerated documentation.
Fixes #335
2023-05-02 12:44:06 +02:00
Adam Sawicki
ff37e92786 Fixed bug in VmaDefragmentationContext_T::ComputeDefragmentation_Extensive
Fixes #328. Code by @medranSolus.
2023-04-07 10:58:24 +02:00
Adam Sawicki
7e63caa879 Fix in VmaDefragmentationContext_T::CounterStatus
See #327. Code by @medranSolus.
2023-04-06 11:25:09 +02:00
Adam Sawicki
e2f5eed2e2 Revert "Merge pull request #325 from lawadr/use-alignof" 2023-04-03 17:49:00 +02:00
Adam Sawicki
498e20dfd1
Merge pull request #326 from stha09/gcc13
IWYU: add cstdio for snprintf in vk_mem_alloc.h
2023-04-03 17:46:31 +02:00
Stephan Hartmann
383f06b9fd IWYU: add cstdio for snprintf in vk_mem_alloc.h
Discoverd with upcoming GCC 13.
2023-04-02 21:19:16 +02:00
Adam Sawicki
41baf86685
Merge pull request #325 from lawadr/use-alignof
Change __alignof to alignof
2023-03-22 17:42:59 +01:00
lawadr
d16730ce64 Change __alignof to alignof
Whereas __alignof is a non-standard compiler extension that seems to
come from Microsoft and is supported (yet undocumented) by Clang and
GCC, alignof is a standard language feature in C++11. Clang and GCC
both document __alignof__ as a compiler extension, but this isn't
supported by Microsoft.

This fixes builds on compilers that don't support __alignof.
2023-03-22 15:33:11 +00:00
Adam Sawicki
66afe099f1 Improved documentation chapter "Resource aliasing (overlap)" 2023-03-06 11:43:13 +01:00
Adam Sawicki
dd09767ff6 Fixed usage of VMA_FALLTHROUGH 2023-02-24 14:17:44 +01:00
Adam Sawicki
4c58c1fefe Defined VMA_FALLTHROUGH to fix more compiler warnings
See #321
2023-02-24 14:15:41 +01:00
Adam Sawicki
729b7c1408 Fixes for some compiler warnings
Found by Visual Studio 2019
2023-02-24 14:04:59 +01:00
Adam Sawicki
5e921fcff1 GpuMemDumpVis.py: Updated version number 2023-02-24 10:21:47 +01:00
Adam Sawicki
84d9328d84 GpuMemDumpVis.py: Fixed division by zero error when only custom pools are used 2023-02-24 10:20:03 +01:00
Adam Sawicki
c51730a857 Further fixes to importing function vkGetPhysicalDeviceMemoryProperties2 / vkGetPhysicalDeviceMemoryProperties2KHR
See #322
2023-02-21 11:31:21 +01:00
Adam Sawicki
bdba911818
Merge pull request #322 from vladislavbelov/fix-uninitialized-memory-budget-function
Fixes uninitialized vkGetPhysicalDeviceMemoryProperties2KHR
2023-02-21 11:19:26 +01:00
Vladislav Belov
3e6b3847e3 Fixes uninitialized vkGetPhysicalDeviceMemoryProperties2KHR during ImportVulkanFunctions_Custom. 2023-02-19 11:31:42 +03:00
Adam Sawicki
708428c219
Merge pull request #320 from jeroenbakker-atmind/blender-fix-gnu-compilation-warning
Fix compilation warning.
2023-02-02 12:00:15 +01:00
Jeroen Bakker
c265047b29
Fix compilation warning.
GPU/Linux
2023-02-02 08:09:05 +01:00
Adam Sawicki
7c35d6299b Added missing vmaFlushAllocation in documentation
Fixes #316
2023-01-30 14:18:09 +01:00
Adam Sawicki
29d492b60c Added missing #include <cstdio>
For snprintf, for compatibility with GCC 13.
Fixes #312 - thanks @marxin !
2023-01-19 13:19:55 +01:00
Adam Sawicki
8b87b6cbf7
Merge pull request #310 from orlowd/vma_atomic-def-fix
Fix atomic type used in AtomicTransactionalIncrement
2023-01-05 12:39:15 +01:00
Denis Orlov
3e3877ac83 Fix builds on Linux CI
This fixes compilation on older Linux compilers (gcc 7.5.0, clang 7.0.0)
that do not seem to implement P0558R1 defect report, thus not allowing
the usage of value_type member typedef from std::atomic.
2023-01-05 00:05:16 +03:00
Denis Orlov
3459fd780a Fix atomic type used in AtomicTransactionalIncrement
This partially reverts changes from 4dfa169ffc
2023-01-04 21:34:16 +03:00
Adam Sawicki
413fc4f988
Merge pull request #304 from juan-lunarg/juaramos/cmake_cleanup
Minor CMake cleanup
2022-12-01 16:32:13 +01:00
Juan Ramos
0b7c427971 MSVC cleanup
MSVC compiler can be used with Ninja as well. However, the current
CMake code doesn't account for it.
2022-11-30 10:30:19 -07:00
Juan Ramos
5d969741c1 Specify CXX as the language being used for the project 2022-11-30 10:27:21 -07:00
Juan Ramos
5b61b5599d Fix endif() 2022-11-30 10:27:21 -07:00
Adam Sawicki
ad893909d4 Fixes in CMakeLists.txt regarding Doxygen usage
See #303
2022-11-30 11:26:56 +01:00
Adam Sawicki
fd7b20101f Further fixes in CMakeLists.txt
See #303
2022-11-29 17:47:10 +01:00
Adam Sawicki
2606c0039f Fixed potential integer overflow in VmaAllocator_T::AllocateMemoryOfType when maxMemoryAllocationCount Vulkan limit has high value
Fixes #300
2022-11-29 16:53:36 +01:00
Adam Sawicki
14469a5eea Refactored some switch statements
Fixes #299
2022-11-29 16:42:14 +01:00
Adam Sawicki
85a2580529 Removed unused local variables unusedRangeSize
Fixes #298
2022-11-29 16:23:17 +01:00
Adam Sawicki
6d2fe13627 Split macros into separate VMA_DEBUG_LOG and VMA_DEBUG_LOG_FORMAT
To fix compiler errors with -Wpedantic -Werror - see #297
2022-11-29 16:16:12 +01:00
Adam Sawicki
3703ef88ff Fixing CMakeLists.txt for older Cmake
See #303
2022-11-29 16:06:36 +01:00
Adam Sawicki
b367b36ffc Added usage of PROJECT_IS_TOP_LEVEL around find_package in CMakeLists.txt
See #303
2022-11-29 15:41:52 +01:00
Adam Sawicki
73d13a83ed
Merge pull request #301 from manas-kulkarni/master
BindBufferMemory, BindImageMemory - Return VK_ERROR_UNKNOWN for unkno…
2022-11-23 09:53:47 +01:00
manaskulkarni
2ea07806af BindBufferMemory, BindImageMemory - Return VK_ERROR_UNKNOWN for unknown allocation type 2022-11-23 14:02:24 +05:30
Adam Sawicki
936bc4b57e Internal refactoring for compatibility with 32-bit
Removed VmaJsonWriter::WriteSize, ContinueString_Size.

See #293
2022-11-09 16:42:33 +01:00
Adam Sawicki
800acede8d Merge branch 'master' of https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator 2022-11-04 17:02:51 +01:00