1064 lines
93 KiB
HTML
1064 lines
93 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.16.1"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>libktx Reference: Vulkan Texture Image Loader</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>
|
|
<script type="text/javascript" src="clipboard.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<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>
|
|
<tr id="projectrow">
|
|
<td id="projectlogo"><img alt="Logo" src="ktx_logo_200.png"/></td>
|
|
<td id="projectalign">
|
|
<div id="projectname">libktx Reference<span id="projectnumber"> 0.0.0</span>
|
|
</div>
|
|
<div id="projectbrief">Libraries and tools to create and read KTX image texture files.</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.16.1 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
</script>
|
|
<script type="text/javascript">
|
|
$(function() { codefold.init(); });
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search',true);
|
|
$(function() { init_search(); });
|
|
});
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(function(){initNavTree('group__ktx__vkloader.html','',''); });
|
|
</script>
|
|
<div id="container">
|
|
<div id="doc-content">
|
|
<!-- 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">
|
|
<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>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle"><div class="title">Vulkan Texture Image Loader </div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Create texture images on a Vulkan device.
|
|
<a href="#details">More...</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:ga82ac7e21e884652c519d9fe28ad5428c" id="r_ga82ac7e21e884652c519d9fe28ad5428c"><td class="memItemLeft"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> * </td><td class="memItemRight"><a class="el" href="#ga82ac7e21e884652c519d9fe28ad5428c">ktxVulkanDeviceInfo_Create</a> (VkPhysicalDevice <a class="el" href="structktxVulkanDeviceInfo.html#ac2810ac3274fecd32eedb3e6af340df0">physicalDevice</a>, VkDevice <a class="el" href="structktxVulkanDeviceInfo.html#a8aef703a0ef81f8277415b03129f44d7">device</a>, VkQueue <a class="el" href="structktxVulkanDeviceInfo.html#ab3246009ce333f50c2ca3d8187c3849e">queue</a>, VkCommandPool <a class="el" href="structktxVulkanDeviceInfo.html#ab3f05272e12842d5d4d29fca7baa2e50">cmdPool</a>, const VkAllocationCallbacks *<a class="el" href="structktxVulkanDeviceInfo.html#a3e22f7507185cca6b31fb443453ad48e">pAllocator</a>)</td></tr>
|
|
<tr class="memdesc:ga82ac7e21e884652c519d9fe28ad5428c"><td class="mdescLeft"> </td><td class="mdescRight">Create a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga5137c2d7e23be51160048b3253abad3c" id="r_ga5137c2d7e23be51160048b3253abad3c"><td class="memItemLeft"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> * </td><td class="memItemRight"><a class="el" href="#ga5137c2d7e23be51160048b3253abad3c">ktxVulkanDeviceInfo_CreateEx</a> (VkInstance <a class="el" href="structktxVulkanDeviceInfo.html#ab264f628c25b3571174ecdd626526958">instance</a>, VkPhysicalDevice <a class="el" href="structktxVulkanDeviceInfo.html#ac2810ac3274fecd32eedb3e6af340df0">physicalDevice</a>, VkDevice <a class="el" href="structktxVulkanDeviceInfo.html#a8aef703a0ef81f8277415b03129f44d7">device</a>, VkQueue <a class="el" href="structktxVulkanDeviceInfo.html#ab3246009ce333f50c2ca3d8187c3849e">queue</a>, VkCommandPool <a class="el" href="structktxVulkanDeviceInfo.html#ab3f05272e12842d5d4d29fca7baa2e50">cmdPool</a>, const VkAllocationCallbacks *<a class="el" href="structktxVulkanDeviceInfo.html#a3e22f7507185cca6b31fb443453ad48e">pAllocator</a>, const <a class="el" href="structktxVulkanFunctions.html">ktxVulkanFunctions</a> *pFuncs)</td></tr>
|
|
<tr class="memdesc:ga5137c2d7e23be51160048b3253abad3c"><td class="mdescLeft"> </td><td class="mdescRight">Create a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga4bc9f0fa9af93d588276f54fe9a6ba50" id="r_ga4bc9f0fa9af93d588276f54fe9a6ba50"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> </td><td class="memItemRight"><a class="el" href="#ga4bc9f0fa9af93d588276f54fe9a6ba50">ktxVulkanDeviceInfo_Construct</a> (<a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *This, VkPhysicalDevice <a class="el" href="structktxVulkanDeviceInfo.html#ac2810ac3274fecd32eedb3e6af340df0">physicalDevice</a>, VkDevice <a class="el" href="structktxVulkanDeviceInfo.html#a8aef703a0ef81f8277415b03129f44d7">device</a>, VkQueue <a class="el" href="structktxVulkanDeviceInfo.html#ab3246009ce333f50c2ca3d8187c3849e">queue</a>, VkCommandPool <a class="el" href="structktxVulkanDeviceInfo.html#ab3f05272e12842d5d4d29fca7baa2e50">cmdPool</a>, const VkAllocationCallbacks *<a class="el" href="structktxVulkanDeviceInfo.html#a3e22f7507185cca6b31fb443453ad48e">pAllocator</a>)</td></tr>
|
|
<tr class="memdesc:ga4bc9f0fa9af93d588276f54fe9a6ba50"><td class="mdescLeft"> </td><td class="mdescRight">Construct a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga3c9d5bc5ac1d0e237ae62fd94c148764" id="r_ga3c9d5bc5ac1d0e237ae62fd94c148764"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> </td><td class="memItemRight"><a class="el" href="#ga3c9d5bc5ac1d0e237ae62fd94c148764">ktxVulkanDeviceInfo_ConstructEx</a> (<a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *This, VkInstance <a class="el" href="structktxVulkanDeviceInfo.html#ab264f628c25b3571174ecdd626526958">instance</a>, VkPhysicalDevice <a class="el" href="structktxVulkanDeviceInfo.html#ac2810ac3274fecd32eedb3e6af340df0">physicalDevice</a>, VkDevice <a class="el" href="structktxVulkanDeviceInfo.html#a8aef703a0ef81f8277415b03129f44d7">device</a>, VkQueue <a class="el" href="structktxVulkanDeviceInfo.html#ab3246009ce333f50c2ca3d8187c3849e">queue</a>, VkCommandPool <a class="el" href="structktxVulkanDeviceInfo.html#ab3f05272e12842d5d4d29fca7baa2e50">cmdPool</a>, const VkAllocationCallbacks *<a class="el" href="structktxVulkanDeviceInfo.html#a3e22f7507185cca6b31fb443453ad48e">pAllocator</a>, const <a class="el" href="structktxVulkanFunctions.html">ktxVulkanFunctions</a> *pFunctions)</td></tr>
|
|
<tr class="memdesc:ga3c9d5bc5ac1d0e237ae62fd94c148764"><td class="mdescLeft"> </td><td class="mdescRight">Construct a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. <br /></td></tr>
|
|
<tr class="memitem:gae58928740420d1ed3f96fd4b0f2d897e" id="r_gae58928740420d1ed3f96fd4b0f2d897e"><td class="memItemLeft">void </td><td class="memItemRight"><a class="el" href="#gae58928740420d1ed3f96fd4b0f2d897e">ktxVulkanDeviceInfo_Destruct</a> (<a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *This)</td></tr>
|
|
<tr class="memdesc:gae58928740420d1ed3f96fd4b0f2d897e"><td class="mdescLeft"> </td><td class="mdescRight">Destruct a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. <br /></td></tr>
|
|
<tr class="memitem:gaaf633943fbf201fb620c0270c6150fa8" id="r_gaaf633943fbf201fb620c0270c6150fa8"><td class="memItemLeft">void </td><td class="memItemRight"><a class="el" href="#gaaf633943fbf201fb620c0270c6150fa8">ktxVulkanDeviceInfo_Destroy</a> (<a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *This)</td></tr>
|
|
<tr class="memdesc:gaaf633943fbf201fb620c0270c6150fa8"><td class="mdescLeft"> </td><td class="mdescRight">Destroy a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga8d9b0820e70dd0239b2c1bdc0a7713f7" id="r_ga8d9b0820e70dd0239b2c1bdc0a7713f7"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> </td><td class="memItemRight"><a class="el" href="#ga8d9b0820e70dd0239b2c1bdc0a7713f7">ktxTexture_VkUploadEx_WithSuballocator</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture, VkImageTiling tiling, VkImageUsageFlags usageFlags, VkImageLayout finalLayout, <a class="el" href="structktxVulkanTexture__subAllocatorCallbacks.html">ktxVulkanTexture_subAllocatorCallbacks</a> *subAllocatorCallbacks)</td></tr>
|
|
<tr class="memdesc:ga8d9b0820e70dd0239b2c1bdc0a7713f7"><td class="mdescLeft"> </td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga153164adbd7307ad1844c3e117faa325" id="r_ga153164adbd7307ad1844c3e117faa325"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> </td><td class="memItemRight"><a class="el" href="#ga153164adbd7307ad1844c3e117faa325">ktxTexture_VkUploadEx</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture, VkImageTiling tiling, VkImageUsageFlags usageFlags, VkImageLayout finalLayout)</td></tr>
|
|
<tr class="memdesc:ga153164adbd7307ad1844c3e117faa325"><td class="mdescLeft"> </td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga377a4a2c177956ea661549ee502d60da" id="r_ga377a4a2c177956ea661549ee502d60da"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> </td><td class="memItemRight"><a class="el" href="#ga377a4a2c177956ea661549ee502d60da">ktxTexture_VkUpload</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *texture, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture)</td></tr>
|
|
<tr class="memdesc:ga377a4a2c177956ea661549ee502d60da"><td class="mdescLeft"> </td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga4166e5853362cf136f3efe0c527c4c6d" id="r_ga4166e5853362cf136f3efe0c527c4c6d"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> </td><td class="memItemRight"><a class="el" href="#ga4166e5853362cf136f3efe0c527c4c6d">ktxTexture1_VkUploadEx_WithSuballocator</a> (<a class="el" href="structktxTexture1.html">ktxTexture1</a> *This, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture, VkImageTiling tiling, VkImageUsageFlags usageFlags, VkImageLayout finalLayout, <a class="el" href="structktxVulkanTexture__subAllocatorCallbacks.html">ktxVulkanTexture_subAllocatorCallbacks</a> *subAllocatorCallbacks)</td></tr>
|
|
<tr class="memdesc:ga4166e5853362cf136f3efe0c527c4c6d"><td class="mdescLeft"> </td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> object. <br /></td></tr>
|
|
<tr class="memitem:gad7840c1eeb618fa1a09fc5a02c07ce87" id="r_gad7840c1eeb618fa1a09fc5a02c07ce87"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> </td><td class="memItemRight"><a class="el" href="#gad7840c1eeb618fa1a09fc5a02c07ce87">ktxTexture1_VkUploadEx</a> (<a class="el" href="structktxTexture1.html">ktxTexture1</a> *This, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture, VkImageTiling tiling, VkImageUsageFlags usageFlags, VkImageLayout finalLayout)</td></tr>
|
|
<tr class="memdesc:gad7840c1eeb618fa1a09fc5a02c07ce87"><td class="mdescLeft"> </td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> object. <br /></td></tr>
|
|
<tr class="memitem:gac70d24bac4ac3b2586836439bbc6592a" id="r_gac70d24bac4ac3b2586836439bbc6592a"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> </td><td class="memItemRight"><a class="el" href="#gac70d24bac4ac3b2586836439bbc6592a">ktxTexture1_VkUpload</a> (<a class="el" href="structktxTexture1.html">ktxTexture1</a> *texture, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture)</td></tr>
|
|
<tr class="memdesc:gac70d24bac4ac3b2586836439bbc6592a"><td class="mdescLeft"> </td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> object. <br /></td></tr>
|
|
<tr class="memitem:gacb13edcb651f0a8fb26dab9594ef7dc7" id="r_gacb13edcb651f0a8fb26dab9594ef7dc7"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> </td><td class="memItemRight"><a class="el" href="#gacb13edcb651f0a8fb26dab9594ef7dc7">ktxTexture2_VkUploadEx_WithSuballocator</a> (<a class="el" href="structktxTexture2.html">ktxTexture2</a> *This, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture, VkImageTiling tiling, VkImageUsageFlags usageFlags, VkImageLayout finalLayout, <a class="el" href="structktxVulkanTexture__subAllocatorCallbacks.html">ktxVulkanTexture_subAllocatorCallbacks</a> *subAllocatorCallbacks)</td></tr>
|
|
<tr class="memdesc:gacb13edcb651f0a8fb26dab9594ef7dc7"><td class="mdescLeft"> </td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga265926439e3f9502f248684238e5cc48" id="r_ga265926439e3f9502f248684238e5cc48"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> </td><td class="memItemRight"><a class="el" href="#ga265926439e3f9502f248684238e5cc48">ktxTexture2_VkUploadEx</a> (<a class="el" href="structktxTexture2.html">ktxTexture2</a> *This, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture, VkImageTiling tiling, VkImageUsageFlags usageFlags, VkImageLayout finalLayout)</td></tr>
|
|
<tr class="memdesc:ga265926439e3f9502f248684238e5cc48"><td class="mdescLeft"> </td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object. <br /></td></tr>
|
|
<tr class="memitem:gadf0fba44f518b61acd5d0ae86225ddee" id="r_gadf0fba44f518b61acd5d0ae86225ddee"><td class="memItemLeft"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> </td><td class="memItemRight"><a class="el" href="#gadf0fba44f518b61acd5d0ae86225ddee">ktxTexture2_VkUpload</a> (<a class="el" href="structktxTexture2.html">ktxTexture2</a> *This, <a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *vdi, <a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture)</td></tr>
|
|
<tr class="memdesc:gadf0fba44f518b61acd5d0ae86225ddee"><td class="mdescLeft"> </td><td class="mdescRight">Create a Vulkan image object from a <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga11fb504b749453140e04ca69711633d6" id="r_ga11fb504b749453140e04ca69711633d6"><td class="memItemLeft">VkFormat </td><td class="memItemRight"><a class="el" href="#ga11fb504b749453140e04ca69711633d6">ktxTexture1_GetVkFormat</a> (<a class="el" href="structktxTexture1.html">ktxTexture1</a> *This)</td></tr>
|
|
<tr class="memdesc:ga11fb504b749453140e04ca69711633d6"><td class="mdescLeft"> </td><td class="mdescRight">Return the VkFormat enum of a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga7a9baaf3aa2e114c6f6e58fe68051815" id="r_ga7a9baaf3aa2e114c6f6e58fe68051815"><td class="memItemLeft">VkFormat </td><td class="memItemRight"><a class="el" href="#ga7a9baaf3aa2e114c6f6e58fe68051815">ktxTexture2_GetVkFormat</a> (<a class="el" href="structktxTexture2.html">ktxTexture2</a> *This)</td></tr>
|
|
<tr class="memdesc:ga7a9baaf3aa2e114c6f6e58fe68051815"><td class="mdescLeft"> </td><td class="mdescRight">Return the VkFormat enum of a <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga3ef2792fb0cd184636180ae0a540b872" id="r_ga3ef2792fb0cd184636180ae0a540b872"><td class="memItemLeft">VkFormat </td><td class="memItemRight"><a class="el" href="#ga3ef2792fb0cd184636180ae0a540b872">ktxTexture_GetVkFormat</a> (<a class="el" href="structktxTexture.html">ktxTexture</a> *This)</td></tr>
|
|
<tr class="memdesc:ga3ef2792fb0cd184636180ae0a540b872"><td class="mdescLeft"> </td><td class="mdescRight">Return the VkFormat enum of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. <br /></td></tr>
|
|
<tr class="memitem:ga5a783db9431738b9b18b9fc585183490" id="r_ga5a783db9431738b9b18b9fc585183490"><td class="memItemLeft"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116c">ktx_error_code_e</a> </td><td class="memItemRight"><a class="el" href="#ga5a783db9431738b9b18b9fc585183490">ktxVulkanTexture_Destruct_WithSuballocator</a> (<a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture, VkDevice device, const VkAllocationCallbacks *pAllocator, <a class="el" href="structktxVulkanTexture__subAllocatorCallbacks.html">ktxVulkanTexture_subAllocatorCallbacks</a> *subAllocatorCallbacks)</td></tr>
|
|
<tr class="memdesc:ga5a783db9431738b9b18b9fc585183490"><td class="mdescLeft"> </td><td class="mdescRight">Destructor for the object returned when loading a texture image. <br /></td></tr>
|
|
<tr class="memitem:gaf620a84f6bc59bff03b521e55a654f19" id="r_gaf620a84f6bc59bff03b521e55a654f19"><td class="memItemLeft">void </td><td class="memItemRight"><a class="el" href="#gaf620a84f6bc59bff03b521e55a654f19">ktxVulkanTexture_Destruct</a> (<a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *vkTexture, VkDevice device, const VkAllocationCallbacks *pAllocator)</td></tr>
|
|
<tr class="memdesc:gaf620a84f6bc59bff03b521e55a654f19"><td class="mdescLeft"> </td><td class="mdescRight">Destructor for the object returned when loading a texture image. <br /></td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Create texture images on a Vulkan device. </p>
|
|
</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
|
|
<a id="ga11fb504b749453140e04ca69711633d6" name="ga11fb504b749453140e04ca69711633d6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga11fb504b749453140e04ca69711633d6">◆ </a></span>ktxTexture1_GetVkFormat()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">VkFormat ktxTexture1_GetVkFormat </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture1.html">ktxTexture1</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return the VkFormat enum of a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> object. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The VkFormat of the texture object. May return VK_FORMAT_UNDEFINED if there is no mapping from the GL internalformat and format. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gac70d24bac4ac3b2586836439bbc6592a" name="gac70d24bac4ac3b2586836439bbc6592a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gac70d24bac4ac3b2586836439bbc6592a">◆ </a></span>ktxTexture1_VkUpload()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> ktxTexture1_VkUpload </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture1.html">ktxTexture1</a> *</td> <td class="paramname"><span class="paramname"><em>texture</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>vdi</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *</td> <td class="paramname"><span class="paramname"><em>vkTexture</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a Vulkan image object from a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> object. </p>
|
|
<p>Calls <a class="el" href="#ga153164adbd7307ad1844c3e117faa325" title="ktxTexture_VkUploadEx">ktxTexture_VkUploadEx()</a> with the most commonly used options: <code>VK_IMAGE_TILING_OPTIMAL</code>, <code>VK_IMAGE_USAGE_SAMPLED_BIT</code> and <code>VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL</code>. Use that for complete control. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gad7840c1eeb618fa1a09fc5a02c07ce87" name="gad7840c1eeb618fa1a09fc5a02c07ce87"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gad7840c1eeb618fa1a09fc5a02c07ce87">◆ </a></span>ktxTexture1_VkUploadEx()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> ktxTexture1_VkUploadEx </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture1.html">ktxTexture1</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>vdi</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *</td> <td class="paramname"><span class="paramname"><em>vkTexture</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageTiling</td> <td class="paramname"><span class="paramname"><em>tiling</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageUsageFlags</td> <td class="paramname"><span class="paramname"><em>usageFlags</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageLayout</td> <td class="paramname"><span class="paramname"><em>finalLayout</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a Vulkan image object from a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> object. </p>
|
|
<p>This simply calls <a class="el" href="#ga153164adbd7307ad1844c3e117faa325" title="ktxTexture_VkUploadEx">ktxTexture_VkUploadEx()</a>. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga4166e5853362cf136f3efe0c527c4c6d" name="ga4166e5853362cf136f3efe0c527c4c6d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga4166e5853362cf136f3efe0c527c4c6d">◆ </a></span>ktxTexture1_VkUploadEx_WithSuballocator()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> ktxTexture1_VkUploadEx_WithSuballocator </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture1.html">ktxTexture1</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>vdi</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *</td> <td class="paramname"><span class="paramname"><em>vkTexture</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageTiling</td> <td class="paramname"><span class="paramname"><em>tiling</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageUsageFlags</td> <td class="paramname"><span class="paramname"><em>usageFlags</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageLayout</td> <td class="paramname"><span class="paramname"><em>finalLayout</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture__subAllocatorCallbacks.html">ktxVulkanTexture_subAllocatorCallbacks</a> *</td> <td class="paramname"><span class="paramname"><em>subAllocatorCallbacks</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a Vulkan image object from a <a class="el" href="structktxTexture1.html" title="Class representing a KTX version 1 format texture.">ktxTexture1</a> object. </p>
|
|
<p>This simply calls <a class="el" href="#ga8d9b0820e70dd0239b2c1bdc0a7713f7" title="ktxTexture_VkUploadEx_WithSuballocator">ktxTexture_VkUploadEx_WithSuballocator()</a></p>
|
|
<p>Creates a VkImage with <code>VkFormat</code> etc. matching the KTX data and uploads the images. Mipmaps will be generated if the <code><a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s</code> <code>generateMipmaps</code> flag is set. Returns the handles of the created objects and information about the texture in the <code><a class="el" href="structktxVulkanTexture.html" title="Struct for returning information about the Vulkan texture image created by the ktxTexture_VkUpload* f...">ktxVulkanTexture</a></code> pointed at by <code class="param">vkTexture</code>.</p>
|
|
<p>The created VkImage will have <code>VK_SHARING_MODE_EXCLUSIVE</code> set thus the resulting image will be usable only with queues of the same family as the <code>queue</code> in the <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> pointed to by <em class="arg">vdi</em>.</p>
|
|
<p><code class="param">usageFlags</code> and thus acceptable usage of the created image may be augmented as follows:</p><ul>
|
|
<li>with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code> if <code class="param">tiling</code> is <code>VK_IMAGE_TILING_OPTIMAL</code> </li>
|
|
<li>with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code> if <code>generateMipmaps</code> is set in the <code><a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a></code>.</li>
|
|
</ul>
|
|
<p>Most Vulkan implementations support <code>VK_IMAGE_TILING_LINEAR</code> only for a very limited number of formats and features. Generally <code>VK_IMAGE_TILING_OPTIMAL</code> is preferred. The latter requires a staging buffer so will use more memory during loading.</p>
|
|
<p>If a pointer to a set of suballocator callbacks is provided, they will be used instead of manual allocation of VkDeviceMemory. A 64 bit uint that references the suballocated page(s) is returned on memory procurement and saved in the <code>allocationId</code> field of the structure pointed to by <em class="arg">vkTexture</em>.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> from which to upload. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">vdi</td><td>pointer to a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> structure providing information about the Vulkan device onto which to load the texture. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">vkTexture</td><td>pointer to a <a class="el" href="structktxVulkanTexture.html" title="Struct for returning information about the Vulkan texture image created by the ktxTexture_VkUpload* f...">ktxVulkanTexture</a> structure into which the function writes information about the created VkImage. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">tiling</td><td>type of tiling to use in the destination image on the Vulkan device. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">usageFlags</td><td>a set of VkImageUsageFlags bits indicating the intended usage of the destination image. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">finalLayout</td><td>a VkImageLayout value indicating the desired final layout of the created image. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">subAllocatorCallbacks</td><td>pointer to a set of suballocator callbacks that wrap around suballocator calls: alloc, bindbuffer, bindimage, map, unmap and free. They use a uint64_t stored in the <code>allocationId</code> field of the structure pointed at by <em class="arg">vkTexture</em> to reference allocated page(s).</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td>An incomplete set of callbacks are provided in subAllocatorCallbacks. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code>, <code class="param">vdi</code> or <code class="param">vkTexture</code> is <code>NULL</code>. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> contains neither images nor an active stream from which to read them. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The combination of the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s format, <code class="param">tiling</code> and <code class="param">usageFlags</code> is not supported by the physical device. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>Requested mipmap generation is not supported by the physical device for the combination of the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s format and <code class="param">tiling</code>. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>Number of mip levels or array layers exceeds the maximums supported for the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s format and <code class="param">tiling</code>. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca87728a1745ea6333b6fbe041c03036f2">KTX_OUT_OF_MEMORY</a></td><td>Sufficient memory could not be allocated on either the CPU or the Vulkan device. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca04808a4c3abddb237d2a8cf903205496">KTX_UNSUPPORTED_FEATURE</a></td><td>Attempting to sparsely bind KTX textures for the time being will report this error.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ga4bc9f0fa9af93d588276f54fe9a6ba50" title="ktxVulkanDeviceInfo_Construct">ktxVulkanDeviceInfo_Construct()</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga7a9baaf3aa2e114c6f6e58fe68051815" name="ga7a9baaf3aa2e114c6f6e58fe68051815"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga7a9baaf3aa2e114c6f6e58fe68051815">◆ </a></span>ktxTexture2_GetVkFormat()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">VkFormat ktxTexture2_GetVkFormat </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture2.html">ktxTexture2</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return the VkFormat enum of a <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The VkFormat of the texture object. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gadf0fba44f518b61acd5d0ae86225ddee" name="gadf0fba44f518b61acd5d0ae86225ddee"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gadf0fba44f518b61acd5d0ae86225ddee">◆ </a></span>ktxTexture2_VkUpload()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> ktxTexture2_VkUpload </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture2.html">ktxTexture2</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>vdi</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *</td> <td class="paramname"><span class="paramname"><em>vkTexture</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a Vulkan image object from a <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object. </p>
|
|
<p>Calls <a class="el" href="#ga153164adbd7307ad1844c3e117faa325" title="ktxTexture_VkUploadEx">ktxTexture_VkUploadEx()</a> with the most commonly used options: <code>VK_IMAGE_TILING_OPTIMAL</code>, <code>VK_IMAGE_USAGE_SAMPLED_BIT</code> and <code>VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL</code>. Use that for complete control. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga265926439e3f9502f248684238e5cc48" name="ga265926439e3f9502f248684238e5cc48"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga265926439e3f9502f248684238e5cc48">◆ </a></span>ktxTexture2_VkUploadEx()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> ktxTexture2_VkUploadEx </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture2.html">ktxTexture2</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>vdi</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *</td> <td class="paramname"><span class="paramname"><em>vkTexture</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageTiling</td> <td class="paramname"><span class="paramname"><em>tiling</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageUsageFlags</td> <td class="paramname"><span class="paramname"><em>usageFlags</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageLayout</td> <td class="paramname"><span class="paramname"><em>finalLayout</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a Vulkan image object from a <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object. </p>
|
|
<p>This simply calls <a class="el" href="#ga153164adbd7307ad1844c3e117faa325" title="ktxTexture_VkUploadEx">ktxTexture_VkUploadEx()</a>. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gacb13edcb651f0a8fb26dab9594ef7dc7" name="gacb13edcb651f0a8fb26dab9594ef7dc7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gacb13edcb651f0a8fb26dab9594ef7dc7">◆ </a></span>ktxTexture2_VkUploadEx_WithSuballocator()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> ktxTexture2_VkUploadEx_WithSuballocator </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture2.html">ktxTexture2</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>vdi</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *</td> <td class="paramname"><span class="paramname"><em>vkTexture</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageTiling</td> <td class="paramname"><span class="paramname"><em>tiling</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageUsageFlags</td> <td class="paramname"><span class="paramname"><em>usageFlags</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageLayout</td> <td class="paramname"><span class="paramname"><em>finalLayout</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture__subAllocatorCallbacks.html">ktxVulkanTexture_subAllocatorCallbacks</a> *</td> <td class="paramname"><span class="paramname"><em>subAllocatorCallbacks</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a Vulkan image object from a <a class="el" href="structktxTexture2.html" title="Class representing a KTX version 2 format texture.">ktxTexture2</a> object. </p>
|
|
<p>This simplly calls <a class="el" href="#ga8d9b0820e70dd0239b2c1bdc0a7713f7" title="ktxTexture_VkUploadEx_WithSuballocator">ktxTexture_VkUploadEx_WithSuballocator()</a>.</p>
|
|
<p>Creates a VkImage with <code>VkFormat</code> etc. matching the KTX data and uploads the images. Mipmaps will be generated if the <code><a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s</code> <code>generateMipmaps</code> flag is set. Returns the handles of the created objects and information about the texture in the <code><a class="el" href="structktxVulkanTexture.html" title="Struct for returning information about the Vulkan texture image created by the ktxTexture_VkUpload* f...">ktxVulkanTexture</a></code> pointed at by <code class="param">vkTexture</code>.</p>
|
|
<p>The created VkImage will have <code>VK_SHARING_MODE_EXCLUSIVE</code> set thus the resulting image will be usable only with queues of the same family as the <code>queue</code> in the <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> pointed to by <em class="arg">vdi</em>.</p>
|
|
<p><code class="param">usageFlags</code> and thus acceptable usage of the created image may be augmented as follows:</p><ul>
|
|
<li>with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code> if <code class="param">tiling</code> is <code>VK_IMAGE_TILING_OPTIMAL</code> </li>
|
|
<li>with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code> if <code>generateMipmaps</code> is set in the <code><a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a></code>.</li>
|
|
</ul>
|
|
<p>Most Vulkan implementations support <code>VK_IMAGE_TILING_LINEAR</code> only for a very limited number of formats and features. Generally <code>VK_IMAGE_TILING_OPTIMAL</code> is preferred. The latter requires a staging buffer so will use more memory during loading.</p>
|
|
<p>If a pointer to a set of suballocator callbacks is provided, they will be used instead of manual allocation of VkDeviceMemory. A 64 bit uint that references the suballocated page(s) is returned on memory procurement and saved in the <code>allocationId</code> field of the structure pointed to by <em class="arg">vkTexture</em>.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> from which to upload. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">vdi</td><td>pointer to a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> structure providing information about the Vulkan device onto which to load the texture. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">vkTexture</td><td>pointer to a <a class="el" href="structktxVulkanTexture.html" title="Struct for returning information about the Vulkan texture image created by the ktxTexture_VkUpload* f...">ktxVulkanTexture</a> structure into which the function writes information about the created VkImage. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">tiling</td><td>type of tiling to use in the destination image on the Vulkan device. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">usageFlags</td><td>a set of VkImageUsageFlags bits indicating the intended usage of the destination image. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">finalLayout</td><td>a VkImageLayout value indicating the desired final layout of the created image. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">subAllocatorCallbacks</td><td>pointer to a set of suballocator callbacks that wrap around suballocator calls: alloc, bindbuffer, bindimage, map, unmap and free. They use a uint64_t stored in the <code>allocationId</code> field of the structure pointed at by <em class="arg">vkTexture</em> to reference allocated page(s).</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td>An incomplete set of callbacks are provided in subAllocatorCallbacks. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code>, <code class="param">vdi</code> or <code class="param">vkTexture</code> is <code>NULL</code>. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> contains neither images nor an active stream from which to read them. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The combination of the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s format, <code class="param">tiling</code> and <code class="param">usageFlags</code> is not supported by the physical device. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>Requested mipmap generation is not supported by the physical device for the combination of the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s format and <code class="param">tiling</code>. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>Number of mip levels or array layers exceeds the maximums supported for the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s format and <code class="param">tiling</code>. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca87728a1745ea6333b6fbe041c03036f2">KTX_OUT_OF_MEMORY</a></td><td>Sufficient memory could not be allocated on either the CPU or the Vulkan device. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca04808a4c3abddb237d2a8cf903205496">KTX_UNSUPPORTED_FEATURE</a></td><td>Attempting to sparsely bind KTX textures for the time being will report this error.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ga4bc9f0fa9af93d588276f54fe9a6ba50" title="ktxVulkanDeviceInfo_Construct">ktxVulkanDeviceInfo_Construct()</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga3ef2792fb0cd184636180ae0a540b872" name="ga3ef2792fb0cd184636180ae0a540b872"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga3ef2792fb0cd184636180ae0a540b872">◆ </a></span>ktxTexture_GetVkFormat()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">VkFormat ktxTexture_GetVkFormat </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture.html">ktxTexture</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return the VkFormat enum of a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. </p>
|
|
<p>In ordert to ensure that the Vulkan uploader is not linked into an application unless explicitly called, this is not a virtual function. It determines the texture type then dispatches to the correct function. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="#ga11fb504b749453140e04ca69711633d6" title="ktxTexture1_GetVkFormat">ktxTexture1_GetVkFormat()</a> </dd>
|
|
<dd>
|
|
<a class="el" href="#ga7a9baaf3aa2e114c6f6e58fe68051815" title="ktxTexture2_GetVkFormat">ktxTexture2_GetVkFormat()</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga377a4a2c177956ea661549ee502d60da" name="ga377a4a2c177956ea661549ee502d60da"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga377a4a2c177956ea661549ee502d60da">◆ </a></span>ktxTexture_VkUpload()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> ktxTexture_VkUpload </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture.html">ktxTexture</a> *</td> <td class="paramname"><span class="paramname"><em>texture</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>vdi</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *</td> <td class="paramname"><span class="paramname"><em>vkTexture</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a Vulkan image object from a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. </p>
|
|
<p>Calls <a class="el" href="#ga153164adbd7307ad1844c3e117faa325" title="Create a Vulkan image object from a ktxTexture object.">ktxTexture_VkUploadEx()</a> with the most commonly used options: <code>VK_IMAGE_TILING_OPTIMAL</code>, <code>VK_IMAGE_USAGE_SAMPLED_BIT</code> and <code>VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL</code>. Use that for complete control. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga153164adbd7307ad1844c3e117faa325" name="ga153164adbd7307ad1844c3e117faa325"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga153164adbd7307ad1844c3e117faa325">◆ </a></span>ktxTexture_VkUploadEx()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> ktxTexture_VkUploadEx </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture.html">ktxTexture</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>vdi</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *</td> <td class="paramname"><span class="paramname"><em>vkTexture</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageTiling</td> <td class="paramname"><span class="paramname"><em>tiling</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageUsageFlags</td> <td class="paramname"><span class="paramname"><em>usageFlags</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageLayout</td> <td class="paramname"><span class="paramname"><em>finalLayout</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a Vulkan image object from a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. </p>
|
|
<p>Calls <a class="el" href="#ga8d9b0820e70dd0239b2c1bdc0a7713f7" title="Create a Vulkan image object from a ktxTexture object.">ktxTexture_VkUploadEx_WithSuballocator()</a> with no supplied suballocator callbacks. Use that for complete control. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga8d9b0820e70dd0239b2c1bdc0a7713f7" name="ga8d9b0820e70dd0239b2c1bdc0a7713f7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga8d9b0820e70dd0239b2c1bdc0a7713f7">◆ </a></span>ktxTexture_VkUploadEx_WithSuballocator()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> ktxTexture_VkUploadEx_WithSuballocator </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxTexture.html">ktxTexture</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>vdi</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *</td> <td class="paramname"><span class="paramname"><em>vkTexture</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageTiling</td> <td class="paramname"><span class="paramname"><em>tiling</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageUsageFlags</td> <td class="paramname"><span class="paramname"><em>usageFlags</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkImageLayout</td> <td class="paramname"><span class="paramname"><em>finalLayout</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture__subAllocatorCallbacks.html">ktxVulkanTexture_subAllocatorCallbacks</a> *</td> <td class="paramname"><span class="paramname"><em>subAllocatorCallbacks</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a Vulkan image object from a <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> object. </p>
|
|
<p>Creates a VkImage with <code>VkFormat</code> etc. matching the KTX data and uploads the images. Mipmaps will be generated if the <code><a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s</code> <code>generateMipmaps</code> flag is set. Returns the handles of the created objects and information about the texture in the <code><a class="el" href="structktxVulkanTexture.html" title="Struct for returning information about the Vulkan texture image created by the ktxTexture_VkUpload* f...">ktxVulkanTexture</a></code> pointed at by <code class="param">vkTexture</code>.</p>
|
|
<p>The created VkImage will have <code>VK_SHARING_MODE_EXCLUSIVE</code> set thus the resulting image will be usable only with queues of the same family as the <code>queue</code> in the <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> pointed to by <em class="arg">vdi</em>.</p>
|
|
<p><code class="param">usageFlags</code> and thus acceptable usage of the created image may be augmented as follows:</p><ul>
|
|
<li>with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code> if <code class="param">tiling</code> is <code>VK_IMAGE_TILING_OPTIMAL</code> </li>
|
|
<li>with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code> if <code>generateMipmaps</code> is set in the <code><a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a></code>.</li>
|
|
</ul>
|
|
<p>Most Vulkan implementations support <code>VK_IMAGE_TILING_LINEAR</code> only for a very limited number of formats and features. Generally <code>VK_IMAGE_TILING_OPTIMAL</code> is preferred. The latter requires a staging buffer so will use more memory during loading.</p>
|
|
<p>If a pointer to a set of suballocator callbacks is provided, they will be used instead of manual allocation of VkDeviceMemory. A 64 bit uint that references the suballocated page(s) is returned on memory procurement and saved in the <code>allocationId</code> field of the structure pointed to by <em class="arg">vkTexture</em>.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> from which to upload. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">vdi</td><td>pointer to a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> structure providing information about the Vulkan device onto which to load the texture. </td></tr>
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">vkTexture</td><td>pointer to a <a class="el" href="structktxVulkanTexture.html" title="Struct for returning information about the Vulkan texture image created by the ktxTexture_VkUpload* f...">ktxVulkanTexture</a> structure into which the function writes information about the created VkImage. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">tiling</td><td>type of tiling to use in the destination image on the Vulkan device. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">usageFlags</td><td>a set of VkImageUsageFlags bits indicating the intended usage of the destination image. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">finalLayout</td><td>a VkImageLayout value indicating the desired final layout of the created image. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">subAllocatorCallbacks</td><td>pointer to a set of suballocator callbacks that wrap around suballocator calls: alloc, bindbuffer, bindimage, map, unmap and free. They use a uint64_t stored in the <code>allocationId</code> field of the structure pointed at by <em class="arg">vkTexture</em> to reference allocated page(s).</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td>An incomplete set of callbacks are provided in subAllocatorCallbacks. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca7da41bb3195d6cc93a513ac18bc91e4f">KTX_INVALID_VALUE</a></td><td><code class="param">This</code>, <code class="param">vdi</code> or <code class="param">vkTexture</code> is <code>NULL</code>. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a> contains neither images nor an active stream from which to read them. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>The combination of the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s format, <code class="param">tiling</code> and <code class="param">usageFlags</code> is not supported by the physical device. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>Requested mipmap generation is not supported by the physical device for the combination of the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s format and <code class="param">tiling</code>. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116caf20c350e21ca603f3ffb2bc46235369a">KTX_INVALID_OPERATION</a></td><td>Number of mip levels or array layers exceeds the maximums supported for the <a class="el" href="structktxTexture.html" title="Base class representing a texture.">ktxTexture</a>'s format and <code class="param">tiling</code>. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca87728a1745ea6333b6fbe041c03036f2">KTX_OUT_OF_MEMORY</a></td><td>Sufficient memory could not be allocated on either the CPU or the Vulkan device. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca04808a4c3abddb237d2a8cf903205496">KTX_UNSUPPORTED_FEATURE</a></td><td>Attempting to sparsely bind KTX textures for the time being will report this error.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ga4bc9f0fa9af93d588276f54fe9a6ba50" title="ktxVulkanDeviceInfo_Construct">ktxVulkanDeviceInfo_Construct()</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga4bc9f0fa9af93d588276f54fe9a6ba50" name="ga4bc9f0fa9af93d588276f54fe9a6ba50"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga4bc9f0fa9af93d588276f54fe9a6ba50">◆ </a></span>ktxVulkanDeviceInfo_Construct()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> ktxVulkanDeviceInfo_Construct </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkPhysicalDevice</td> <td class="paramname"><span class="paramname"><em>physicalDevice</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkDevice</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkQueue</td> <td class="paramname"><span class="paramname"><em>queue</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkCommandPool</td> <td class="paramname"><span class="paramname"><em>cmdPool</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const VkAllocationCallbacks *</td> <td class="paramname"><span class="paramname"><em>pAllocator</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Construct a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. </p>
|
|
<p>Records the device information, allocates a command buffer that will be used to transfer image data to the Vulkan device and retrieves the physical device memory properties for ease of use when allocating device memory for the images.</p>
|
|
<p>If <code>VK_IMAGE_TILING_OPTIMAL</code> will be passed to ktxTexture_VkUploadEx(), the family of the <em class="arg">queue</em> parameter must support transfers. This is true if any of <code>VK_QUEUE_GRAPHICS_BIT</code>, <code>VK_QUEUE_COMPUTE_BIT</code> or <code>VK_QUEUE_TRANSFER_BIT</code> is set in the <code>queueFlags</code> property of the queue's <code>VkQueueFamilyProperties</code>. If protected memory is being used, i.e <code>queueFlags</code> has the <code>VK_QUEUE_PROTECTED_BIT</code> set, then <code>VK_IMAGE_TILING_OPTIMAL</code> must be passed to ktxTexture_VkUploadEx().</p>
|
|
<p>VkImages created in <a class="el" href="#ga153164adbd7307ad1844c3e117faa325" title="ktxTexture_VkUploadEx()">ktxTexture_VkUploadEx()</a> will have <code>VK_SHARING_MODE_EXCLUSIVE</code> set. Thus the resulting image will be usable only with queues of the same family as <em class="arg">queue</em>.</p>
|
|
<p>Pass a valid ktxVulkanDeviceInfo* to any Vulkan KTX image loading function to provide it with the information.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116cac9008e8d20f60f4fb67d735f287be470">KTX_NOT_FOUND</a></td><td>A dynamically loaded Vulkan function required by the loader was not found.</td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca87728a1745ea6333b6fbe041c03036f2">KTX_OUT_OF_MEMORY</a></td><td>A command buffer could not be allocated.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#gae58928740420d1ed3f96fd4b0f2d897e" title="Destruct a ktxVulkanDeviceInfo object.">ktxVulkanDeviceInfo_Destruct()</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object to initialize. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="structktxVulkanDeviceInfo.html#ac2810ac3274fecd32eedb3e6af340df0">physicalDevice</a></td><td>handle of the Vulkan physical device. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="structktxVulkanDeviceInfo.html#a8aef703a0ef81f8277415b03129f44d7">device</a></td><td>handle of the Vulkan logical device. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="structktxVulkanDeviceInfo.html#ab3246009ce333f50c2ca3d8187c3849e">queue</a></td><td>handle of the Vulkan queue. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="structktxVulkanDeviceInfo.html#ab3f05272e12842d5d4d29fca7baa2e50">cmdPool</a></td><td>handle of the Vulkan command pool. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="structktxVulkanDeviceInfo.html#a3e22f7507185cca6b31fb443453ad48e">pAllocator</a></td><td>pointer to the allocator to use for the image memory. If NULL, the default allocator will be used. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga3c9d5bc5ac1d0e237ae62fd94c148764" name="ga3c9d5bc5ac1d0e237ae62fd94c148764"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga3c9d5bc5ac1d0e237ae62fd94c148764">◆ </a></span>ktxVulkanDeviceInfo_ConstructEx()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#ad2efa40e38ebae48371375db92d34eaa">KTX_error_code</a> ktxVulkanDeviceInfo_ConstructEx </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkInstance</td> <td class="paramname"><span class="paramname"><em>instance</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkPhysicalDevice</td> <td class="paramname"><span class="paramname"><em>physicalDevice</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkDevice</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkQueue</td> <td class="paramname"><span class="paramname"><em>queue</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkCommandPool</td> <td class="paramname"><span class="paramname"><em>cmdPool</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const VkAllocationCallbacks *</td> <td class="paramname"><span class="paramname"><em>pAllocator</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="structktxVulkanFunctions.html">ktxVulkanFunctions</a> *</td> <td class="paramname"><span class="paramname"><em>pFunctions</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Construct a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. </p>
|
|
<p>Records the device information, allocates a command buffer that will be used to transfer image data to the Vulkan device and retrieves the physical device memory properties for ease of use when allocating device memory for the images.</p>
|
|
<p>If <code>VK_IMAGE_TILING_OPTIMAL</code> will be passed to ktxTexture_VkUploadEx(), the family of the <em class="arg">queue</em> parameter must support transfers. This is true if any of <code>VK_QUEUE_GRAPHICS_BIT</code>, <code>VK_QUEUE_COMPUTE_BIT</code> or <code>VK_QUEUE_TRANSFER_BIT</code> is set in the <code>queueFlags</code> property of the queue's <code>VkQueueFamilyProperties</code>. If protected memory is being used, i.e <code>queueFlags</code> has the <code>VK_QUEUE_PROTECTED_BIT</code> set, then <code>VK_IMAGE_TILING_OPTIMAL</code> must be passed to ktxTexture_VkUploadEx().</p>
|
|
<p>VkImages created in <a class="el" href="#ga153164adbd7307ad1844c3e117faa325" title="ktxTexture_VkUploadEx()">ktxTexture_VkUploadEx()</a> will have <code>VK_SHARING_MODE_EXCLUSIVE</code> set. Thus the resulting image will be usable only with queues of the same family as <em class="arg">queue</em>.</p>
|
|
<p>Pass a valid ktxVulkanDeviceInfo* to any Vulkan KTX image loading function to provide it with the information.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, other KTX_* enum values on error.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116cac9008e8d20f60f4fb67d735f287be470">KTX_NOT_FOUND</a></td><td>A dynamically loaded Vulkan function required by the loader was not found.</td></tr>
|
|
<tr><td class="paramname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116ca87728a1745ea6333b6fbe041c03036f2">KTX_OUT_OF_MEMORY</a></td><td>A command buffer could not be allocated.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#gae58928740420d1ed3f96fd4b0f2d897e" title="Destruct a ktxVulkanDeviceInfo object.">ktxVulkanDeviceInfo_Destruct()</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object to initialize. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="structktxVulkanDeviceInfo.html#ac2810ac3274fecd32eedb3e6af340df0">physicalDevice</a></td><td>handle of the Vulkan physical device. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="structktxVulkanDeviceInfo.html#a8aef703a0ef81f8277415b03129f44d7">device</a></td><td>handle of the Vulkan logical device. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="structktxVulkanDeviceInfo.html#ab3246009ce333f50c2ca3d8187c3849e">queue</a></td><td>handle of the Vulkan queue. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="structktxVulkanDeviceInfo.html#ab3f05272e12842d5d4d29fca7baa2e50">cmdPool</a></td><td>handle of the Vulkan command pool. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="structktxVulkanDeviceInfo.html#a3e22f7507185cca6b31fb443453ad48e">pAllocator</a></td><td>pointer to the allocator to use for the image memory. If NULL, the default allocator will be used. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="structktxVulkanDeviceInfo.html#ab264f628c25b3571174ecdd626526958">instance</a></td><td>handle of the Vulkan instance. If <code>VK_NULL_HANDLE</code>, which is not recommended, the function will attempt to initialize the instance-level functions via the platform's standard dynamic library symbol loading mechanisms. </td></tr>
|
|
<tr><td class="paramname">pFunctions</td><td>pointer to the struct of functions to use for vulkan operations. Can be NULL in which case the function will retrieve the proc addresses itself. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga82ac7e21e884652c519d9fe28ad5428c" name="ga82ac7e21e884652c519d9fe28ad5428c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga82ac7e21e884652c519d9fe28ad5428c">◆ </a></span>ktxVulkanDeviceInfo_Create()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> * ktxVulkanDeviceInfo_Create </td>
|
|
<td>(</td>
|
|
<td class="paramtype">VkPhysicalDevice</td> <td class="paramname"><span class="paramname"><em>physicalDevice</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkDevice</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkQueue</td> <td class="paramname"><span class="paramname"><em>queue</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkCommandPool</td> <td class="paramname"><span class="paramname"><em>cmdPool</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const VkAllocationCallbacks *</td> <td class="paramname"><span class="paramname"><em>pAllocator</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. </p>
|
|
<p>Allocates CPU memory for a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object then calls <a class="el" href="#ga4bc9f0fa9af93d588276f54fe9a6ba50" title="Construct a ktxVulkanDeviceInfo object.">ktxVulkanDeviceInfo_Construct()</a>. See it for documentation of the parameters.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>a pointer to the constructed <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a>.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ga4bc9f0fa9af93d588276f54fe9a6ba50" title="Construct a ktxVulkanDeviceInfo object.">ktxVulkanDeviceInfo_Construct()</a> </dd>
|
|
<dd>
|
|
<a class="el" href="#gaaf633943fbf201fb620c0270c6150fa8" title="Destroy a ktxVulkanDeviceInfo object.">ktxVulkanDeviceInfo_Destroy()</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga5137c2d7e23be51160048b3253abad3c" name="ga5137c2d7e23be51160048b3253abad3c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga5137c2d7e23be51160048b3253abad3c">◆ </a></span>ktxVulkanDeviceInfo_CreateEx()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> * ktxVulkanDeviceInfo_CreateEx </td>
|
|
<td>(</td>
|
|
<td class="paramtype">VkInstance</td> <td class="paramname"><span class="paramname"><em>instance</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkPhysicalDevice</td> <td class="paramname"><span class="paramname"><em>physicalDevice</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkDevice</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkQueue</td> <td class="paramname"><span class="paramname"><em>queue</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkCommandPool</td> <td class="paramname"><span class="paramname"><em>cmdPool</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const VkAllocationCallbacks *</td> <td class="paramname"><span class="paramname"><em>pAllocator</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="structktxVulkanFunctions.html">ktxVulkanFunctions</a> *</td> <td class="paramname"><span class="paramname"><em>pFuncs</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. </p>
|
|
<p>Allocates CPU memory for a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object then calls <a class="el" href="#ga4bc9f0fa9af93d588276f54fe9a6ba50" title="Construct a ktxVulkanDeviceInfo object.">ktxVulkanDeviceInfo_Construct()</a>. See it for documentation of the parameters.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>a pointer to the constructed <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a>.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ga4bc9f0fa9af93d588276f54fe9a6ba50" title="Construct a ktxVulkanDeviceInfo object.">ktxVulkanDeviceInfo_Construct()</a> </dd>
|
|
<dd>
|
|
<a class="el" href="#gaaf633943fbf201fb620c0270c6150fa8" title="Destroy a ktxVulkanDeviceInfo object.">ktxVulkanDeviceInfo_Destroy()</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gaaf633943fbf201fb620c0270c6150fa8" name="gaaf633943fbf201fb620c0270c6150fa8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gaaf633943fbf201fb620c0270c6150fa8">◆ </a></span>ktxVulkanDeviceInfo_Destroy()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ktxVulkanDeviceInfo_Destroy </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Destroy a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. </p>
|
|
<p>Calls <a class="el" href="#gae58928740420d1ed3f96fd4b0f2d897e" title="Destruct a ktxVulkanDeviceInfo object.">ktxVulkanDeviceInfo_Destruct()</a> then frees the <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a>.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> to destroy. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gae58928740420d1ed3f96fd4b0f2d897e" name="gae58928740420d1ed3f96fd4b0f2d897e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gae58928740420d1ed3f96fd4b0f2d897e">◆ </a></span>ktxVulkanDeviceInfo_Destruct()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ktxVulkanDeviceInfo_Destruct </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanDeviceInfo.html">ktxVulkanDeviceInfo</a> *</td> <td class="paramname"><span class="paramname"><em>This</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Destruct a <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> object. </p>
|
|
<p>Frees the command buffer.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">This</td><td>pointer to the <a class="el" href="structktxVulkanDeviceInfo.html" title="Struct for passing information about the Vulkan device on which to create images to the texture image...">ktxVulkanDeviceInfo</a> to destruct. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gaf620a84f6bc59bff03b521e55a654f19" name="gaf620a84f6bc59bff03b521e55a654f19"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gaf620a84f6bc59bff03b521e55a654f19">◆ </a></span>ktxVulkanTexture_Destruct()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ktxVulkanTexture_Destruct </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *</td> <td class="paramname"><span class="paramname"><em>vkTexture</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkDevice</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const VkAllocationCallbacks *</td> <td class="paramname"><span class="paramname"><em>pAllocator</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Destructor for the object returned when loading a texture image. </p>
|
|
<p>Calls <a class="el" href="#ga5a783db9431738b9b18b9fc585183490" title="Destructor for the object returned when loading a texture image.">ktxVulkanTexture_Destruct_WithSuballocator()</a> without a set of suballocator callbacks.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ga5a783db9431738b9b18b9fc585183490" title="Destructor for the object returned when loading a texture image.">ktxVulkanTexture_Destruct_WithSuballocator()</a> for details and use that for complete control. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga5a783db9431738b9b18b9fc585183490" name="ga5a783db9431738b9b18b9fc585183490"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga5a783db9431738b9b18b9fc585183490">◆ </a></span>ktxVulkanTexture_Destruct_WithSuballocator()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="ktx_8h.html#a7780d97ec4de6aa30c4726fb71e3116c">ktx_error_code_e</a> ktxVulkanTexture_Destruct_WithSuballocator </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture.html">ktxVulkanTexture</a> *</td> <td class="paramname"><span class="paramname"><em>vkTexture</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">VkDevice</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const VkAllocationCallbacks *</td> <td class="paramname"><span class="paramname"><em>pAllocator</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structktxVulkanTexture__subAllocatorCallbacks.html">ktxVulkanTexture_subAllocatorCallbacks</a> *</td> <td class="paramname"><span class="paramname"><em>subAllocatorCallbacks</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Destructor for the object returned when loading a texture image. </p>
|
|
<p>Frees the Vulkan resources created when the texture image was loaded. If a complete set of suballocator callbacks are provided, it will use the free call from those instead.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">vkTexture</td><td>pointer to the <a class="el" href="structktxVulkanTexture.html" title="Struct for returning information about the Vulkan texture image created by the ktxTexture_VkUpload* f...">ktxVulkanTexture</a> to be destructed. </td></tr>
|
|
<tr><td class="paramname">device</td><td>handle to the Vulkan logical device to which the texture was loaded. </td></tr>
|
|
<tr><td class="paramname">pAllocator</td><td>pointer to the allocator used during loading. </td></tr>
|
|
<tr><td class="paramname">subAllocatorCallbacks</td><td>pointer to a structure of suballocator callbacks. Pass NULL if a suballocator was not used. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>KTX_SUCCESS on success, KTX_INVALID_VALUE if the supplied subAllocatorCallbacks structure is incomplete. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<div id="page-nav" class="page-nav-panel">
|
|
<div id="page-nav-resize-handle"></div>
|
|
<div id="page-nav-tree">
|
|
<div id="page-nav-contents">
|
|
</div><!-- page-nav-contents -->
|
|
</div><!-- page-nav-tree -->
|
|
</div><!-- page-nav -->
|
|
</div><!-- container -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="footer">Generated on <span class="timestamp"></span> for libktx Reference by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|