libctru/gx_8h.html
2024-11-03 20:36:34 +00:00

933 lines
54 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">
<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.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libctru: include/3ds/gpu/gx.h File 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="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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
&#160;<span id="projectnumber">v2.4.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_d475325f6a9fe3bfc3a495c72a9e475e.html">3ds</a></li><li class="navelem"><a class="el" href="dir_0f128149b5f0edcc1e84fa1d13781a04.html">gpu</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">gx.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>GX commands.
<a href="#details">More...</a></p>
<p><a href="gx_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uniongxCmdEntry__s.html">gxCmdEntry_s</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GX command entry. <a href="uniongxCmdEntry__s.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GX command queue structure. <a href="structgxCmdQueue__s.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ad34237bd30a2a96a6074e8967840d4fc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">GX_BUFFER_DIM</a>(w, h)&#160;&#160;&#160;(((h)&lt;&lt;16)|((w)&amp;0xFFFF))</td></tr>
<tr class="memdesc:ad34237bd30a2a96a6074e8967840d4fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a buffer dimension parameter from width and height values. <a href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">More...</a><br /></td></tr>
<tr class="separator:ad34237bd30a2a96a6074e8967840d4fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19b4c4ad91299256a7c285e9ba7673b9"><td class="memItemLeft" align="right" valign="top"><a id="a19b4c4ad91299256a7c285e9ba7673b9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a19b4c4ad91299256a7c285e9ba7673b9">GX_TRANSFER_FLIP_VERT</a>(x)&#160;&#160;&#160;((x)&lt;&lt;0)</td></tr>
<tr class="memdesc:a19b4c4ad91299256a7c285e9ba7673b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a transfer vertical flip flag. <br /></td></tr>
<tr class="separator:a19b4c4ad91299256a7c285e9ba7673b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af921823b2f2e0cfcd521bea00a2b07b5"><td class="memItemLeft" align="right" valign="top"><a id="af921823b2f2e0cfcd521bea00a2b07b5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#af921823b2f2e0cfcd521bea00a2b07b5">GX_TRANSFER_OUT_TILED</a>(x)&#160;&#160;&#160;((x)&lt;&lt;1)</td></tr>
<tr class="memdesc:af921823b2f2e0cfcd521bea00a2b07b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a transfer tiled output flag. <br /></td></tr>
<tr class="separator:af921823b2f2e0cfcd521bea00a2b07b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60e17ab935c82208ef88ef28b4e397fe"><td class="memItemLeft" align="right" valign="top"><a id="a60e17ab935c82208ef88ef28b4e397fe"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a60e17ab935c82208ef88ef28b4e397fe">GX_TRANSFER_RAW_COPY</a>(x)&#160;&#160;&#160;((x)&lt;&lt;3)</td></tr>
<tr class="memdesc:a60e17ab935c82208ef88ef28b4e397fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a transfer raw copy flag. <br /></td></tr>
<tr class="separator:a60e17ab935c82208ef88ef28b4e397fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae325a34e9b8fb5288de35ee469dfe214"><td class="memItemLeft" align="right" valign="top"><a id="ae325a34e9b8fb5288de35ee469dfe214"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#ae325a34e9b8fb5288de35ee469dfe214">GX_TRANSFER_IN_FORMAT</a>(x)&#160;&#160;&#160;((x)&lt;&lt;8)</td></tr>
<tr class="memdesc:ae325a34e9b8fb5288de35ee469dfe214"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a transfer input format flag. <br /></td></tr>
<tr class="separator:ae325a34e9b8fb5288de35ee469dfe214"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab80b0d3eac6026af376128823e1ef8b6"><td class="memItemLeft" align="right" valign="top"><a id="ab80b0d3eac6026af376128823e1ef8b6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#ab80b0d3eac6026af376128823e1ef8b6">GX_TRANSFER_OUT_FORMAT</a>(x)&#160;&#160;&#160;((x)&lt;&lt;12)</td></tr>
<tr class="memdesc:ab80b0d3eac6026af376128823e1ef8b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a transfer output format flag. <br /></td></tr>
<tr class="separator:ab80b0d3eac6026af376128823e1ef8b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5306b6b3789ce892d24d43fe9207534"><td class="memItemLeft" align="right" valign="top"><a id="aa5306b6b3789ce892d24d43fe9207534"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#aa5306b6b3789ce892d24d43fe9207534">GX_TRANSFER_SCALING</a>(x)&#160;&#160;&#160;((x)&lt;&lt;24)</td></tr>
<tr class="memdesc:aa5306b6b3789ce892d24d43fe9207534"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a transfer scaling flag. <br /></td></tr>
<tr class="separator:aa5306b6b3789ce892d24d43fe9207534"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c6c9d17fff0a2ec233a3d0120a0f142"><td class="memItemLeft" align="right" valign="top"><a id="a9c6c9d17fff0a2ec233a3d0120a0f142"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a9c6c9d17fff0a2ec233a3d0120a0f142">GX_CMDLIST_UPDATE_GAS_ACC</a>&#160;&#160;&#160;<a class="el" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(0)</td></tr>
<tr class="memdesc:a9c6c9d17fff0a2ec233a3d0120a0f142"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates gas additive blend results. <br /></td></tr>
<tr class="separator:a9c6c9d17fff0a2ec233a3d0120a0f142"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addcc38194ba3a4bf1322b698d19936bc"><td class="memItemLeft" align="right" valign="top"><a id="addcc38194ba3a4bf1322b698d19936bc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#addcc38194ba3a4bf1322b698d19936bc">GX_CMDLIST_FLUSH</a>&#160;&#160;&#160;<a class="el" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(1)</td></tr>
<tr class="memdesc:addcc38194ba3a4bf1322b698d19936bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes the command list. <br /></td></tr>
<tr class="separator:addcc38194ba3a4bf1322b698d19936bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:aca790f0cdfea04833518556b8a1682f3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3">GX_TRANSFER_FORMAT</a> { <br />
&#160;&#160;<a class="el" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd">GX_TRANSFER_FMT_RGBA8</a> = 0
, <br />
&#160;&#160;<a class="el" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec">GX_TRANSFER_FMT_RGB8</a> = 1
, <br />
&#160;&#160;<a class="el" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969">GX_TRANSFER_FMT_RGB565</a> = 2
, <br />
&#160;&#160;<a class="el" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae">GX_TRANSFER_FMT_RGB5A1</a> = 3
, <br />
&#160;&#160;<a class="el" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85">GX_TRANSFER_FMT_RGBA4</a> = 4
<br />
}</td></tr>
<tr class="memdesc:aca790f0cdfea04833518556b8a1682f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported transfer pixel formats. <a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3">More...</a><br /></td></tr>
<tr class="separator:aca790f0cdfea04833518556b8a1682f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a248b09e90905d8c0622fdfee77880aba"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a248b09e90905d8c0622fdfee77880aba">GX_TRANSFER_SCALE</a> { <br />
&#160;&#160;<a class="el" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff">GX_TRANSFER_SCALE_NO</a> = 0
, <br />
&#160;&#160;<a class="el" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30">GX_TRANSFER_SCALE_X</a> = 1
, <br />
&#160;&#160;<a class="el" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f">GX_TRANSFER_SCALE_XY</a> = 2
<br />
}</td></tr>
<tr class="memdesc:a248b09e90905d8c0622fdfee77880aba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Anti-aliasing modes. <a href="gx_8h.html#a248b09e90905d8c0622fdfee77880aba">More...</a><br /></td></tr>
<tr class="separator:a248b09e90905d8c0622fdfee77880aba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2a0de60baddb7fc1528a62e4e555273"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273">GX_FILL_CONTROL</a> { <br />
&#160;&#160;<a class="el" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">GX_FILL_TRIGGER</a> = 0x001
, <br />
&#160;&#160;<a class="el" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf">GX_FILL_FINISHED</a> = 0x002
, <br />
&#160;&#160;<a class="el" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c">GX_FILL_16BIT_DEPTH</a> = 0x000
, <br />
&#160;&#160;<a class="el" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e">GX_FILL_24BIT_DEPTH</a> = 0x100
, <br />
&#160;&#160;<a class="el" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">GX_FILL_32BIT_DEPTH</a> = 0x200
<br />
}</td></tr>
<tr class="memdesc:af2a0de60baddb7fc1528a62e4e555273"><td class="mdescLeft">&#160;</td><td class="mdescRight">GX transfer control flags. <a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273">More...</a><br /></td></tr>
<tr class="separator:af2a0de60baddb7fc1528a62e4e555273"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa40b6e85bbb30d85c5e1c7b298868a90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#aa40b6e85bbb30d85c5e1c7b298868a90">gxCmdQueueClear</a> (<a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *queue)</td></tr>
<tr class="memdesc:aa40b6e85bbb30d85c5e1c7b298868a90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears a GX command queue. <a href="gx_8h.html#aa40b6e85bbb30d85c5e1c7b298868a90">More...</a><br /></td></tr>
<tr class="separator:aa40b6e85bbb30d85c5e1c7b298868a90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49f4260c00c2517a50a6967fc2335e28"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a49f4260c00c2517a50a6967fc2335e28">gxCmdQueueAdd</a> (<a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *queue, const <a class="el" href="uniongxCmdEntry__s.html">gxCmdEntry_s</a> *entry)</td></tr>
<tr class="memdesc:a49f4260c00c2517a50a6967fc2335e28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a command to a GX command queue. <a href="gx_8h.html#a49f4260c00c2517a50a6967fc2335e28">More...</a><br /></td></tr>
<tr class="separator:a49f4260c00c2517a50a6967fc2335e28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaec48f0e503a76a62827305917445d11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#aaec48f0e503a76a62827305917445d11">gxCmdQueueRun</a> (<a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *queue)</td></tr>
<tr class="memdesc:aaec48f0e503a76a62827305917445d11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runs a GX command queue, causing it to begin processing incoming commands as they arrive. <a href="gx_8h.html#aaec48f0e503a76a62827305917445d11">More...</a><br /></td></tr>
<tr class="separator:aaec48f0e503a76a62827305917445d11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee8d9de4784ce0864c776780c3bd45fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#aee8d9de4784ce0864c776780c3bd45fe">gxCmdQueueStop</a> (<a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *queue)</td></tr>
<tr class="memdesc:aee8d9de4784ce0864c776780c3bd45fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops a GX command queue from processing incoming commands. <a href="gx_8h.html#aee8d9de4784ce0864c776780c3bd45fe">More...</a><br /></td></tr>
<tr class="separator:aee8d9de4784ce0864c776780c3bd45fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac00678a0216e7279bef18d9b7b41fbd9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#ac00678a0216e7279bef18d9b7b41fbd9">gxCmdQueueWait</a> (<a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *queue, <a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> timeout)</td></tr>
<tr class="memdesc:ac00678a0216e7279bef18d9b7b41fbd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for a GX command queue to finish executing pending commands. <a href="gx_8h.html#ac00678a0216e7279bef18d9b7b41fbd9">More...</a><br /></td></tr>
<tr class="separator:ac00678a0216e7279bef18d9b7b41fbd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72c4009dfc0fb8a6e43b7e8e0126a366"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a72c4009dfc0fb8a6e43b7e8e0126a366">gxCmdQueueSetCallback</a> (<a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *queue, void(*callback)(<a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *), void *user)</td></tr>
<tr class="memdesc:a72c4009dfc0fb8a6e43b7e8e0126a366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the completion callback for a GX command queue. <a href="gx_8h.html#a72c4009dfc0fb8a6e43b7e8e0126a366">More...</a><br /></td></tr>
<tr class="separator:a72c4009dfc0fb8a6e43b7e8e0126a366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a119c56e2949ac765e14a315e43d761d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a119c56e2949ac765e14a315e43d761d9">GX_BindQueue</a> (<a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *queue)</td></tr>
<tr class="memdesc:a119c56e2949ac765e14a315e43d761d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selects a command queue to which GX_* functions will add commands instead of immediately submitting them to GX. <a href="gx_8h.html#a119c56e2949ac765e14a315e43d761d9">More...</a><br /></td></tr>
<tr class="separator:a119c56e2949ac765e14a315e43d761d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7020531dad937eb0d9dc0e22a557285e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a7020531dad937eb0d9dc0e22a557285e">GX_RequestDma</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *src, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *dst, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> length)</td></tr>
<tr class="memdesc:a7020531dad937eb0d9dc0e22a557285e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Requests a DMA. <a href="gx_8h.html#a7020531dad937eb0d9dc0e22a557285e">More...</a><br /></td></tr>
<tr class="separator:a7020531dad937eb0d9dc0e22a557285e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2346e838070d5029faf7e57a9fdf69bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a2346e838070d5029faf7e57a9fdf69bf">GX_ProcessCommandList</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *buf0a, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf0s, <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> flags)</td></tr>
<tr class="memdesc:a2346e838070d5029faf7e57a9fdf69bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processes a GPU command list. <a href="gx_8h.html#a2346e838070d5029faf7e57a9fdf69bf">More...</a><br /></td></tr>
<tr class="separator:a2346e838070d5029faf7e57a9fdf69bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6e39b328383930b64eaa230bc9bc6a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#aa6e39b328383930b64eaa230bc9bc6a0">GX_MemoryFill</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *buf0a, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf0v, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *buf0e, <a class="el" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> control0, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *buf1a, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf1v, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *buf1e, <a class="el" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> control1)</td></tr>
<tr class="memdesc:aa6e39b328383930b64eaa230bc9bc6a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the memory of two buffers with the given values. <a href="gx_8h.html#aa6e39b328383930b64eaa230bc9bc6a0">More...</a><br /></td></tr>
<tr class="separator:aa6e39b328383930b64eaa230bc9bc6a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4de1f2c27d7984b8cf5b93c8913a499b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a4de1f2c27d7984b8cf5b93c8913a499b">GX_DisplayTransfer</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *inadr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> indim, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *outadr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> outdim, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags)</td></tr>
<tr class="memdesc:a4de1f2c27d7984b8cf5b93c8913a499b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates a display transfer. <a href="gx_8h.html#a4de1f2c27d7984b8cf5b93c8913a499b">More...</a><br /></td></tr>
<tr class="separator:a4de1f2c27d7984b8cf5b93c8913a499b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c1286f84675137eeeadc589654976a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a2c1286f84675137eeeadc589654976a2">GX_TextureCopy</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *inadr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> indim, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *outadr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> outdim, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags)</td></tr>
<tr class="memdesc:a2c1286f84675137eeeadc589654976a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates a texture copy. <a href="gx_8h.html#a2c1286f84675137eeeadc589654976a2">More...</a><br /></td></tr>
<tr class="separator:a2c1286f84675137eeeadc589654976a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5b03c7f32e45b00293e7150a1bc9810"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#ae5b03c7f32e45b00293e7150a1bc9810">GX_FlushCacheRegions</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *buf0a, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf0s, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *buf1a, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf1s, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *buf2a, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf2s)</td></tr>
<tr class="memdesc:ae5b03c7f32e45b00293e7150a1bc9810"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes the cache regions of three buffers. <a href="gx_8h.html#ae5b03c7f32e45b00293e7150a1bc9810">More...</a><br /></td></tr>
<tr class="separator:ae5b03c7f32e45b00293e7150a1bc9810"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>GX commands. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ad34237bd30a2a96a6074e8967840d4fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad34237bd30a2a96a6074e8967840d4fc">&#9670;&nbsp;</a></span>GX_BUFFER_DIM</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GX_BUFFER_DIM</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">w, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">h&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>&#160;&#160;&#160;(((h)&lt;&lt;16)|((w)&amp;0xFFFF))</td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a buffer dimension parameter from width and height values. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">w</td><td>buffer width for GX_DisplayTransfer, linesize for GX_TextureCopy </td></tr>
<tr><td class="paramname">h</td><td>buffer height for GX_DisplayTransfer, gap for GX_TextureCopy </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="af2a0de60baddb7fc1528a62e4e555273"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2a0de60baddb7fc1528a62e4e555273">&#9670;&nbsp;</a></span>GX_FILL_CONTROL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273">GX_FILL_CONTROL</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>GX transfer control flags. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd"></a>GX_FILL_TRIGGER&#160;</td><td class="fielddoc"><p>Trigger the PPF event. </p>
</td></tr>
<tr><td class="fieldname"><a id="af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf"></a>GX_FILL_FINISHED&#160;</td><td class="fielddoc"><p>Indicates if the memory fill is complete. You should not use it when requesting a transfer. </p>
</td></tr>
<tr><td class="fieldname"><a id="af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c"></a>GX_FILL_16BIT_DEPTH&#160;</td><td class="fielddoc"><p>The buffer has a 16 bit per pixel depth. </p>
</td></tr>
<tr><td class="fieldname"><a id="af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e"></a>GX_FILL_24BIT_DEPTH&#160;</td><td class="fielddoc"><p>The buffer has a 24 bit per pixel depth. </p>
</td></tr>
<tr><td class="fieldname"><a id="af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d"></a>GX_FILL_32BIT_DEPTH&#160;</td><td class="fielddoc"><p>The buffer has a 32 bit per pixel depth. </p>
</td></tr>
</table>
</div>
</div>
<a id="aca790f0cdfea04833518556b8a1682f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca790f0cdfea04833518556b8a1682f3">&#9670;&nbsp;</a></span>GX_TRANSFER_FORMAT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3">GX_TRANSFER_FORMAT</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Supported transfer pixel formats. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36b" title="Framebuffer format.">GSPGPU_FramebufferFormat</a> </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd"></a>GX_TRANSFER_FMT_RGBA8&#160;</td><td class="fielddoc"><p>8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha </p>
</td></tr>
<tr><td class="fieldname"><a id="aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec"></a>GX_TRANSFER_FMT_RGB8&#160;</td><td class="fielddoc"><p>8-bit Red + 8-bit Green + 8-bit Blue </p>
</td></tr>
<tr><td class="fieldname"><a id="aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969"></a>GX_TRANSFER_FMT_RGB565&#160;</td><td class="fielddoc"><p>5-bit Red + 6-bit Green + 5-bit Blue </p>
</td></tr>
<tr><td class="fieldname"><a id="aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae"></a>GX_TRANSFER_FMT_RGB5A1&#160;</td><td class="fielddoc"><p>5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha </p>
</td></tr>
<tr><td class="fieldname"><a id="aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85"></a>GX_TRANSFER_FMT_RGBA4&#160;</td><td class="fielddoc"><p>4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha </p>
</td></tr>
</table>
</div>
</div>
<a id="a248b09e90905d8c0622fdfee77880aba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a248b09e90905d8c0622fdfee77880aba">&#9670;&nbsp;</a></span>GX_TRANSFER_SCALE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="gx_8h.html#a248b09e90905d8c0622fdfee77880aba">GX_TRANSFER_SCALE</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Anti-aliasing modes. </p>
<p>Please remember that the framebuffer is sideways. Hence if you activate 2x1 anti-aliasing the destination dimensions are w = 240*2 and h = 400 </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff"></a>GX_TRANSFER_SCALE_NO&#160;</td><td class="fielddoc"><p>No anti-aliasing. </p>
</td></tr>
<tr><td class="fieldname"><a id="a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30"></a>GX_TRANSFER_SCALE_X&#160;</td><td class="fielddoc"><p>2x1 anti-aliasing </p>
</td></tr>
<tr><td class="fieldname"><a id="a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f"></a>GX_TRANSFER_SCALE_XY&#160;</td><td class="fielddoc"><p>2x2 anti-aliasing </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a119c56e2949ac765e14a315e43d761d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a119c56e2949ac765e14a315e43d761d9">&#9670;&nbsp;</a></span>GX_BindQueue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void GX_BindQueue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *&#160;</td>
<td class="paramname"><em>queue</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Selects a command queue to which GX_* functions will add commands instead of immediately submitting them to GX. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">queue</td><td>The GX command queue. (Pass NULL to remove the bound command queue) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4de1f2c27d7984b8cf5b93c8913a499b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4de1f2c27d7984b8cf5b93c8913a499b">&#9670;&nbsp;</a></span>GX_DisplayTransfer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> GX_DisplayTransfer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>inadr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>indim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>outadr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>outdim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiates a display transfer. </p>
<dl class="section note"><dt>Note</dt><dd>The PPF event will be signaled on completion. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">inadr</td><td>Address of the input. </td></tr>
<tr><td class="paramname">indim</td><td>Dimensions of the input. </td></tr>
<tr><td class="paramname">outadr</td><td>Address of the output. </td></tr>
<tr><td class="paramname">outdim</td><td>Dimensions of the output. </td></tr>
<tr><td class="paramname">flags</td><td>Flags to transfer with. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae5b03c7f32e45b00293e7150a1bc9810"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5b03c7f32e45b00293e7150a1bc9810">&#9670;&nbsp;</a></span>GX_FlushCacheRegions()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> GX_FlushCacheRegions </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>buf0a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>buf0s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>buf1a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>buf1s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>buf2a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>buf2s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Flushes the cache regions of three buffers. </p>
<p>(This command cannot be queued in a GX command queue) </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">buf0a</td><td>Address of the first buffer. </td></tr>
<tr><td class="paramname">buf0s</td><td>Size of the first buffer. </td></tr>
<tr><td class="paramname">buf1a</td><td>Address of the second buffer. </td></tr>
<tr><td class="paramname">buf1s</td><td>Size of the second buffer. </td></tr>
<tr><td class="paramname">buf2a</td><td>Address of the third buffer. </td></tr>
<tr><td class="paramname">buf2s</td><td>Size of the third buffer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa6e39b328383930b64eaa230bc9bc6a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6e39b328383930b64eaa230bc9bc6a0">&#9670;&nbsp;</a></span>GX_MemoryFill()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> GX_MemoryFill </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>buf0a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>buf0v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>buf0e</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a>&#160;</td>
<td class="paramname"><em>control0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>buf1a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>buf1v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>buf1e</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a>&#160;</td>
<td class="paramname"><em>control1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the memory of two buffers with the given values. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">buf0a</td><td>Start address of the first buffer. </td></tr>
<tr><td class="paramname">buf0v</td><td>Dimensions of the first buffer. </td></tr>
<tr><td class="paramname">buf0e</td><td>End address of the first buffer. </td></tr>
<tr><td class="paramname">control0</td><td>Value to fill the first buffer with. </td></tr>
<tr><td class="paramname">buf1a</td><td>Start address of the second buffer. </td></tr>
<tr><td class="paramname">buf1v</td><td>Dimensions of the second buffer. </td></tr>
<tr><td class="paramname">buf1e</td><td>End address of the second buffer. </td></tr>
<tr><td class="paramname">control1</td><td>Value to fill the second buffer with. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2346e838070d5029faf7e57a9fdf69bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2346e838070d5029faf7e57a9fdf69bf">&#9670;&nbsp;</a></span>GX_ProcessCommandList()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> GX_ProcessCommandList </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>buf0a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>buf0s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Processes a GPU command list. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">buf0a</td><td>Command list address. </td></tr>
<tr><td class="paramname">buf0s</td><td>Command list size. </td></tr>
<tr><td class="paramname">flags</td><td>Flags to process with. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7020531dad937eb0d9dc0e22a557285e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7020531dad937eb0d9dc0e22a557285e">&#9670;&nbsp;</a></span>GX_RequestDma()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> GX_RequestDma </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>length</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Requests a DMA. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>Source to DMA from. </td></tr>
<tr><td class="paramname">dst</td><td>Destination to DMA to. </td></tr>
<tr><td class="paramname">length</td><td>Length of data to transfer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2c1286f84675137eeeadc589654976a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c1286f84675137eeeadc589654976a2">&#9670;&nbsp;</a></span>GX_TextureCopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> GX_TextureCopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>inadr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>indim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>outadr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>outdim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiates a texture copy. </p>
<dl class="section note"><dt>Note</dt><dd>The PPF event will be signaled on completion. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">inadr</td><td>Address of the input. </td></tr>
<tr><td class="paramname">indim</td><td>Dimensions of the input. </td></tr>
<tr><td class="paramname">outadr</td><td>Address of the output. </td></tr>
<tr><td class="paramname">outdim</td><td>Dimensions of the output. </td></tr>
<tr><td class="paramname">size</td><td>Size of the data to transfer. </td></tr>
<tr><td class="paramname">flags</td><td>Flags to transfer with. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a49f4260c00c2517a50a6967fc2335e28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49f4260c00c2517a50a6967fc2335e28">&#9670;&nbsp;</a></span>gxCmdQueueAdd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void gxCmdQueueAdd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *&#160;</td>
<td class="paramname"><em>queue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="uniongxCmdEntry__s.html">gxCmdEntry_s</a> *&#160;</td>
<td class="paramname"><em>entry</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds a command to a GX command queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">queue</td><td>The GX command queue. </td></tr>
<tr><td class="paramname">entry</td><td>The GX command to add. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa40b6e85bbb30d85c5e1c7b298868a90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa40b6e85bbb30d85c5e1c7b298868a90">&#9670;&nbsp;</a></span>gxCmdQueueClear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void gxCmdQueueClear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *&#160;</td>
<td class="paramname"><em>queue</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears a GX command queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">queue</td><td>The GX command queue. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aaec48f0e503a76a62827305917445d11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaec48f0e503a76a62827305917445d11">&#9670;&nbsp;</a></span>gxCmdQueueRun()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void gxCmdQueueRun </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *&#160;</td>
<td class="paramname"><em>queue</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Runs a GX command queue, causing it to begin processing incoming commands as they arrive. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">queue</td><td>The GX command queue. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a72c4009dfc0fb8a6e43b7e8e0126a366"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72c4009dfc0fb8a6e43b7e8e0126a366">&#9670;&nbsp;</a></span>gxCmdQueueSetCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void gxCmdQueueSetCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *&#160;</td>
<td class="paramname"><em>queue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void(*)(<a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *)&#160;</td>
<td class="paramname"><em>callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>user</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the completion callback for a GX command queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">queue</td><td>The GX command queue. </td></tr>
<tr><td class="paramname">callback</td><td>The completion callback. </td></tr>
<tr><td class="paramname">user</td><td>User data. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aee8d9de4784ce0864c776780c3bd45fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee8d9de4784ce0864c776780c3bd45fe">&#9670;&nbsp;</a></span>gxCmdQueueStop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void gxCmdQueueStop </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *&#160;</td>
<td class="paramname"><em>queue</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Stops a GX command queue from processing incoming commands. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">queue</td><td>The GX command queue. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac00678a0216e7279bef18d9b7b41fbd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac00678a0216e7279bef18d9b7b41fbd9">&#9670;&nbsp;</a></span>gxCmdQueueWait()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool gxCmdQueueWait </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgxCmdQueue__s.html">gxCmdQueue_s</a> *&#160;</td>
<td class="paramname"><em>queue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a>&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Waits for a GX command queue to finish executing pending commands. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">queue</td><td>The GX command queue. </td></tr>
<tr><td class="paramname">timeout</td><td>Optional timeout (in nanoseconds) to wait (specify -1 for no timeout). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if timeout expired, true otherwise. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>