Commit Graph

1173 Commits

Author SHA1 Message Date
Richard Barnes
270b24295d Drop trailing whitespace.
The only change this commit makes is to drop trailing whitespace.
This makes contributions easier for folks whose editors are set up
to automatically remove such whitespace on save.
2020-10-28 12:33:53 -06:00
Richard Barnes
139741813a Make binary search overflow safe.
Our internal static analysis flags potentially unsafe midpoint
calculations. The proposed fix ensures the binary search doesn't
overflow at the cost of a single additional operation.
2020-10-28 12:32:51 -06:00
Adam Sawicki
76411c95c0 Added VmaAllocatorCreateInfo::pTypeExternalMemoryHandleTypes 2020-10-23 16:10:49 +02:00
Adam Sawicki
3dadc82bce Merge branch 'master' into PoolCustomPnext 2020-10-23 15:20:54 +02:00
Adam Sawicki
3528e2aed3 Minor formatting fix in documentation
Regenerated documentation using new Doxygen.
2020-10-15 15:04:12 +02:00
Adam Sawicki
4075d9ef40 Add VmaPoolCreateInfo::pMemoryAllocateNext 2020-10-05 19:04:02 +02:00
Adam Sawicki
89d9e75299 Added Detroit: Become Human to the list of known software using this library 2020-09-30 16:14:27 +02:00
Adam Sawicki
0e2b4b2045 Fix std::min in VmaBlockVector::ProcessDefragmentations
Fixes #151 - thanks @rextimmy
2020-09-30 16:07:51 +02:00
Adam Sawicki
1420873213
Merge pull request #148 from res2k/vma_aligned_alloc-tweaks
Some tweaks to vma_aligned_alloc()
2020-08-31 12:41:41 +02:00
Adam Sawicki
6074de0c4a
Merge pull request #147 from res2k/move-some-preproc-defn
Move some preprocessor directives that may influence user code into "implementation" block
2020-08-31 12:38:43 +02:00
Adam Sawicki
27e343d3ad
Merge pull request #146 from AshkanAliabadi/master
Fix misspellings.
2020-08-31 12:36:32 +02:00
Frank Richter
4157367212 Let VMA_SYSTEM_ALIGNED_FREE fall back to VMA_SYSTEM_FREE, if defined 2020-08-24 00:40:19 +02:00
Frank Richter
59131844fe Add vma_aligned_free() for symmetry 2020-08-24 00:05:50 +02:00
Frank Richter
2dc44c1d9d Make vma_aligned_alloc() functions static 2020-08-24 00:02:35 +02:00
Frank Richter
449971111d Move preprocessor directives that may influence user code into implementation block 2020-08-23 21:14:46 +02:00
Ashkan Aliabadi
bead9eadfa Fix misspellings. 2020-08-21 11:51:19 -07:00
Adam Sawicki
21936114ff Merge branch 'master' of https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator 2020-08-18 16:43:58 +02:00
Adam Sawicki
0620c8e5e1 Add test and documentation for resource aliasing (overlap). 2020-08-18 16:43:44 +02:00
Adam Sawicki
b9ad5e79db
Merge pull request #145 from stricmp/master
Fix VMA_DYNAMIC_VULKAN_FUNCTIONS compilation errors when VK_NO_PROTOTYPES is defined
2020-08-18 14:44:55 +02:00
Adam Sawicki
0ef61c2fd5 Fix in documentation chapter "Finding out if memory is mappable"
Fixes #143
2020-08-18 14:20:37 +02:00
Adam Sawicki
e658b891ec Add "Atypical Games - proprietary game engine" to the list of software using this library 2020-08-18 14:15:36 +02:00
Tri S
416996cbff Fix VMA_DYNAMIC_VULKAN_FUNCTIONS compilation errors when VK_NO_PROTOTYPES is defined 2020-08-10 19:13:28 +07:00
Adam Sawicki
b0e97e5859
Merge pull request #141 from dkorkmazturk/master
Fix a typo in the explanation of VMA_ALLOCATION_CREATE_MAPPED_BIT
2020-07-28 10:15:04 +02:00
Doğukan Korkmaztürk
67bf13cd08 Fix a typo in the explanation of VMA_ALLOCATION_CREATE_MAPPED_BIT 2020-07-27 23:55:03 -04:00
Adam Sawicki
db4c1639bf Fix compilation errors 2020-07-16 16:41:53 +02:00
Adam Sawicki
d594faafee Replace usage of old VK_LAYER_LUNARG_standard_validation and extension VK_EXT_debug_report with new VK_LAYER_KHRONOS_validation and extension VK_EXT_debug_utils also in VmaReplay 2020-07-15 17:12:28 +02:00
Adam Sawicki
8caf0bd1c0 Replace usage of old layer VK_LAYER_LUNARG_standard_validation and extension VK_EXT_debug_report with new layer VK_LAYER_KHRONOS_validation and extension VK_EXT_debug_utils 2020-07-15 16:56:30 +02:00
Adam Sawicki
e9f387a31d
Merge pull request #137 from phuang/master
changes for fixing problems on mac
2020-07-07 10:41:13 +02:00
Nico Weber
08bce5328b mac: Only call system aligned_alloc() with the 11.0+ SDK.
The 10.15 SDK only declares it for C++17 and C11.  In Chromium, we only
call this from .cc files, and these are C++14 still for now.

The 11.0 SDK declares it independent of language version (as long as
__DARWIN_C_LEVEL >= __DARWIN_C_FULL, which it is by default, at least
on macOS).

So this calls the system version in fewer scenarios than possible,
but it keeps the preprocessor checks fairly small.

Bug: chromium:1098741
Change-Id: I1e30f88bb040876bca2b59adee0a1cff33b9ff03
2020-07-06 13:31:56 -04:00
Nico Weber
c331971b30 Only use system aligned_alloc on mac/ios if the SDK has them.
Bug: chromium:1098741
Change-Id: I4df73f581c2a6895c7f136ff974db0371c48cc5e
2020-07-06 13:31:48 -04:00
Nico Weber
5ef3d923d5 Fix argument order for aligned_alloc on mac.
I pasted this from the _aligned_malloc() branch, and _aligned_malloc()
apparently has the argments swapped compared to aligned_alloc() :/

Bug: chromium:1098741
Change-Id: Iddd92a7beb9e75ddc63b96f757457ec4258fd1ca
2020-07-06 13:31:41 -04:00
Nico Weber
1268da7b97 Make vulkan_memory_allocator build with the MacOSX11.0 SDK.
The 11.0 SDK adds a declaration of aligned_malloc() that's available
on macOS 10.15 and later. vulkan_memory_allocator also defines a
symbol with the same name, which causes problems.

As fix, rename the vulkan_memory_allocator version to
vma_aligned_malloc(). Use this opportunity to use the same mechanism on
Windows (a no-op), and, while here, call the system aligned_malloc()
on macOS 10.15 from there too.

Bug: chromium:1098741
Change-Id: If738a1451a08c0813532fc4b778d9118a23210b7
2020-07-06 13:31:32 -04:00
Adam Sawicki
7cb859d3a0 Improvement in VmaAlignUp, VmaAlignDown 2020-07-06 17:39:20 +02:00
Adam Sawicki
376ada32fc
Merge pull request #136 from GreenFoxLight/master
Correct if in mapping example
2020-07-06 13:34:37 +02:00
Kevin Trogant
67824c5b00
Correct if in mapping example
We want to know if the memory is mappable, which means that the memory properties should include the `VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT`.
2020-07-03 12:20:36 +02:00
Adam Sawicki
aaa1a56167 Clarify documentation of VmaAllocationInfo::size
Added test for it. Regenerated documentation.
2020-06-24 17:41:09 +02:00
Adam Sawicki
1ebda1eecc Add assert to check success of a CPU memory allocation 2020-06-24 17:16:26 +02:00
Adam Sawicki
f9921aefdd Fix VmaAllocator_T::ImportVulkanFunctions_Dynamic for cases when Vulkan 1.1 is used
#133
2020-06-04 13:31:31 +02:00
Adam Sawicki
650ebdf783 Remove invalid outdated assert in vmaBeginDefragmentationPass
Closes #132
2020-05-25 17:17:11 +02:00
Adam Sawicki
72983b0aa1 Clarified documentation in few places to mention textures need to use LINEAR layout when accessed from the host
Rebuilt HTML documentation. Used new Doxygen 1.8.18.
Closes #129
2020-05-08 18:43:25 +02:00
Adam Sawicki
309fa0e613
Merge pull request #128 from hartmutbehrens/fix/docs
Update quick start docs to reflect that instance is not optional
2020-05-04 16:48:41 +02:00
Hartmut Behrens
1e11595592 fix(docs): instance not optional in quick start 2020-05-03 13:06:27 +02:00
Adam Sawicki
755fd47121 Minor fix in comment 2020-04-24 17:05:07 +02:00
Adam Sawicki
72740d8d63 Fix indentation - always use 4 spaces instead of tabs 2020-04-24 17:02:50 +02:00
Adam Sawicki
74bc7c78fe Port memory recording in VMA to C++11
Closes #126
2020-04-24 16:59:34 +02:00
Adam Sawicki
ff472352b9 Add .editorconfig file to configure supporting editors to use proper whitespaces for indentation 2020-04-24 12:42:06 +02:00
Adam Sawicki
25d9b2c0ec Add function vmaFlushAllocations, vmaInvalidateAllocations for multiple allocations at once
Closes #119
Added internal class VmaSmallVector.
Refactored common code into a new function VmaAllocator_T::GetFlushOrInvalidateRange.
Regenerated docs.
2020-04-19 19:02:28 +02:00
Adam Sawicki
a8a5b1f81b
Merge pull request #122 from expipiplus1/joe-120
Return VkResult in vmaInvalidateAllocation and vmaFlushAllocation
2020-04-19 17:20:57 +02:00
Adam Sawicki
ba9d4b3323
Merge pull request #121 from expipiplus1/joe-len
Add missing length annotation in vmaAllocateMemoryPages
2020-04-19 17:18:47 +02:00
Adam Sawicki
f6a4037af4 VmaDumpVis: Gracefully handle cases where there is nothing to put on the image, e.g. the stats string was generated without detailed map enabled
Message is printed in that case and 1 is returned instead of division by zero error.
Closes #125
2020-04-19 17:14:04 +02:00