2019-01-15 10:45:58 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2022-11-04 16:02:24 +00:00
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en-US" >
2017-06-20 09:17:23 +00:00
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
2021-10-18 15:32:40 +00:00
< meta http-equiv = "X-UA-Compatible" content = "IE=11" / >
2024-08-28 11:20:19 +00:00
< meta name = "generator" content = "Doxygen 1.11.0" / >
2017-06-20 09:17:23 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< title > Vulkan Memory Allocator: Vulkan Memory Allocator< / title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
2024-01-21 12:30:23 +00:00
< script type = "text/javascript" src = "clipboard.js" > < / script >
2024-08-28 11:20:19 +00:00
< link href = "navtree.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "resize.js" > < / script >
2024-01-21 12:30:23 +00:00
< script type = "text/javascript" src = "cookie.js" > < / script >
2017-06-20 09:17:23 +00:00
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/searchdata.js" > < / script >
< script type = "text/javascript" src = "search/search.js" > < / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
2022-03-14 17:05:55 +00:00
< tr id = "projectrow" >
< td id = "projectalign" >
2017-06-20 09:17:23 +00:00
< div id = "projectname" > Vulkan Memory Allocator
< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
2024-08-28 11:20:19 +00:00
<!-- Generated by Doxygen 1.11.0 -->
2017-06-20 09:17:23 +00:00
< script type = "text/javascript" >
2021-10-18 15:32:40 +00:00
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
2022-11-04 16:02:24 +00:00
var searchBox = new SearchBox("searchBox", "search/",'.html');
2018-09-10 09:14:05 +00:00
/* @license-end */
2017-06-20 09:17:23 +00:00
< / script >
2024-08-28 11:20:19 +00:00
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
< / script >
2017-06-20 09:17:23 +00:00
< script type = "text/javascript" src = "menudata.js" > < / script >
< script type = "text/javascript" src = "menu.js" > < / script >
< script type = "text/javascript" >
2021-10-18 15:32:40 +00:00
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
2017-06-20 09:17:23 +00:00
$(function() {
2024-08-28 11:20:19 +00:00
initMenu('',true,false,'search.php','Search',false);
2024-01-21 12:30:23 +00:00
$(function() { init_search(); });
2017-06-20 09:17:23 +00:00
});
2021-10-18 15:32:40 +00:00
/* @license-end */
< / script >
2017-06-20 09:17:23 +00:00
< div id = "main-nav" > < / div >
< / div > <!-- top -->
2024-08-28 11:20:19 +00:00
< div id = "doc-content" >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
< / script >
2017-06-20 09:17:23 +00:00
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
< / div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
2022-11-04 16:02:24 +00:00
< div id = "MSearchResults" >
< div class = "SRPage" >
< div id = "SRIndex" >
< div id = "SRResults" > < / div >
< div class = "SRStatus" id = "Loading" > Loading...< / div >
< div class = "SRStatus" id = "Searching" > Searching...< / div >
< div class = "SRStatus" id = "NoMatches" > No Matches< / div >
< / div >
< / div >
< / div >
2017-06-20 09:17:23 +00:00
< / div >
2021-10-18 15:32:40 +00:00
< div > < div class = "header" >
< div class = "headertitle" > < div class = "title" > Vulkan Memory Allocator < / div > < / div >
2017-06-20 09:17:23 +00:00
< / div > <!-- header -->
< div class = "contents" >
2024-05-27 12:22:04 +00:00
< div class = "textblock" > < p > < b > Version 3.1.0< / b > < / p >
2024-01-21 12:30:23 +00:00
< p > Copyright (c) 2017-2024 Advanced Micro Devices, Inc. All rights reserved. < br / >
License: MIT < br / >
See also: < a href = "https://gpuopen.com/gaming-product/vulkan-memory-allocator/" > product page on GPUOpen< / a > , < a href = "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator" > repository on GitHub< / a > < / p >
< p > < b > API documentation divided into groups:< / b > < a href = "topics.html" > Topics< / a > < / p >
< p > < b > General documentation chapters:< / b > < / p >
2017-10-17 09:27:14 +00:00
< ul >
2018-03-12 14:34:32 +00:00
< li > < b > User guide< / b > < ul >
< li > < a class = "el" href = "quick_start.html" > Quick start< / a > < ul >
< li > < a class = "el" href = "quick_start.html#quick_start_project_setup" > Project setup< / a > < / li >
< li > < a class = "el" href = "quick_start.html#quick_start_initialization" > Initialization< / a > < / li >
< li > < a class = "el" href = "quick_start.html#quick_start_resource_allocation" > Resource allocation< / a > < / li >
< / ul >
< / li >
< li > < a class = "el" href = "choosing_memory_type.html" > Choosing memory type< / a > < ul >
< li > < a class = "el" href = "choosing_memory_type.html#choosing_memory_type_usage" > Usage< / a > < / li >
< li > < a class = "el" href = "choosing_memory_type.html#choosing_memory_type_required_preferred_flags" > Required and preferred flags< / a > < / li >
< li > < a class = "el" href = "choosing_memory_type.html#choosing_memory_type_explicit_memory_types" > Explicit memory types< / a > < / li >
< li > < a class = "el" href = "choosing_memory_type.html#choosing_memory_type_custom_memory_pools" > Custom memory pools< / a > < / li >
2018-12-14 10:37:02 +00:00
< li > < a class = "el" href = "choosing_memory_type.html#choosing_memory_type_dedicated_allocations" > Dedicated allocations< / a > < / li >
2018-03-12 14:34:32 +00:00
< / ul >
< / li >
< li > < a class = "el" href = "memory_mapping.html" > Memory mapping< / a > < ul >
2024-01-21 12:30:23 +00:00
< li > < a class = "el" href = "memory_mapping.html#memory_mapping_copy_functions" > Copy functions< / a > < / li >
2018-03-12 14:34:32 +00:00
< li > < a class = "el" href = "memory_mapping.html#memory_mapping_mapping_functions" > Mapping functions< / a > < / li >
< li > < a class = "el" href = "memory_mapping.html#memory_mapping_persistently_mapped_memory" > Persistently mapped memory< / a > < / li >
2019-12-02 12:42:25 +00:00
< li > < a class = "el" href = "memory_mapping.html#memory_mapping_cache_control" > Cache flush and invalidate< / a > < / li >
2018-03-12 14:34:32 +00:00
< / ul >
< / li >
2019-11-02 14:24:33 +00:00
< li > < a class = "el" href = "staying_within_budget.html" > Staying within budget< / a > < ul >
< li > < a class = "el" href = "staying_within_budget.html#staying_within_budget_querying_for_budget" > Querying for budget< / a > < / li >
< li > < a class = "el" href = "staying_within_budget.html#staying_within_budget_controlling_memory_usage" > Controlling memory usage< / a > < / li >
< / ul >
< / li >
2020-08-18 14:43:44 +00:00
< li > < a class = "el" href = "resource_aliasing.html" > Resource aliasing (overlap)< / a > < / li >
2018-03-12 14:34:32 +00:00
< li > < a class = "el" href = "custom_memory_pools.html" > Custom memory pools< / a > < ul >
< li > < a class = "el" href = "custom_memory_pools.html#custom_memory_pools_MemTypeIndex" > Choosing memory type index< / a > < / li >
2024-01-21 12:30:23 +00:00
< li > < a class = "el" href = "custom_memory_pools.html#custom_memory_pools_when_not_use" > When not to use custom pools< / a > < / li >
2018-08-23 13:00:58 +00:00
< li > < a class = "el" href = "custom_memory_pools.html#linear_algorithm" > Linear allocation algorithm< / a > < ul >
< li > < a class = "el" href = "custom_memory_pools.html#linear_algorithm_free_at_once" > Free-at-once< / a > < / li >
< li > < a class = "el" href = "custom_memory_pools.html#linear_algorithm_stack" > Stack< / a > < / li >
< li > < a class = "el" href = "custom_memory_pools.html#linear_algorithm_double_stack" > Double stack< / a > < / li >
< li > < a class = "el" href = "custom_memory_pools.html#linear_algorithm_ring_buffer" > Ring buffer< / a > < / li >
< / ul >
< / li >
2018-12-07 14:24:28 +00:00
< / ul >
< / li >
New API for defragmentation. COMPATIBILITY BREAKING!
See structure VmaDefragmentationInfo, VmaDefragmentationMove, VmaDefragmentationPassMoveInfo, VmaDefragmentationStats, function vmaBeginDefragmentation, vmaEndDefragmentation, vmaBeginDefragmentationPass, vmaEndDefragmentationPass.
Switched to TLSF as the default algorithm - in default pools, custom pools, virtual blocks. Removed generic and buddy algorithm. Removed flags: VMA_POOL_CREATE_BUDDY_ALGORITHM_BIT, VMA_POOL_CREATE_TLSF_ALGORITHM_BIT, VMA_VIRTUAL_BLOCK_CREATE_BUDDY_ALGORITHM_BIT, VMA_VIRTUAL_BLOCK_CREATE_TLSF_ALGORITHM_BIT.
Updated and regenerated documentation.
2022-02-22 22:38:19 +00:00
< li > < a class = "el" href = "defragmentation.html" > Defragmentation< / a > < / li >
2018-03-12 14:58:23 +00:00
< li > < a class = "el" href = "statistics.html" > Statistics< / a > < ul >
< li > < a class = "el" href = "statistics.html#statistics_numeric_statistics" > Numeric statistics< / a > < / li >
< li > < a class = "el" href = "statistics.html#statistics_json_dump" > JSON dump< / a > < / li >
< / ul >
< / li >
2018-03-12 14:34:32 +00:00
< li > < a class = "el" href = "allocation_annotation.html" > Allocation names and user data< / a > < ul >
< li > < a class = "el" href = "allocation_annotation.html#allocation_user_data" > Allocation user data< / a > < / li >
< li > < a class = "el" href = "allocation_annotation.html#allocation_names" > Allocation names< / a > < / li >
< / ul >
< / li >
2021-10-28 16:25:57 +00:00
< li > < a class = "el" href = "virtual_allocator.html" > Virtual allocator< / a > < / li >
2018-06-15 12:30:39 +00:00
< li > < a class = "el" href = "debugging_memory_usage.html" > Debugging incorrect memory usage< / a > < ul >
< li > < a class = "el" href = "debugging_memory_usage.html#debugging_memory_usage_initialization" > Memory initialization< / a > < / li >
< li > < a class = "el" href = "debugging_memory_usage.html#debugging_memory_usage_margins" > Margins< / a > < / li >
< li > < a class = "el" href = "debugging_memory_usage.html#debugging_memory_usage_corruption_detection" > Corruption detection< / a > < / li >
2024-02-13 10:56:59 +00:00
< li > < a class = "el" href = "debugging_memory_usage.html#debugging_memory_usage_leak_detection" > Leak detection features< / a > < / li >
2018-06-14 13:44:45 +00:00
< / ul >
< / li >
2024-01-21 12:30:23 +00:00
< li > < a class = "el" href = "other_api_interop.html" > Interop with other graphics APIs< / a > < / li >
2017-09-12 18:45:14 +00:00
< / ul >
< / li >
2018-03-12 16:46:49 +00:00
< li > < a class = "el" href = "usage_patterns.html" > Recommended usage patterns< / a > < ul >
2022-02-17 13:44:48 +00:00
< li > < a class = "el" href = "usage_patterns.html#usage_patterns_gpu_only" > GPU-only resource< / a > < / li >
< li > < a class = "el" href = "usage_patterns.html#usage_patterns_staging_copy_upload" > Staging copy for upload< / a > < / li >
< li > < a class = "el" href = "usage_patterns.html#usage_patterns_readback" > Readback< / a > < / li >
< li > < a class = "el" href = "usage_patterns.html#usage_patterns_advanced_data_uploading" > Advanced data uploading< / a > < / li >
< li > < a class = "el" href = "usage_patterns.html#usage_patterns_other_use_cases" > Other use cases< / a > < / li >
2018-03-12 16:46:49 +00:00
< / ul >
< / li >
2017-10-17 09:57:56 +00:00
< li > < a class = "el" href = "configuration.html" > Configuration< / a > < ul >
2020-03-31 17:11:41 +00:00
< li > < a class = "el" href = "configuration.html#config_Vulkan_functions" > Pointers to Vulkan functions< / a > < / li >
2018-03-12 14:34:32 +00:00
< li > < a class = "el" href = "configuration.html#custom_memory_allocator" > Custom host memory allocator< / a > < / li >
< li > < a class = "el" href = "configuration.html#allocation_callbacks" > Device memory allocation callbacks< / a > < / li >
< li > < a class = "el" href = "configuration.html#heap_memory_limit" > Device heap memory limit< / a > < / li >
2022-02-17 13:44:48 +00:00
< / ul >
< / li >
2022-02-28 11:10:18 +00:00
< li > < b > Extension support< / b > < ul >
2017-10-17 13:13:48 +00:00
< li > < a class = "el" href = "vk_khr_dedicated_allocation.html" > VK_KHR_dedicated_allocation< / a > < / li >
2020-03-20 17:05:42 +00:00
< li > < a class = "el" href = "enabling_buffer_device_address.html" > Enabling buffer device address< / a > < / li >
2022-02-28 11:10:18 +00:00
< li > < a class = "el" href = "vk_ext_memory_priority.html" > VK_EXT_memory_priority< / a > < / li >
2020-02-07 16:18:35 +00:00
< li > < a class = "el" href = "vk_amd_device_coherent_memory.html" > VK_AMD_device_coherent_memory< / a > < / li >
2024-08-28 11:20:19 +00:00
< li > < a class = "el" href = "vk_khr_external_memory_win32.html" > VK_KHR_external_memory_win32< / a > < / li >
2022-02-28 11:10:18 +00:00
< / ul >
< / li >
2018-03-12 14:34:32 +00:00
< li > < a class = "el" href = "general_considerations.html" > General considerations< / a > < ul >
< li > < a class = "el" href = "general_considerations.html#general_considerations_thread_safety" > Thread safety< / a > < / li >
2022-02-26 12:26:20 +00:00
< li > < a class = "el" href = "general_considerations.html#general_considerations_versioning_and_compatibility" > Versioning and compatibility< / a > < / li >
2018-08-24 10:13:37 +00:00
< li > < a class = "el" href = "general_considerations.html#general_considerations_validation_layer_warnings" > Validation layer warnings< / a > < / li >
2018-03-12 14:34:32 +00:00
< li > < a class = "el" href = "general_considerations.html#general_considerations_allocation_algorithm" > Allocation algorithm< / a > < / li >
2024-01-21 12:30:23 +00:00
< li > < a class = "el" href = "general_considerations.html#general_considerations_features_not_supported" > Features not supported< / a > < / li >
2018-03-12 14:34:32 +00:00
< / ul >
< / li >
2017-09-12 18:45:14 +00:00
< / ul >
2019-01-15 10:45:58 +00:00
< / div > < / div > <!-- PageDoc -->
2024-01-21 12:30:23 +00:00
< a href = "doxygen_crawl.html" / >
2019-01-15 10:45:58 +00:00
< / div > <!-- contents -->
2017-06-20 09:17:23 +00:00
<!-- start footer part -->
< hr class = "footer" / > < address class = "footer" > < small >
2024-08-28 11:20:19 +00:00
Generated by  < a href = "https://www.doxygen.org/index.html" > < img class = "footer" src = "doxygen.svg" width = "104" height = "31" alt = "doxygen" / > < / a > 1.11.0
2017-06-20 09:17:23 +00:00
< / small > < / address >
2024-08-28 11:20:19 +00:00
< / div > <!-- doc - content -->
2017-06-20 09:17:23 +00:00
< / body >
< / html >