<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.9.5"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>Final Year Project: fpr::SwapChain Class Reference</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> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.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" /> <link href="custom_dark_theme.css" rel="stylesheet" type="text/css"/> <link href="custom.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 style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">Final Year Project </div> </td> </tr> </tbody> </table> </div> <!-- end header part --><!-- Generated by Doxygen 1.9.5 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ var searchBox = new SearchBox("searchBox", "search/",'.html'); /* @license-end */ </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); /* @license-end */ </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"> /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ $(document).ready(function(){initNavTree('classfpr_1_1_swap_chain.html',''); initResizable(); }); /* @license-end */ </script> <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="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pri-types">Private Types</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> | <a href="#pri-static-attribs">Static Private Attributes</a> | <a href="classfpr_1_1_swap_chain-members.html">List of all members</a> </div> <div class="headertitle"><div class="title">fpr::SwapChain Class Reference</div></div> </div><!--header--> <div class="contents"> <div class="dynheader"> Collaboration diagram for fpr::SwapChain:</div> <div class="dyncontent"> <div class="center"><img src="classfpr_1_1_swap_chain__coll__graph.png" border="0" usemap="#afpr_1_1_swap_chain_coll__map" alt="Collaboration graph"/></div> <map name="afpr_1_1_swap_chain_coll__map" id="afpr_1_1_swap_chain_coll__map"> <area shape="rect" title=" " alt="" coords="27,93,137,119"/> <area shape="rect" href="structfpr_1_1_viewport_constants.html" title=" " alt="" coords="5,5,159,31"/> </map> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a98c461adf2d9464a45830b2a93828ced"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structfpr_1_1_viewport_constants.html">ViewportConstants</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a98c461adf2d9464a45830b2a93828ced">GetViewportConstants</a> () const FPR_NOEXCEPT</td></tr> <tr class="separator:a98c461adf2d9464a45830b2a93828ced"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4cce65bb1e91295a5e4f060b175af39a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a4cce65bb1e91295a5e4f060b175af39a">RecordCommands</a> ()</td></tr> <tr class="separator:a4cce65bb1e91295a5e4f060b175af39a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a82a30bbc6f0cfbc79229cc0a048d5931"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a82a30bbc6f0cfbc79229cc0a048d5931">CreateCommandBuffers</a> ()</td></tr> <tr class="separator:a82a30bbc6f0cfbc79229cc0a048d5931"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9c657602de46e676a4fbfd01fe2c22ed"><td class="memItemLeft" align="right" valign="top">vk::Result </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a9c657602de46e676a4fbfd01fe2c22ed">SubmitFrame</a> ()</td></tr> <tr class="separator:a9c657602de46e676a4fbfd01fe2c22ed"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab4e8f1ef580844590cd866868c8b44c8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#ab4e8f1ef580844590cd866868c8b44c8">RecordRenderCommands</a> ()</td></tr> <tr class="separator:ab4e8f1ef580844590cd866868c8b44c8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af818f44c7d58aea84bc4672e51736e5d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#af818f44c7d58aea84bc4672e51736e5d">RecordDepthCommands</a> ()</td></tr> <tr class="separator:af818f44c7d58aea84bc4672e51736e5d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a330f9416d532d0e444485d92a445b76b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a330f9416d532d0e444485d92a445b76b">RecordComputeCommands</a> ()</td></tr> <tr class="separator:a330f9416d532d0e444485d92a445b76b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3aff7dabd2879bdf53389f5836237b0d"><td class="memItemLeft" align="right" valign="top">const std::vector< SwapChainImage > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a3aff7dabd2879bdf53389f5836237b0d">GetImages</a> ()</td></tr> <tr class="separator:a3aff7dabd2879bdf53389f5836237b0d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac85e0d981c482fc7995718707bdc42a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classfpr_1_1_depth_buffer.html">fpr::DepthBuffer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#ac85e0d981c482fc7995718707bdc42a9">GetDepthBuffer</a> () FPR_NOEXCEPT</td></tr> <tr class="separator:ac85e0d981c482fc7995718707bdc42a9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0a35c0f36a52d5f8f5ecdc5297545c17"><td class="memItemLeft" align="right" valign="top">const vk::Extent2D & </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a0a35c0f36a52d5f8f5ecdc5297545c17">GetCurrentExtent</a> ()</td></tr> <tr class="separator:a0a35c0f36a52d5f8f5ecdc5297545c17"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a40c8e8eee39b1b181a5b1eff284b3526"><td class="memItemLeft" align="right" valign="top">const vk::Format & </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a40c8e8eee39b1b181a5b1eff284b3526">GetSwapchainImageFormat</a> () const FPR_NOEXCEPT</td></tr> <tr class="separator:a40c8e8eee39b1b181a5b1eff284b3526"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9f96a820735fbfe9163c9fb4e4626160"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a9f96a820735fbfe9163c9fb4e4626160">GetCurrentFrameIdx</a> () const</td></tr> <tr class="separator:a9f96a820735fbfe9163c9fb4e4626160"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0b4b1c8f2b22c49ad8a5818fa83fdbff"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a0b4b1c8f2b22c49ad8a5818fa83fdbff">GetMaxFrameIdx</a> () const</td></tr> <tr class="separator:a0b4b1c8f2b22c49ad8a5818fa83fdbff"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a89bbd0c00fb0e65db68b2831c429ef98"><td class="memItemLeft" align="right" valign="top">vk::UniqueSwapchainKHR & </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a89bbd0c00fb0e65db68b2831c429ef98">GetUniqueHandle</a> ()</td></tr> <tr class="separator:a89bbd0c00fb0e65db68b2831c429ef98"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5413cff3ffec1e769a000f060284c4e3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a5413cff3ffec1e769a000f060284c4e3">SwapChain</a> (<a class="el" href="classfpr_1_1_device.html">fpr::Device</a> *device, vk::SurfaceKHR &surface, std::optional< vk::UniqueSwapchainKHR > old_swapchain=std::nullopt, glm::ivec2 tile_size=DEFAULT_TILE_SIZE)</td></tr> <tr class="separator:a5413cff3ffec1e769a000f060284c4e3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae689cafeb593f2cb4f39475c7c006bae"><td class="memItemLeft" align="right" valign="top"><a id="ae689cafeb593f2cb4f39475c7c006bae" name="ae689cafeb593f2cb4f39475c7c006bae"></a>  </td><td class="memItemRight" valign="bottom"><b>SwapChain</b> (const <a class="el" href="classfpr_1_1_swap_chain.html">SwapChain</a> &other)=delete</td></tr> <tr class="separator:ae689cafeb593f2cb4f39475c7c006bae"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af3fd5160ce02d8bb0fcf68cfc973e4eb"><td class="memItemLeft" align="right" valign="top"><a id="af3fd5160ce02d8bb0fcf68cfc973e4eb" name="af3fd5160ce02d8bb0fcf68cfc973e4eb"></a>  </td><td class="memItemRight" valign="bottom"><b>SwapChain</b> (const <a class="el" href="classfpr_1_1_swap_chain.html">SwapChain</a> &&other)=delete</td></tr> <tr class="separator:af3fd5160ce02d8bb0fcf68cfc973e4eb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae9eaebe299239760ae78c6aba9f99f61"><td class="memItemLeft" align="right" valign="top"><a id="ae9eaebe299239760ae78c6aba9f99f61" name="ae9eaebe299239760ae78c6aba9f99f61"></a> <a class="el" href="classfpr_1_1_swap_chain.html">SwapChain</a> </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classfpr_1_1_swap_chain.html">SwapChain</a> &other)=delete</td></tr> <tr class="separator:ae9eaebe299239760ae78c6aba9f99f61"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2977c18a8524cac08cf2df4dea81700a"><td class="memItemLeft" align="right" valign="top"><a id="a2977c18a8524cac08cf2df4dea81700a" name="a2977c18a8524cac08cf2df4dea81700a"></a> <a class="el" href="classfpr_1_1_swap_chain.html">SwapChain</a> </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classfpr_1_1_swap_chain.html">SwapChain</a> &&other)=delete</td></tr> <tr class="separator:a2977c18a8524cac08cf2df4dea81700a"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-types" name="pri-types"></a> Private Types</h2></td></tr> <tr class="memitem:acbd2cd5ce0ec2c6b8edf4fed61c3b23f"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#acbd2cd5ce0ec2c6b8edf4fed61c3b23f">SwapchainDetails</a> = std::tuple< vk::SurfaceCapabilitiesKHR, std::vector< vk::SurfaceFormatKHR >, std::vector< vk::PresentModeKHR > ></td></tr> <tr class="separator:acbd2cd5ce0ec2c6b8edf4fed61c3b23f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aff0af9b4f018db914f6cbd5e6f0317be"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#aff0af9b4f018db914f6cbd5e6f0317be">SwapChainImage</a> = std::pair< vk::Image, vk::UniqueImageView ></td></tr> <tr class="separator:aff0af9b4f018db914f6cbd5e6f0317be"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr class="memitem:a4f84f15f9a9547dbefd80e68226266d3"><td class="memItemLeft" align="right" valign="top">SwapchainDetails </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a4f84f15f9a9547dbefd80e68226266d3">QuerySwapChainDetails</a> (<a class="el" href="classfpr_1_1_device.html">fpr::Device</a> *device, vk::SurfaceKHR &surface)</td></tr> <tr class="separator:a4f84f15f9a9547dbefd80e68226266d3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a28cd0e863b3c5aff4554564ac283cbb6"><td class="memItemLeft" align="right" valign="top">vk::SurfaceFormatKHR </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a28cd0e863b3c5aff4554564ac283cbb6">QueryFirstSuitableFormat</a> (const std::vector< vk::SurfaceFormatKHR > &formats)</td></tr> <tr class="separator:a28cd0e863b3c5aff4554564ac283cbb6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae50137d9d04a3e792949dd158a234799"><td class="memItemLeft" align="right" valign="top">vk::Extent2D </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#ae50137d9d04a3e792949dd158a234799">QueryExtenfromCapabilities</a> (vk::SurfaceCapabilitiesKHR capabilities)</td></tr> <tr class="separator:ae50137d9d04a3e792949dd158a234799"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adb31dc62f532032432984f49c63965f9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#adb31dc62f532032432984f49c63965f9">CreateSynchronisation</a> (<a class="el" href="classfpr_1_1_device.html">fpr::Device</a> *device)</td></tr> <tr class="separator:adb31dc62f532032432984f49c63965f9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a75de0ca38a36ede02ea184d1d23fc58a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a75de0ca38a36ede02ea184d1d23fc58a">SyncDepthPass</a> (<a class="el" href="classfpr_1_1_device.html">fpr::Device</a> *device)</td></tr> <tr class="separator:a75de0ca38a36ede02ea184d1d23fc58a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a00238354f45f8ac2315bb964f8f77072"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a00238354f45f8ac2315bb964f8f77072">SyncColorPass</a> (<a class="el" href="classfpr_1_1_device.html">fpr::Device</a> *device)</td></tr> <tr class="separator:a00238354f45f8ac2315bb964f8f77072"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2ac5b5b0d58d57ea712fac0404d4a4d6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a2ac5b5b0d58d57ea712fac0404d4a4d6">SyncPresentation</a> (<a class="el" href="classfpr_1_1_device.html">fpr::Device</a> *device, uint32_t inmage_index)</td></tr> <tr class="separator:a2ac5b5b0d58d57ea712fac0404d4a4d6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8a2548e923db638b78f0454c72e66f61"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a8a2548e923db638b78f0454c72e66f61">SyncCompute</a> (<a class="el" href="classfpr_1_1_device.html">fpr::Device</a> *device)</td></tr> <tr class="separator:a8a2548e923db638b78f0454c72e66f61"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0665dd4c4dfc02531de1cdaf14b5a21d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a0665dd4c4dfc02531de1cdaf14b5a21d">CreateSwapchain</a> (<a class="el" href="classfpr_1_1_device.html">fpr::Device</a> *device, vk::SurfaceKHR &surface)</td></tr> <tr class="separator:a0665dd4c4dfc02531de1cdaf14b5a21d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a527ebfdf257ed0491635fe6eaeb36e33"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a527ebfdf257ed0491635fe6eaeb36e33">CreateImageViews</a> (<a class="el" href="classfpr_1_1_device.html">fpr::Device</a> *device)</td></tr> <tr class="separator:a527ebfdf257ed0491635fe6eaeb36e33"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a92553914cd7162690be6138f044b755e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a92553914cd7162690be6138f044b755e">CreateFrameBuffers</a> (<a class="el" href="classfpr_1_1_device.html">fpr::Device</a> *device)</td></tr> <tr class="separator:a92553914cd7162690be6138f044b755e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad0bb6ce1a7c1e5a2270fa0bf71be2e8f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#ad0bb6ce1a7c1e5a2270fa0bf71be2e8f">CreateRenderPasses</a> (<a class="el" href="classfpr_1_1_device.html">fpr::Device</a> *device)</td></tr> <tr class="separator:ad0bb6ce1a7c1e5a2270fa0bf71be2e8f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a> Private Attributes</h2></td></tr> <tr class="memitem:aa4558001c5b2952d83ea3c7d3b68aeb1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfpr_1_1_viewport_constants.html">ViewportConstants</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#aa4558001c5b2952d83ea3c7d3b68aeb1">m_viewport_push_constant</a></td></tr> <tr class="separator:aa4558001c5b2952d83ea3c7d3b68aeb1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2eb80bc3ff5f5ccf3b874c6261e01815"><td class="memItemLeft" align="right" valign="top">vk::PresentModeKHR </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a2eb80bc3ff5f5ccf3b874c6261e01815">m_present_mode</a></td></tr> <tr class="separator:a2eb80bc3ff5f5ccf3b874c6261e01815"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5c87f97da73e673b35e6e0cca809c9c6"><td class="memItemLeft" align="right" valign="top">vk::UniqueSwapchainKHR </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a5c87f97da73e673b35e6e0cca809c9c6">m_swapchain</a></td></tr> <tr class="separator:a5c87f97da73e673b35e6e0cca809c9c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaca146ae949e1f8f694c5ff9787ff967"><td class="memItemLeft" align="right" valign="top">vk::SurfaceFormatKHR </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#aaca146ae949e1f8f694c5ff9787ff967">m_surface_format</a></td></tr> <tr class="separator:aaca146ae949e1f8f694c5ff9787ff967"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abd751f417c4e85c9a164f6af09deceb8"><td class="memItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classfpr_1_1_depth_buffer.html">fpr::DepthBuffer</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#abd751f417c4e85c9a164f6af09deceb8">m_depth_buffer</a></td></tr> <tr class="separator:abd751f417c4e85c9a164f6af09deceb8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a736079aefac0a76558454c24c5f73d05"><td class="memItemLeft" align="right" valign="top">std::vector< SwapChainImage > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a736079aefac0a76558454c24c5f73d05">m_swapchain_images</a></td></tr> <tr class="separator:a736079aefac0a76558454c24c5f73d05"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a73c882960458a7683aab87e5fe3d1f99"><td class="memItemLeft" align="right" valign="top">std::vector< vk::UniqueCommandBuffer > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a73c882960458a7683aab87e5fe3d1f99">m_command_buffers</a></td></tr> <tr class="separator:a73c882960458a7683aab87e5fe3d1f99"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:accd3cfdac4d3555ae3be7000af0c1e6a"><td class="memItemLeft" align="right" valign="top">std::vector< vk::UniqueFramebuffer > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#accd3cfdac4d3555ae3be7000af0c1e6a">m_swapchain_framebuffers</a></td></tr> <tr class="separator:accd3cfdac4d3555ae3be7000af0c1e6a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a738ab1bae7035f7932feebcd1f46059f"><td class="memItemLeft" align="right" valign="top">std::vector< vk::UniqueSemaphore > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a738ab1bae7035f7932feebcd1f46059f">m_image_ready_semaphores</a></td></tr> <tr class="separator:a738ab1bae7035f7932feebcd1f46059f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5cd4e6511e293fdcc5d4d9db78b43b66"><td class="memItemLeft" align="right" valign="top">std::vector< vk::UniqueSemaphore > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a5cd4e6511e293fdcc5d4d9db78b43b66">m_render_done_semaphores</a></td></tr> <tr class="separator:a5cd4e6511e293fdcc5d4d9db78b43b66"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad0b6fb11b57cc06c95766f1ca8f22714"><td class="memItemLeft" align="right" valign="top">std::vector< vk::UniqueSemaphore > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#ad0b6fb11b57cc06c95766f1ca8f22714">m_compute_semaphores</a></td></tr> <tr class="separator:ad0b6fb11b57cc06c95766f1ca8f22714"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a707e1d5cf56b812eb9ebc9e114a0a41b"><td class="memItemLeft" align="right" valign="top">vk::UniqueFence </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a707e1d5cf56b812eb9ebc9e114a0a41b">m_draw_fence</a></td></tr> <tr class="separator:a707e1d5cf56b812eb9ebc9e114a0a41b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae9ea2822412b8a013c2611802218282c"><td class="memItemLeft" align="right" valign="top">std::vector< vk::UniqueSemaphore > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#ae9ea2822412b8a013c2611802218282c">m_earlyz_semaphores</a></td></tr> <tr class="separator:ae9ea2822412b8a013c2611802218282c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a610125759f2eb7dfcd5fd64b2db7cdcf"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a610125759f2eb7dfcd5fd64b2db7cdcf">MAX_IMAGES_IN_FLIGHT</a> = 2</td></tr> <tr class="separator:a610125759f2eb7dfcd5fd64b2db7cdcf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae7085f1ee4e056dae3f5d3fe91679160"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#ae7085f1ee4e056dae3f5d3fe91679160">m_current_frame</a> = 0</td></tr> <tr class="separator:ae7085f1ee4e056dae3f5d3fe91679160"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af92688c58a804e164b1b9dfb7e487979"><td class="memItemLeft" align="right" valign="top">vk::Extent2D </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#af92688c58a804e164b1b9dfb7e487979">m_extent</a></td></tr> <tr class="separator:af92688c58a804e164b1b9dfb7e487979"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac783d26239a405e5a47f1572fcdefc80"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#ac783d26239a405e5a47f1572fcdefc80">is_recreation</a> = false</td></tr> <tr class="separator:ac783d26239a405e5a47f1572fcdefc80"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa2c83fa00fac2796fd4780592964d92e"><td class="memItemLeft" align="right" valign="top">std::vector< vk::UniqueFramebuffer > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#aa2c83fa00fac2796fd4780592964d92e">m_depth_framebuffers</a></td></tr> <tr class="separator:aa2c83fa00fac2796fd4780592964d92e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a10ad6ed3aa0c4a64a12c2cb55459d594"><td class="memItemLeft" align="right" valign="top">std::vector< vk::UniqueCommandBuffer > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a10ad6ed3aa0c4a64a12c2cb55459d594">m_depth_command_buffers</a></td></tr> <tr class="separator:a10ad6ed3aa0c4a64a12c2cb55459d594"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa8adaee5505af70b59a49c64cd59f608"><td class="memItemLeft" align="right" valign="top">std::vector< vk::UniqueCommandBuffer > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#aa8adaee5505af70b59a49c64cd59f608">m_compute_command_buffers</a></td></tr> <tr class="separator:aa8adaee5505af70b59a49c64cd59f608"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a34a37b8ac7b732e4634c6bb4303f7cb2"><td class="memItemLeft" align="right" valign="top">vk::UniqueSwapchainKHR </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a34a37b8ac7b732e4634c6bb4303f7cb2">m_old_swapchain</a></td></tr> <tr class="separator:a34a37b8ac7b732e4634c6bb4303f7cb2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8cfaa0b805756e29d198636daadb0b66"><td class="memItemLeft" align="right" valign="top">std::array< vk::ClearValue, 2 > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a8cfaa0b805756e29d198636daadb0b66">m_clear_values</a></td></tr> <tr class="separator:a8cfaa0b805756e29d198636daadb0b66"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-attribs" name="pri-static-attribs"></a> Static Private Attributes</h2></td></tr> <tr class="memitem:ad5bdd2b7814be3525a356db3b34feab2"><td class="memItemLeft" align="right" valign="top">static constexpr glm::vec2 </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#ad5bdd2b7814be3525a356db3b34feab2">DEFAULT_TILE_SIZE</a></td></tr> <tr class="separator:ad5bdd2b7814be3525a356db3b34feab2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a027da5cfa6688e66599b7e98f520a2bb"><td class="memItemLeft" align="right" valign="top">static constexpr vk::ImageAspectFlagBits </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#a027da5cfa6688e66599b7e98f520a2bb">ASPECT_FLAGS</a> = vk::ImageAspectFlagBits::eColor</td></tr> <tr class="separator:a027da5cfa6688e66599b7e98f520a2bb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa36c4a97fef588f14cf92b27adac5878"><td class="memItemLeft" align="right" valign="top">static constexpr vk::ImageViewType </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#aa36c4a97fef588f14cf92b27adac5878">IMAGE_VIEW_TYPE</a> = vk::ImageViewType::e2D</td></tr> <tr class="separator:aa36c4a97fef588f14cf92b27adac5878"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac149bb7148c4a71fee4aa701e8d0e386"><td class="memItemLeft" align="right" valign="top">static constexpr vk::ColorSpaceKHR </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#ac149bb7148c4a71fee4aa701e8d0e386">wanted_color_space</a> = vk::ColorSpaceKHR::eSrgbNonlinear</td></tr> <tr class="separator:ac149bb7148c4a71fee4aa701e8d0e386"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adb37059049df2d2289ab27b3085be9b8"><td class="memItemLeft" align="right" valign="top">static constexpr std::array< vk::Format, 2 > </td><td class="memItemRight" valign="bottom"><a class="el" href="classfpr_1_1_swap_chain.html#adb37059049df2d2289ab27b3085be9b8">wanted_formats</a> = { vk::Format::eR8G8B8A8Srgb, vk::Format::eB8G8R8A8Srgb }</td></tr> <tr class="separator:adb37059049df2d2289ab27b3085be9b8"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00012">12</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div><h2 class="groupheader">Member Typedef Documentation</h2> <a id="acbd2cd5ce0ec2c6b8edf4fed61c3b23f" name="acbd2cd5ce0ec2c6b8edf4fed61c3b23f"></a> <h2 class="memtitle"><span class="permalink"><a href="#acbd2cd5ce0ec2c6b8edf4fed61c3b23f">◆ </a></span>SwapchainDetails</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">using fpr::SwapChain::SwapchainDetails = std::tuple<vk::SurfaceCapabilitiesKHR, std::vector<vk::SurfaceFormatKHR>, std::vector<vk::PresentModeKHR> ></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00020">20</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="aff0af9b4f018db914f6cbd5e6f0317be" name="aff0af9b4f018db914f6cbd5e6f0317be"></a> <h2 class="memtitle"><span class="permalink"><a href="#aff0af9b4f018db914f6cbd5e6f0317be">◆ </a></span>SwapChainImage</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">using fpr::SwapChain::SwapChainImage = std::pair<vk::Image, vk::UniqueImageView></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00023">23</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a id="a5413cff3ffec1e769a000f060284c4e3" name="a5413cff3ffec1e769a000f060284c4e3"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5413cff3ffec1e769a000f060284c4e3">◆ </a></span>SwapChain()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">fpr::SwapChain::SwapChain </td> <td>(</td> <td class="paramtype"><a class="el" href="classfpr_1_1_device.html">fpr::Device</a> * </td> <td class="paramname"><em>device</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">vk::SurfaceKHR & </td> <td class="paramname"><em>surface</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::optional< vk::UniqueSwapchainKHR > </td> <td class="paramname"><em>old_swapchain</em> = <code>std::nullopt</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">glm::ivec2 </td> <td class="paramname"><em>tile_size</em> = <code>DEFAULT_TILE_SIZE</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00014">14</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a id="a82a30bbc6f0cfbc79229cc0a048d5931" name="a82a30bbc6f0cfbc79229cc0a048d5931"></a> <h2 class="memtitle"><span class="permalink"><a href="#a82a30bbc6f0cfbc79229cc0a048d5931">◆ </a></span>CreateCommandBuffers()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::CreateCommandBuffers </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00281">281</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a92553914cd7162690be6138f044b755e" name="a92553914cd7162690be6138f044b755e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a92553914cd7162690be6138f044b755e">◆ </a></span>CreateFrameBuffers()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::CreateFrameBuffers </td> <td>(</td> <td class="paramtype"><a class="el" href="classfpr_1_1_device.html">fpr::Device</a> * </td> <td class="paramname"><em>device</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00223">223</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a527ebfdf257ed0491635fe6eaeb36e33" name="a527ebfdf257ed0491635fe6eaeb36e33"></a> <h2 class="memtitle"><span class="permalink"><a href="#a527ebfdf257ed0491635fe6eaeb36e33">◆ </a></span>CreateImageViews()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::CreateImageViews </td> <td>(</td> <td class="paramtype"><a class="el" href="classfpr_1_1_device.html">fpr::Device</a> * </td> <td class="paramname"><em>device</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00120">120</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="ad0bb6ce1a7c1e5a2270fa0bf71be2e8f" name="ad0bb6ce1a7c1e5a2270fa0bf71be2e8f"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad0bb6ce1a7c1e5a2270fa0bf71be2e8f">◆ </a></span>CreateRenderPasses()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::CreateRenderPasses </td> <td>(</td> <td class="paramtype"><a class="el" href="classfpr_1_1_device.html">fpr::Device</a> * </td> <td class="paramname"><em>device</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00191">191</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a0665dd4c4dfc02531de1cdaf14b5a21d" name="a0665dd4c4dfc02531de1cdaf14b5a21d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0665dd4c4dfc02531de1cdaf14b5a21d">◆ </a></span>CreateSwapchain()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::CreateSwapchain </td> <td>(</td> <td class="paramtype"><a class="el" href="classfpr_1_1_device.html">fpr::Device</a> * </td> <td class="paramname"><em>device</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">vk::SurfaceKHR & </td> <td class="paramname"><em>surface</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00050">50</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="adb31dc62f532032432984f49c63965f9" name="adb31dc62f532032432984f49c63965f9"></a> <h2 class="memtitle"><span class="permalink"><a href="#adb31dc62f532032432984f49c63965f9">◆ </a></span>CreateSynchronisation()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::CreateSynchronisation </td> <td>(</td> <td class="paramtype"><a class="el" href="classfpr_1_1_device.html">fpr::Device</a> * </td> <td class="paramname"><em>device</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00320">320</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a0a35c0f36a52d5f8f5ecdc5297545c17" name="a0a35c0f36a52d5f8f5ecdc5297545c17"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0a35c0f36a52d5f8f5ecdc5297545c17">◆ </a></span>GetCurrentExtent()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const vk::Extent2D & fpr::SwapChain::GetCurrentExtent </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00740">740</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a9f96a820735fbfe9163c9fb4e4626160" name="a9f96a820735fbfe9163c9fb4e4626160"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9f96a820735fbfe9163c9fb4e4626160">◆ </a></span>GetCurrentFrameIdx()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint32_t fpr::SwapChain::GetCurrentFrameIdx </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00730">730</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="ac85e0d981c482fc7995718707bdc42a9" name="ac85e0d981c482fc7995718707bdc42a9"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac85e0d981c482fc7995718707bdc42a9">◆ </a></span>GetDepthBuffer()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classfpr_1_1_depth_buffer.html">fpr::DepthBuffer</a> * fpr::SwapChain::GetDepthBuffer </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00745">745</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a3aff7dabd2879bdf53389f5836237b0d" name="a3aff7dabd2879bdf53389f5836237b0d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3aff7dabd2879bdf53389f5836237b0d">◆ </a></span>GetImages()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const std::vector< SwapChain::SwapChainImage > & fpr::SwapChain::GetImages </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00415">415</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a0b4b1c8f2b22c49ad8a5818fa83fdbff" name="a0b4b1c8f2b22c49ad8a5818fa83fdbff"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0b4b1c8f2b22c49ad8a5818fa83fdbff">◆ </a></span>GetMaxFrameIdx()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint32_t fpr::SwapChain::GetMaxFrameIdx </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00735">735</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a40c8e8eee39b1b181a5b1eff284b3526" name="a40c8e8eee39b1b181a5b1eff284b3526"></a> <h2 class="memtitle"><span class="permalink"><a href="#a40c8e8eee39b1b181a5b1eff284b3526">◆ </a></span>GetSwapchainImageFormat()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const vk::Format & fpr::SwapChain::GetSwapchainImageFormat </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00725">725</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a89bbd0c00fb0e65db68b2831c429ef98" name="a89bbd0c00fb0e65db68b2831c429ef98"></a> <h2 class="memtitle"><span class="permalink"><a href="#a89bbd0c00fb0e65db68b2831c429ef98">◆ </a></span>GetUniqueHandle()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vk::UniqueSwapchainKHR & fpr::SwapChain::GetUniqueHandle </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00045">45</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a98c461adf2d9464a45830b2a93828ced" name="a98c461adf2d9464a45830b2a93828ced"></a> <h2 class="memtitle"><span class="permalink"><a href="#a98c461adf2d9464a45830b2a93828ced">◆ </a></span>GetViewportConstants()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="structfpr_1_1_viewport_constants.html">ViewportConstants</a> & fpr::SwapChain::GetViewportConstants </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00206">206</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="ae50137d9d04a3e792949dd158a234799" name="ae50137d9d04a3e792949dd158a234799"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae50137d9d04a3e792949dd158a234799">◆ </a></span>QueryExtenfromCapabilities()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">vk::Extent2D fpr::SwapChain::QueryExtenfromCapabilities </td> <td>(</td> <td class="paramtype">vk::SurfaceCapabilitiesKHR </td> <td class="paramname"><em>capabilities</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00699">699</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a28cd0e863b3c5aff4554564ac283cbb6" name="a28cd0e863b3c5aff4554564ac283cbb6"></a> <h2 class="memtitle"><span class="permalink"><a href="#a28cd0e863b3c5aff4554564ac283cbb6">◆ </a></span>QueryFirstSuitableFormat()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">vk::SurfaceFormatKHR fpr::SwapChain::QueryFirstSuitableFormat </td> <td>(</td> <td class="paramtype">const std::vector< vk::SurfaceFormatKHR > & </td> <td class="paramname"><em>formats</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00400">400</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a4f84f15f9a9547dbefd80e68226266d3" name="a4f84f15f9a9547dbefd80e68226266d3"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4f84f15f9a9547dbefd80e68226266d3">◆ </a></span>QuerySwapChainDetails()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">SwapChain::SwapchainDetails fpr::SwapChain::QuerySwapChainDetails </td> <td>(</td> <td class="paramtype"><a class="el" href="classfpr_1_1_device.html">fpr::Device</a> * </td> <td class="paramname"><em>device</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">vk::SurfaceKHR & </td> <td class="paramname"><em>surface</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00391">391</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a4cce65bb1e91295a5e4f060b175af39a" name="a4cce65bb1e91295a5e4f060b175af39a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4cce65bb1e91295a5e4f060b175af39a">◆ </a></span>RecordCommands()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::RecordCommands </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00272">272</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a330f9416d532d0e444485d92a445b76b" name="a330f9416d532d0e444485d92a445b76b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a330f9416d532d0e444485d92a445b76b">◆ </a></span>RecordComputeCommands()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::RecordComputeCommands </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00595">595</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="af818f44c7d58aea84bc4672e51736e5d" name="af818f44c7d58aea84bc4672e51736e5d"></a> <h2 class="memtitle"><span class="permalink"><a href="#af818f44c7d58aea84bc4672e51736e5d">◆ </a></span>RecordDepthCommands()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::RecordDepthCommands </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00516">516</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="ab4e8f1ef580844590cd866868c8b44c8" name="ab4e8f1ef580844590cd866868c8b44c8"></a> <h2 class="memtitle"><span class="permalink"><a href="#ab4e8f1ef580844590cd866868c8b44c8">◆ </a></span>RecordRenderCommands()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::RecordRenderCommands </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00421">421</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a9c657602de46e676a4fbfd01fe2c22ed" name="a9c657602de46e676a4fbfd01fe2c22ed"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9c657602de46e676a4fbfd01fe2c22ed">◆ </a></span>SubmitFrame()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vk::Result fpr::SwapChain::SubmitFrame </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00358">358</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a00238354f45f8ac2315bb964f8f77072" name="a00238354f45f8ac2315bb964f8f77072"></a> <h2 class="memtitle"><span class="permalink"><a href="#a00238354f45f8ac2315bb964f8f77072">◆ </a></span>SyncColorPass()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::SyncColorPass </td> <td>(</td> <td class="paramtype"><a class="el" href="classfpr_1_1_device.html">fpr::Device</a> * </td> <td class="paramname"><em>device</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00171">171</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a8a2548e923db638b78f0454c72e66f61" name="a8a2548e923db638b78f0454c72e66f61"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8a2548e923db638b78f0454c72e66f61">◆ </a></span>SyncCompute()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::SyncCompute </td> <td>(</td> <td class="paramtype"><a class="el" href="classfpr_1_1_device.html">fpr::Device</a> * </td> <td class="paramname"><em>device</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00156">156</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a75de0ca38a36ede02ea184d1d23fc58a" name="a75de0ca38a36ede02ea184d1d23fc58a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a75de0ca38a36ede02ea184d1d23fc58a">◆ </a></span>SyncDepthPass()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::SyncDepthPass </td> <td>(</td> <td class="paramtype"><a class="el" href="classfpr_1_1_device.html">fpr::Device</a> * </td> <td class="paramname"><em>device</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00211">211</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <a id="a2ac5b5b0d58d57ea712fac0404d4a4d6" name="a2ac5b5b0d58d57ea712fac0404d4a4d6"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2ac5b5b0d58d57ea712fac0404d4a4d6">◆ </a></span>SyncPresentation()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void fpr::SwapChain::SyncPresentation </td> <td>(</td> <td class="paramtype"><a class="el" href="classfpr_1_1_device.html">fpr::Device</a> * </td> <td class="paramname"><em>device</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>inmage_index</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8cpp_source.html#l00145">145</a> of file <a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a>.</p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a id="a027da5cfa6688e66599b7e98f520a2bb" name="a027da5cfa6688e66599b7e98f520a2bb"></a> <h2 class="memtitle"><span class="permalink"><a href="#a027da5cfa6688e66599b7e98f520a2bb">◆ </a></span>ASPECT_FLAGS</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr vk::ImageAspectFlagBits fpr::SwapChain::ASPECT_FLAGS = vk::ImageAspectFlagBits::eColor</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00047">47</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="ad5bdd2b7814be3525a356db3b34feab2" name="ad5bdd2b7814be3525a356db3b34feab2"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad5bdd2b7814be3525a356db3b34feab2">◆ </a></span>DEFAULT_TILE_SIZE</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr glm::vec2 fpr::SwapChain::DEFAULT_TILE_SIZE</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <b>Initial value:</b><div class="fragment"><div class="line">= {</div> <div class="line"> 32,</div> <div class="line"> 32,</div> <div class="line"> }</div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00015">15</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="aa36c4a97fef588f14cf92b27adac5878" name="aa36c4a97fef588f14cf92b27adac5878"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa36c4a97fef588f14cf92b27adac5878">◆ </a></span>IMAGE_VIEW_TYPE</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr vk::ImageViewType fpr::SwapChain::IMAGE_VIEW_TYPE = vk::ImageViewType::e2D</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00048">48</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="ac783d26239a405e5a47f1572fcdefc80" name="ac783d26239a405e5a47f1572fcdefc80"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac783d26239a405e5a47f1572fcdefc80">◆ </a></span>is_recreation</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool fpr::SwapChain::is_recreation = false</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00040">40</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="a8cfaa0b805756e29d198636daadb0b66" name="a8cfaa0b805756e29d198636daadb0b66"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8cfaa0b805756e29d198636daadb0b66">◆ </a></span>m_clear_values</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::array<vk::ClearValue, 2> fpr::SwapChain::m_clear_values</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <b>Initial value:</b><div class="fragment"><div class="line">= { vk::ClearValue().setColor(</div> <div class="line"> vk::ClearColorValue().setFloat32({ 1.0f, 0.4f, 0.8f, 1.0f })),</div> <div class="line"> vk::ClearValue().depthStencil = 1.0f }</div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00053">53</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="a73c882960458a7683aab87e5fe3d1f99" name="a73c882960458a7683aab87e5fe3d1f99"></a> <h2 class="memtitle"><span class="permalink"><a href="#a73c882960458a7683aab87e5fe3d1f99">◆ </a></span>m_command_buffers</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<vk::UniqueCommandBuffer> fpr::SwapChain::m_command_buffers</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00029">29</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="aa8adaee5505af70b59a49c64cd59f608" name="aa8adaee5505af70b59a49c64cd59f608"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa8adaee5505af70b59a49c64cd59f608">◆ </a></span>m_compute_command_buffers</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<vk::UniqueCommandBuffer> fpr::SwapChain::m_compute_command_buffers</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00044">44</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="ad0b6fb11b57cc06c95766f1ca8f22714" name="ad0b6fb11b57cc06c95766f1ca8f22714"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad0b6fb11b57cc06c95766f1ca8f22714">◆ </a></span>m_compute_semaphores</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<vk::UniqueSemaphore> fpr::SwapChain::m_compute_semaphores</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00033">33</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="ae7085f1ee4e056dae3f5d3fe91679160" name="ae7085f1ee4e056dae3f5d3fe91679160"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae7085f1ee4e056dae3f5d3fe91679160">◆ </a></span>m_current_frame</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">uint32_t fpr::SwapChain::m_current_frame = 0</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00037">37</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="abd751f417c4e85c9a164f6af09deceb8" name="abd751f417c4e85c9a164f6af09deceb8"></a> <h2 class="memtitle"><span class="permalink"><a href="#abd751f417c4e85c9a164f6af09deceb8">◆ </a></span>m_depth_buffer</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::unique_ptr<<a class="el" href="classfpr_1_1_depth_buffer.html">fpr::DepthBuffer</a>> fpr::SwapChain::m_depth_buffer</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00027">27</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="a10ad6ed3aa0c4a64a12c2cb55459d594" name="a10ad6ed3aa0c4a64a12c2cb55459d594"></a> <h2 class="memtitle"><span class="permalink"><a href="#a10ad6ed3aa0c4a64a12c2cb55459d594">◆ </a></span>m_depth_command_buffers</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<vk::UniqueCommandBuffer> fpr::SwapChain::m_depth_command_buffers</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00042">42</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="aa2c83fa00fac2796fd4780592964d92e" name="aa2c83fa00fac2796fd4780592964d92e"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa2c83fa00fac2796fd4780592964d92e">◆ </a></span>m_depth_framebuffers</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<vk::UniqueFramebuffer> fpr::SwapChain::m_depth_framebuffers</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00041">41</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="a707e1d5cf56b812eb9ebc9e114a0a41b" name="a707e1d5cf56b812eb9ebc9e114a0a41b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a707e1d5cf56b812eb9ebc9e114a0a41b">◆ </a></span>m_draw_fence</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">vk::UniqueFence fpr::SwapChain::m_draw_fence</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00034">34</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="ae9ea2822412b8a013c2611802218282c" name="ae9ea2822412b8a013c2611802218282c"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae9ea2822412b8a013c2611802218282c">◆ </a></span>m_earlyz_semaphores</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<vk::UniqueSemaphore> fpr::SwapChain::m_earlyz_semaphores</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00035">35</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="af92688c58a804e164b1b9dfb7e487979" name="af92688c58a804e164b1b9dfb7e487979"></a> <h2 class="memtitle"><span class="permalink"><a href="#af92688c58a804e164b1b9dfb7e487979">◆ </a></span>m_extent</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">vk::Extent2D fpr::SwapChain::m_extent</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00038">38</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="a738ab1bae7035f7932feebcd1f46059f" name="a738ab1bae7035f7932feebcd1f46059f"></a> <h2 class="memtitle"><span class="permalink"><a href="#a738ab1bae7035f7932feebcd1f46059f">◆ </a></span>m_image_ready_semaphores</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<vk::UniqueSemaphore> fpr::SwapChain::m_image_ready_semaphores</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00031">31</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="a34a37b8ac7b732e4634c6bb4303f7cb2" name="a34a37b8ac7b732e4634c6bb4303f7cb2"></a> <h2 class="memtitle"><span class="permalink"><a href="#a34a37b8ac7b732e4634c6bb4303f7cb2">◆ </a></span>m_old_swapchain</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">vk::UniqueSwapchainKHR fpr::SwapChain::m_old_swapchain</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00045">45</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="a2eb80bc3ff5f5ccf3b874c6261e01815" name="a2eb80bc3ff5f5ccf3b874c6261e01815"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2eb80bc3ff5f5ccf3b874c6261e01815">◆ </a></span>m_present_mode</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">vk::PresentModeKHR fpr::SwapChain::m_present_mode</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00024">24</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="a5cd4e6511e293fdcc5d4d9db78b43b66" name="a5cd4e6511e293fdcc5d4d9db78b43b66"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5cd4e6511e293fdcc5d4d9db78b43b66">◆ </a></span>m_render_done_semaphores</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<vk::UniqueSemaphore> fpr::SwapChain::m_render_done_semaphores</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00032">32</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="aaca146ae949e1f8f694c5ff9787ff967" name="aaca146ae949e1f8f694c5ff9787ff967"></a> <h2 class="memtitle"><span class="permalink"><a href="#aaca146ae949e1f8f694c5ff9787ff967">◆ </a></span>m_surface_format</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">vk::SurfaceFormatKHR fpr::SwapChain::m_surface_format</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00026">26</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="a5c87f97da73e673b35e6e0cca809c9c6" name="a5c87f97da73e673b35e6e0cca809c9c6"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5c87f97da73e673b35e6e0cca809c9c6">◆ </a></span>m_swapchain</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">vk::UniqueSwapchainKHR fpr::SwapChain::m_swapchain</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00025">25</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="accd3cfdac4d3555ae3be7000af0c1e6a" name="accd3cfdac4d3555ae3be7000af0c1e6a"></a> <h2 class="memtitle"><span class="permalink"><a href="#accd3cfdac4d3555ae3be7000af0c1e6a">◆ </a></span>m_swapchain_framebuffers</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<vk::UniqueFramebuffer> fpr::SwapChain::m_swapchain_framebuffers</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00030">30</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="a736079aefac0a76558454c24c5f73d05" name="a736079aefac0a76558454c24c5f73d05"></a> <h2 class="memtitle"><span class="permalink"><a href="#a736079aefac0a76558454c24c5f73d05">◆ </a></span>m_swapchain_images</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<SwapChainImage> fpr::SwapChain::m_swapchain_images</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00028">28</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="aa4558001c5b2952d83ea3c7d3b68aeb1" name="aa4558001c5b2952d83ea3c7d3b68aeb1"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa4558001c5b2952d83ea3c7d3b68aeb1">◆ </a></span>m_viewport_push_constant</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structfpr_1_1_viewport_constants.html">ViewportConstants</a> fpr::SwapChain::m_viewport_push_constant</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00014">14</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="a610125759f2eb7dfcd5fd64b2db7cdcf" name="a610125759f2eb7dfcd5fd64b2db7cdcf"></a> <h2 class="memtitle"><span class="permalink"><a href="#a610125759f2eb7dfcd5fd64b2db7cdcf">◆ </a></span>MAX_IMAGES_IN_FLIGHT</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">uint32_t fpr::SwapChain::MAX_IMAGES_IN_FLIGHT = 2</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00036">36</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="ac149bb7148c4a71fee4aa701e8d0e386" name="ac149bb7148c4a71fee4aa701e8d0e386"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac149bb7148c4a71fee4aa701e8d0e386">◆ </a></span>wanted_color_space</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr vk::ColorSpaceKHR fpr::SwapChain::wanted_color_space = vk::ColorSpaceKHR::eSrgbNonlinear</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00049">49</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <a id="adb37059049df2d2289ab27b3085be9b8" name="adb37059049df2d2289ab27b3085be9b8"></a> <h2 class="memtitle"><span class="permalink"><a href="#adb37059049df2d2289ab27b3085be9b8">◆ </a></span>wanted_formats</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">constexpr std::array<vk::Format, 2> fpr::SwapChain::wanted_formats = { vk::Format::eR8G8B8A8Srgb, vk::Format::eB8G8R8A8Srgb }</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="_swap_chain_8h_source.html#l00051">51</a> of file <a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>D:/Users/mbuzelis/source/repos/ForwardPlusRenderer/include/<a class="el" href="_swap_chain_8h_source.html">SwapChain.h</a></li> <li>D:/Users/mbuzelis/source/repos/ForwardPlusRenderer/src/<a class="el" href="_swap_chain_8cpp_source.html">SwapChain.cpp</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><b>fpr</b></li><li class="navelem"><a class="el" href="classfpr_1_1_swap_chain.html">SwapChain</a></li> <li class="footer"> Generated on Mon Oct 3 2022 13:44:05 for Final Year Project by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen" onerror="this.onerror=null;this.src='doxygen.svg';"/></a> 1.9.5. Dark theme by <a href="http://majerle.eu" target="_new">Tilen Majerle</a>. All rights reserved. </li> </ul> </div> <script src="custom.js"></script> </body> </html>