1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../css/manpage.css" type="text/css" /> 7<title>nngxAdd3DCommand</title> 8 </head> 9 <body> 10<h1><CODE>nngxAdd3DCommand</CODE> Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14NNGX_APICALL void NNGX_APIENTRY nngxAdd3DCommand( 15 GLvoid * bufferaddr, 16 GLsizei buffersize, 17 GLboolean copycmd 18); 19</pre> 20 </div> 21<h2>Arguments</h2> 22 <div class="section"> 23 <table class="arguments"> 24 <thead> 25 <tr> 26 <td width="15" /> 27<th>Name</th> 28<td>Description</td> 29 </tr> 30 </thead> 31 <tr> 32<td>in</td> 33<th>bufferaddr</th> 34<td>Pointer to the data region where the 3D command to add is located</td> 35 </tr> 36 <tr> 37<td>in</td> 38<th>buffersize</th> 39<td>Size (in bytes) of the 3D command to add</td> 40 </tr> 41 <tr> 42<td>in</td> 43<th>copycmd</th> 44<td>Addition method (specifies whether to add a 3D command buffer or a 3D execution command request)</td> 45 </tr> </table> 46 </div> 47<h2>Return Values</h2> 48<div class="section">There is no return value. </div> 49<h2>Description</h2> 50 <div class="section"> 51<p>Adds the data (the 3D command) in the specified region to the current 3D command buffer.</p><P> 52If <SPAN class="argument">copycmd</SPAN> is <CODE>GL_TRUE</CODE>, the data in the region specified by <SPAN class="argument">bufferaddr</SPAN> is copied to the current 3D command buffer. Set <SPAN class="argument">buffersize</SPAN> equal to the number of bytes to copy. Behavior is not guaranteed if a 3D command buffer with split commands is copied. 53 </P><P> 54If <SPAN class="argument">copycmd</SPAN> is <CODE>GL_FALSE</CODE>, a 3D execution command is first generated with the region specified by <SPAN class="argument">bufferaddr</SPAN> as its execution address and then added to the current command requests. Set <SPAN class="argument">buffersize</SPAN> equal to the number of bytes in the 3D command buffer to execute. If unsplit 3D commands have been accumulated in the current 3D command buffer, <CODE>nngxSplitDrawCmdlist</CODE> is called and then the new 3D execution command is added. Behavior is not guaranteed if the last command in the specified region is not a split command. 55 </P><P> 56The following errors occur in this function. 57<TABLE><TR><TH>GL_ERROR_804E_DMP</TH><TD>The command list is not currently bound.</TD></TR><TR><TH>GL_ERROR_804F_DMP</TH><TD>Either <SPAN class="argument">buffersize</SPAN> is <CODE>0</CODE> or it is not a multiple of 16 (or not a multiple of 4 if <SPAN class="argument">copycmd</SPAN> is <CODE>GL_TRUE</CODE>).</TD></TR><TR><TH>GL_ERROR_8050_DMP</TH><TD>The <SPAN class="argument">copycmd</SPAN> argument is <CODE>GL_TRUE</CODE> and the size of the current 3D command buffer is insufficient.</TD></TR><TR><TH>GL_ERROR_8051_DMP</TH><TD>The <SPAN class="argument">copycmd</SPAN> argument is <CODE>GL_FALSE</CODE> and the size of the current 3D command request is insufficient.</TD></TR><TR><TH>GL_ERROR_8052_DMP</TH><TD>The <SPAN class="argument">copycmd</SPAN> argument is <CODE>GL_FALSE</CODE> and the value specified for <SPAN class="argument">bufferaddr</SPAN> is not a multiple of 16.</TD></TR></TABLE></P></div> 58<h2>Revision History</h2> 59 <div class="section"> 60 <dl class="history"> 61 <dt>2010/08/12</dt> 62<dd>Revised because of changed <SPAN class="argument">buffersize</SPAN> restrictions (see <CODE>GL_ERROR_804F_DMP</CODE>). 63 </dd> 64 <dt>2010/05/07</dt> 65<dd>Added information on <SPAN class="argument">buffersize</SPAN> restrictions.<br /> 66 </dd> 67 <dt>2010/03/12</dt> 68<dd>Initial version.<br /> 69 </dd> 70 </dl> 71 </div> 72 <hr><p>CONFIDENTIAL</p></body> 73</html>