mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
synced 2024-11-05 12:20:07 +00:00
Fixes in documentation: "Features not supported".
This commit is contained in:
parent
370ab184f8
commit
7a6e442b66
@ -110,10 +110,12 @@ Allocation algorithm</h1>
|
|||||||
Features not supported</h1>
|
Features not supported</h1>
|
||||||
<p>Features deliberately excluded from the scope of this library:</p>
|
<p>Features deliberately excluded from the scope of this library:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Support for sparse binding and sparse residency. You can still use these features (when supported by the device) with VMA. You just need to do it yourself. Any explicit support for sparse binding/residency would rather require another, higher-level library on top of VMA.</li>
|
<li>Support for sparse binding and sparse residency. You can still use these features (when supported by the device) with VMA. You just need to do it yourself. Allocate memory pages with <a class="el" href="vk__mem__alloc_8h.html#abf28077dbf82d0908b8acbe8ee8dd9b8" title="General purpose memory allocation. ">vmaAllocateMemory()</a>. Any explicit support for sparse binding/residency would rather require another, higher-level library on top of VMA.</li>
|
||||||
<li>Data transfer - issuing commands that transfer data between buffers or images, any usage of <code>VkCommandList</code> or <code>VkQueue</code> and related synchronization is responsibility of the user.</li>
|
<li>Data transfer - issuing commands that transfer data between buffers or images, any usage of <code>VkCommandList</code> or <code>VkQueue</code> and related synchronization is responsibility of the user.</li>
|
||||||
<li>Allocations for imported/exported external memory. They tend to require explicit memory type index and dedicated allocation anyway, so they don't interact with main features of this library. Such special purpose allocations should be made manually, using <code>vkCreateBuffer()</code> and <code>vkAllocateMemory()</code>.</li>
|
<li>Allocations for imported/exported external memory. They tend to require explicit memory type index and dedicated allocation anyway, so they don't interact with main features of this library. Such special purpose allocations should be made manually, using <code>vkCreateBuffer()</code> and <code>vkAllocateMemory()</code>.</li>
|
||||||
|
<li>Recreation of buffers and images. Although the library has functions for buffer and image creation (<a class="el" href="vk__mem__alloc_8h.html#ac72ee55598617e8eecca384e746bab51">vmaCreateBuffer()</a>, <a class="el" href="vk__mem__alloc_8h.html#a02a94f25679275851a53e82eacbcfc73" title="Function similar to vmaCreateBuffer(). ">vmaCreateImage()</a>), you need to recreate these objects yourself after defragmentation. That's because the big structures <code>VkBufferCreateInfo</code>, <code>VkImageCreateInfo</code> are not stored in <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation. ">VmaAllocation</a> object.</li>
|
||||||
<li>Handling CPU memory allocation failures. When dynamically creating small C++ objects in CPU memory (not Vulkan memory), allocation failures are not checked and handled gracefully, because that would complicate code significantly and is usually not needed in desktop PC applications anyway.</li>
|
<li>Handling CPU memory allocation failures. When dynamically creating small C++ objects in CPU memory (not Vulkan memory), allocation failures are not checked and handled gracefully, because that would complicate code significantly and is usually not needed in desktop PC applications anyway.</li>
|
||||||
|
<li>Code free of any compiler warnings. Maintaining the library to compile and work correctly on so many different platforms is hard enough. Being free of any warnings, on any version of any compiler, is simply not feasible.</li>
|
||||||
<li>Support for any programming languages other than C/C++. Bindings to other languages are welcomed as external projects. </li>
|
<li>Support for any programming languages other than C/C++. Bindings to other languages are welcomed as external projects. </li>
|
||||||
</ul>
|
</ul>
|
||||||
</div></div><!-- contents -->
|
</div></div><!-- contents -->
|
||||||
|
30
docs/html/search/variables_c.html
Normal file
30
docs/html/search/variables_c.html
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html><head><title></title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.14"/>
|
||||||
|
<link rel="stylesheet" type="text/css" href="search.css"/>
|
||||||
|
<script type="text/javascript" src="variables_c.js"></script>
|
||||||
|
<script type="text/javascript" src="search.js"></script>
|
||||||
|
</head>
|
||||||
|
<body class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<script type="text/javascript"><!--
|
||||||
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||||
|
createResults();
|
||||||
|
/* @license-end */
|
||||||
|
--></script>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
<script type="text/javascript"><!--
|
||||||
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||||
|
document.getElementById("Loading").style.display="none";
|
||||||
|
document.getElementById("NoMatches").style.display="none";
|
||||||
|
var searchResults = new SearchResults("searchResults");
|
||||||
|
searchResults.Search();
|
||||||
|
/* @license-end */
|
||||||
|
--></script>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
20
docs/html/search/variables_c.js
Normal file
20
docs/html/search/variables_c.js
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
var searchData=
|
||||||
|
[
|
||||||
|
['vkallocatememory',['vkAllocateMemory',['../struct_vma_vulkan_functions.html#a2943bf99dfd784a0e8f599d987e22e6c',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkbindbuffermemory',['vkBindBufferMemory',['../struct_vma_vulkan_functions.html#a94fc4f3a605d9880bb3c0ba2c2fc80b2',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkbindimagememory',['vkBindImageMemory',['../struct_vma_vulkan_functions.html#a1338d96a128a5ade648b8d934907c637',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkcmdcopybuffer',['vkCmdCopyBuffer',['../struct_vma_vulkan_functions.html#ae5c0db8c89a3b82593dc16aa6a49fa3a',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkcreatebuffer',['vkCreateBuffer',['../struct_vma_vulkan_functions.html#ae8084315a25006271a2edfc3a447519f',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkcreateimage',['vkCreateImage',['../struct_vma_vulkan_functions.html#a23ebe70be515b9b5010a1d691200e325',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkdestroybuffer',['vkDestroyBuffer',['../struct_vma_vulkan_functions.html#a7e054606faddb07f0e8556f3ed317d45',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkdestroyimage',['vkDestroyImage',['../struct_vma_vulkan_functions.html#a90b898227039b1dcb3520f6e91f09ffa',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkflushmappedmemoryranges',['vkFlushMappedMemoryRanges',['../struct_vma_vulkan_functions.html#a33c322f4c4ad2810f8a9c97a277572f9',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkfreememory',['vkFreeMemory',['../struct_vma_vulkan_functions.html#a4c658701778564d62034255b5dda91b4',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkgetbuffermemoryrequirements',['vkGetBufferMemoryRequirements',['../struct_vma_vulkan_functions.html#a5b92901df89a4194b0d12f6071d4d143',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkgetimagememoryrequirements',['vkGetImageMemoryRequirements',['../struct_vma_vulkan_functions.html#a475f6f49f8debe4d10800592606d53f4',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkgetphysicaldevicememoryproperties',['vkGetPhysicalDeviceMemoryProperties',['../struct_vma_vulkan_functions.html#a60d25c33bba06bb8592e6875cbaa9830',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkgetphysicaldeviceproperties',['vkGetPhysicalDeviceProperties',['../struct_vma_vulkan_functions.html#a77b7a74082823e865dd6546623468f96',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkinvalidatemappedmemoryranges',['vkInvalidateMappedMemoryRanges',['../struct_vma_vulkan_functions.html#a5c1093bc32386a8060c37c9f282078a1',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkmapmemory',['vkMapMemory',['../struct_vma_vulkan_functions.html#ab5c1f38dea3a2cf00dc9eb4f57218c49',1,'VmaVulkanFunctions']]],
|
||||||
|
['vkunmapmemory',['vkUnmapMemory',['../struct_vma_vulkan_functions.html#acc798589736f0becb317fc2196c1d8b9',1,'VmaVulkanFunctions']]]
|
||||||
|
];
|
File diff suppressed because one or more lines are too long
@ -1448,7 +1448,8 @@ Features deliberately excluded from the scope of this library:
|
|||||||
|
|
||||||
- Support for sparse binding and sparse residency. You can still use these
|
- Support for sparse binding and sparse residency. You can still use these
|
||||||
features (when supported by the device) with VMA. You just need to do it
|
features (when supported by the device) with VMA. You just need to do it
|
||||||
yourself. Any explicit support for sparse binding/residency would rather
|
yourself. Allocate memory pages with vmaAllocateMemory().
|
||||||
|
Any explicit support for sparse binding/residency would rather
|
||||||
require another, higher-level library on top of VMA.
|
require another, higher-level library on top of VMA.
|
||||||
- Data transfer - issuing commands that transfer data between buffers or images, any usage of
|
- Data transfer - issuing commands that transfer data between buffers or images, any usage of
|
||||||
`VkCommandList` or `VkQueue` and related synchronization is responsibility of the user.
|
`VkCommandList` or `VkQueue` and related synchronization is responsibility of the user.
|
||||||
@ -1456,10 +1457,18 @@ Features deliberately excluded from the scope of this library:
|
|||||||
explicit memory type index and dedicated allocation anyway, so they don't
|
explicit memory type index and dedicated allocation anyway, so they don't
|
||||||
interact with main features of this library. Such special purpose allocations
|
interact with main features of this library. Such special purpose allocations
|
||||||
should be made manually, using `vkCreateBuffer()` and `vkAllocateMemory()`.
|
should be made manually, using `vkCreateBuffer()` and `vkAllocateMemory()`.
|
||||||
|
- Recreation of buffers and images. Although the library has functions for
|
||||||
|
buffer and image creation (vmaCreateBuffer(), vmaCreateImage()), you need to
|
||||||
|
recreate these objects yourself after defragmentation. That's because the big
|
||||||
|
structures `VkBufferCreateInfo`, `VkImageCreateInfo` are not stored in
|
||||||
|
#VmaAllocation object.
|
||||||
- Handling CPU memory allocation failures. When dynamically creating small C++
|
- Handling CPU memory allocation failures. When dynamically creating small C++
|
||||||
objects in CPU memory (not Vulkan memory), allocation failures are not checked
|
objects in CPU memory (not Vulkan memory), allocation failures are not checked
|
||||||
and handled gracefully, because that would complicate code significantly and
|
and handled gracefully, because that would complicate code significantly and
|
||||||
is usually not needed in desktop PC applications anyway.
|
is usually not needed in desktop PC applications anyway.
|
||||||
|
- Code free of any compiler warnings. Maintaining the library to compile and
|
||||||
|
work correctly on so many different platforms is hard enough. Being free of
|
||||||
|
any warnings, on any version of any compiler, is simply not feasible.
|
||||||
- Support for any programming languages other than C/C++.
|
- Support for any programming languages other than C/C++.
|
||||||
Bindings to other languages are welcomed as external projects.
|
Bindings to other languages are welcomed as external projects.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user