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>nngxAddVramDmaCommandNoCacheFlush</title> 8 </head> 9 <body> 10<h1><CODE>nngxAddVramDmaCommandNoCacheFlush</CODE> Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14NNGX_APICALL void NNGX_APIENTRY nngxAddVramDmaCommandNoCacheFlush( 15 const GLvoid * srcaddr, 16 GLvoid * dstaddr, 17 GLsizei size 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>srcaddr</th> 34<td>Transfer source address (main memory).</td> 35 </tr> 36 <tr> 37<td>in</td> 38<th>dstaddr</th> 39<td>Transfer destination address (VRAM).</td> 40 </tr> 41 <tr> 42<td>in</td> 43<th>size</th> 44<td>Transfer data size.</td> 45 </tr> </table> 46 </div> 47<h2>Return Values</h2> 48<div class="section">No values are returned. </div> 49<h2>Description</h2> 50 <div class="section"> 51<p>Issues a DMA transfer command request to the current command list.</p><P> 52DMA transfer command requests accumulate in the current command list. They are used when transferring data from main memory to VRAM without using the GL functions. This operation transfers <SPAN class="argument">size</SPAN> bytes of data from the address specified in <SPAN class="argument">srcaddr</SPAN> to the address specified in <SPAN class="argument">dstaddr</SPAN>. 53 </P><P> 54There are no restrictions on the alignment of values that can be set in <SPAN class="argument">srcaddr</SPAN>, <SPAN class="argument">dstaddr</SPAN>, or <SPAN class="argument">size</SPAN>. However, both <SPAN class="argument">srcaddr</SPAN> and <SPAN class="argument">dstaddr</SPAN> can be transferred most efficiently by using pointers that have 8-byte alignment. 55 </P><P> 56This function performs the same operations as the <CODE>nngxAddVramDmaCommand</CODE> function, except that this function does not flush the cache of the region specified by <SPAN class="argument">srcaddr</SPAN>. This function assumes that 1) <CODE>nngxAddVramDmaCommand</CODE> has already been called once for this region, or 2) <CODE>nngxUpdateBuffer</CODE> has been explicitly called, or 3) flushing has been made unnecessary in some other way. Operation is not guaranteed if this function is used when this assumption is not true. 57 </P><P> 58This function generates the following errors. 59<TABLE><TR><TH><CODE>GL_ERROR_8090_DMP</CODE></TH><TD>A valid command list is not currently bound.</TD></TR><TR><TH><CODE>GL_ERROR_8091_DMP</CODE></TH><TD>The <SPAN class="argument">size</SPAN> argument is negative.</TD></TR></TABLE></P></div> 60<h2>See Also</h2> 61 <div class="section"> 62<p class="reference"><a href="../nn_gx/nngxAddVramDmaCommand.html"><CODE>nngxAddVramDmaCommand</CODE></a><br /> </p> 63 </div> 64<h2>Revision History</h2> 65 <div class="section"> 66 <dl class="history"> 67 <dt>2011/08/02</dt> 68<dd>Added information about alignment and transfer efficiency.<BR> 69 </dd> 70 <dt>2011/03/18</dt> 71<dd>Initial version.<br /> 72 </dd> 73 </dl> 74 </div> 75 <hr><p>CONFIDENTIAL</p></body> 76</html> 77