Commit Graph

18 Commits

Author SHA1 Message Date
Rémi Verschelde
9eab57ea44 Strip trailing whitespace in code files 2022-06-14 13:41:15 +02:00
Adam Sawicki
df7648061c Fixes in GpuMemDumpVis.py regarding image height calculation
Added GpuMemDump.schema.json.
Minor improvement in SaveAllocatorStatsToFile.
2022-04-05 13:32:30 +02:00
Adam Sawicki
aee61b1d25 Added new API for selecting preferred memory type: VMA_MEMORY_USAGE_AUTO, VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE, VMA_MEMORY_USAGE_AUTO_PREFER_HOST, VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT, VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT, VMA_ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT
Old values like VMA_MEMORY_USAGE_GPU_ONLY still work as before, for backward compatibility.
Updated documentation accordingly.

Introduced a concept of mappable and non-mappable allocations - with VMA_MEMORY_USAGE_AUTO* an intent to map has to be specified using VMA_ALLOCATION_CREATE_HOST_ACCESS*.

Added mapping hysteresis logic (internal class VmaMappingHysteresis, config macro VMA_MAPPING_HYSTERESIS_ENABLED) that prevents too many calls vkMapMemory/vkUnmapMemory back and forth.

Internal improvement in VmaBlockVector::AllocatePage to try to keep mappable and non-mappable allocations separate.
2022-02-17 14:44:06 +01:00
Adam Sawicki
f451b94158 Fixed vmaBuildVirtualBlockStatsString, vmaFreeVirtualBlockStatsString to also be inside #if VMA_STATS_STRING_ENABLED
Updated copyright headers for to year 2022.

Change by @medranSolus
2022-01-21 12:56:18 +01:00
Adam Sawicki
1b0bd18053 Standardized line endings to LF
See also #195
2021-09-30 12:03:35 +02: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
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
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
aa18374368 Updated copyright header to year 2021.
Rebuilt binaries, regenerated documentation.
2021-02-16 17:28:49 +01:00
Adam Sawicki
508825012c Add support for VK_AMD_device_coherent_memory extension
- Added VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT.
- Fixed bug generating validation layers error when the extension is not enabled.
- Updated date in copyright header comments to year 2020.
2020-02-07 16:51:31 +01:00
Adam Sawicki
ae5c4661ec Updated copyright headers after New Year. 2019-01-02 10:23:35 +01:00
Adam Sawicki
1ae513ae5c Sparse binding test: added textures with mip maps. 2018-12-06 12:49:52 +01:00
Adam Sawicki
4a2be4ee40 Minor tweak in sparse binding tests. 2018-12-06 12:44:49 +01:00
Adam Sawicki
da6c19423d Wrote test for sparse image binding with testing actual content - function BaseImage::TestContent. It uses vkCopyBufferToImage and then a compute shader to read back pixels of the image. 2018-12-05 17:34:34 +01:00
Adam Sawicki
a7d7769959 Replaced assert() with new macro TEST() in all tests, to check conditions also in Release configuration. 2018-10-03 16:15:27 +02:00
Adam Sawicki
d062b784d3 Added functions: vmaAllocateMemoryPages, vmaFreeMemoryPages to create and destroy multiple allocations at once. 2018-10-03 15:26:22 +02:00
Adam Sawicki
51fa96660e Wrote basic test for sparse binding. 2018-10-03 13:44:29 +02:00