Skip to content

Commit 7a6e442

Browse files
Fixes in documentation: "Features not supported".
1 parent 370ab18 commit 7a6e442

5 files changed

Lines changed: 193 additions & 132 deletions

File tree

docs/html/general_considerations.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,12 @@ <h1><a class="anchor" id="general_considerations_features_not_supported"></a>
110110
Features not supported</h1>
111111
<p>Features deliberately excluded from the scope of this library:</p>
112112
<ul>
113-
<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>
113+
<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>
114114
<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>
115115
<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>
116+
<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>
116117
<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>
118+
<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>
117119
<li>Support for any programming languages other than C/C++. Bindings to other languages are welcomed as external projects. </li>
118120
</ul>
119121
</div></div><!-- contents -->

docs/html/search/variables_c.html

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2+
<html><head><title></title>
3+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4+
<meta name="generator" content="Doxygen 1.8.14"/>
5+
<link rel="stylesheet" type="text/css" href="search.css"/>
6+
<script type="text/javascript" src="variables_c.js"></script>
7+
<script type="text/javascript" src="search.js"></script>
8+
</head>
9+
<body class="SRPage">
10+
<div id="SRIndex">
11+
<div class="SRStatus" id="Loading">Loading...</div>
12+
<div id="SRResults"></div>
13+
<script type="text/javascript"><!--
14+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
15+
createResults();
16+
/* @license-end */
17+
--></script>
18+
<div class="SRStatus" id="Searching">Searching...</div>
19+
<div class="SRStatus" id="NoMatches">No Matches</div>
20+
<script type="text/javascript"><!--
21+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
22+
document.getElementById("Loading").style.display="none";
23+
document.getElementById("NoMatches").style.display="none";
24+
var searchResults = new SearchResults("searchResults");
25+
searchResults.Search();
26+
/* @license-end */
27+
--></script>
28+
</div>
29+
</body>
30+
</html>

docs/html/search/variables_c.js

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/html/vk__mem__alloc_8h_source.html

Lines changed: 130 additions & 130 deletions
Large diffs are not rendered by default.

src/vk_mem_alloc.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1448,18 +1448,27 @@ Features deliberately excluded from the scope of this library:
14481448

14491449
- Support for sparse binding and sparse residency. You can still use these
14501450
features (when supported by the device) with VMA. You just need to do it
1451-
yourself. Any explicit support for sparse binding/residency would rather
1451+
yourself. Allocate memory pages with vmaAllocateMemory().
1452+
Any explicit support for sparse binding/residency would rather
14521453
require another, higher-level library on top of VMA.
14531454
- Data transfer - issuing commands that transfer data between buffers or images, any usage of
14541455
`VkCommandList` or `VkQueue` and related synchronization is responsibility of the user.
14551456
- Allocations for imported/exported external memory. They tend to require
14561457
explicit memory type index and dedicated allocation anyway, so they don't
14571458
interact with main features of this library. Such special purpose allocations
14581459
should be made manually, using `vkCreateBuffer()` and `vkAllocateMemory()`.
1460+
- Recreation of buffers and images. Although the library has functions for
1461+
buffer and image creation (vmaCreateBuffer(), vmaCreateImage()), you need to
1462+
recreate these objects yourself after defragmentation. That's because the big
1463+
structures `VkBufferCreateInfo`, `VkImageCreateInfo` are not stored in
1464+
#VmaAllocation object.
14591465
- Handling CPU memory allocation failures. When dynamically creating small C++
14601466
objects in CPU memory (not Vulkan memory), allocation failures are not checked
14611467
and handled gracefully, because that would complicate code significantly and
14621468
is usually not needed in desktop PC applications anyway.
1469+
- Code free of any compiler warnings. Maintaining the library to compile and
1470+
work correctly on so many different platforms is hard enough. Being free of
1471+
any warnings, on any version of any compiler, is simply not feasible.
14631472
- Support for any programming languages other than C/C++.
14641473
Bindings to other languages are welcomed as external projects.
14651474

0 commit comments

Comments
 (0)