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>nngxAddBlockImageCopyCommand</title> 8 </head> 9 <body> 10<h1><CODE>nngxAddBlockImageCopyCommand</CODE> Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14NNGX_APICALL void NNGX_APIENTRY nngxAddBlockImageCopyCommand( 15 const GLvoid * srcaddr, 16 GLsizei srcunit, 17 GLsizei srcinterval, 18 GLvoid * dstaddr, 19 GLsizei dstunit, 20 GLsizei dstinterval, 21 GLsizei totalsize 22); 23</pre> 24 </div> 25<h2>Arguments</h2> 26 <div class="section"> 27 <table class="arguments"> 28 <thead> 29 <tr> 30 <td width="15" /> 31<th>Name</th> 32<td>Description</td> 33 </tr> 34 </thead> 35 <tr> 36<td>in</td> 37<th>srcaddr</th> 38<td>Transfer source start address.</td> 39 </tr> 40 <tr> 41<td>in</td> 42<th>srcunit</th> 43<td>Transfer source read unit size (in bytes)</td> 44 </tr> 45 <tr> 46<td>in</td> 47<th>srcinterval</th> 48<td>Transfer source skip size (in bytes)</td> 49 </tr> 50 <tr> 51<td>out</td> 52<th>dstaddr</th> 53<td>Transfer destination start address.</td> 54 </tr> 55 <tr> 56<td>in</td> 57<th>dstunit</th> 58<td>Transfer destination write unit size (in bytes)</td> 59 </tr> 60 <tr> 61<td>in</td> 62<th>dstinterval</th> 63<td>Transfer destination skip size (in bytes)</td> 64 </tr> 65 <tr> 66<td>in</td> 67<th>totalsize</th> 68<td>Total transfer size in bytes (multiple of 16)</td> 69 </tr> </table> 70 </div> 71<h2>Return Values</h2> 72<div class="section">There is no return value. </div> 73<h2>Description</h2> 74 <div class="section"> 75<p>Adds a block image transfer command.</p><P> 76This function can copy images between the rendering buffer and a texture buffer. This function’s distinguishing feature is its ability to transfer a specified amount of data with a specified skip size. This allows you to cut a region out of the original image or fit an image into a partial region of the target image. 77 </P><P> 78The <SPAN class="argument">srcaddr</SPAN> argument specifies the start address of the transfer source. The <SPAN class="argument">dstaddr</SPAN> argument specifies the start address of the transfer destination. Both <SPAN class="argument">srcaddr</SPAN> and <SPAN class="argument">dstaddr</SPAN> must be 16-byte aligned. 79 </P><P> 80The total number of bytes to transfer is specified by <SPAN class="argument">totalsize</SPAN>. The <SPAN class="argument">totalsize</SPAN> argument must be a multiple of 16. 81 </P><P> 82The <SPAN class="argument">srcunit</SPAN> and <SPAN class="argument">srcinterval</SPAN> arguments specify the transfer source read unit size and skip size in bytes. The function first reads and transfers the number of bytes specified in <SPAN class="argument">srcunit</SPAN>. It then skips the number of bytes specified in <SPAN class="argument">srcinterval</SPAN>, which moves the read address forward and omits that many bytes from the transfer. The function repeats this process. The function completes after transfering the number of bytes specified in <SPAN class="argument">totalsize</SPAN>. If <SPAN class="argument">srcinterval</SPAN> is <CODE>0</CODE>, this function reads and transfers a continuous region of <SPAN class="argument">totalsize</SPAN> bytes. For any other <SPAN class="argument">srcinterval</SPAN> value, data is alternatively read and skipped. This allows you to transfer partial regions from the original image. 83 </P><P> 84The transferred data is written <SPAN class="argument">dstunit</SPAN> bytes at a time with a skip size of <SPAN class="argument">dstinterval</SPAN> bytes. The function writes the number of bytes of transferred data specified in <SPAN class="argument">dstunit</SPAN>. It then skips the write address forward by the number of bytes specified in <SPAN class="argument">dstinterval</SPAN>. The function repeats this process. The function completes after the number of transferred bytes reaches the value specified in <SPAN class="argument">totalsize</SPAN>. If <SPAN class="argument">dstinterval</SPAN> is <CODE>0</CODE>, this function writes a continuous region of <SPAN class="argument">totalsize</SPAN> bytes. For any other <SPAN class="argument">dstinterval</SPAN> value, data is alternatively written and skipped. This allows you to paste an image into a partial region of the target image. 85 </P><P> 86The <SPAN class="argument">srcunit</SPAN>, <SPAN class="argument">srcinterval</SPAN>, <SPAN class="argument">dstunit</SPAN>, and <SPAN class="argument">dstinterval</SPAN> arguments must be a multiple of 16. You cannot specify values of <CODE>0x100000</CODE> or higher. In addition, you cannot specify negative values. 87 </P><P> 88The following errors occur with this function. 89<TABLE><TR><TH><CODE>GL_ERROR_8074_DMP</CODE></TH><TD>0 is bound to the current command list or the command request queue is full.</TD></TR><TR><TH><CODE>GL_ERROR_8075_DMP</CODE></TH><TD><SPAN class="argument">srcaddr</SPAN> or <SPAN class="argument">dstaddr</SPAN> is not 16-byte aligned.</TD></TR><TR><TH><CODE>GL_ERROR_8076_DMP</CODE></TH><TD>The <SPAN class="argument">totalsize</SPAN> argument is not a multiple of 16.</TD></TR><TR><TH><CODE>GL_ERROR_8077_DMP</CODE></TH><TD>The <SPAN class="argument">srcunit</SPAN>, <SPAN class="argument">srcinterval</SPAN>, <SPAN class="argument">dstunit</SPAN>, or <SPAN class="argument">dstinterval</SPAN> argument values are invalid.</TD></TR></TABLE></P><P> 90When you set this function’s arguments to transfer a block image from a rendering buffer: 1) the image’s starting address is at its upper-left corner, and 2) when the block size is 8 the data is placed in 8x8 pixel blocks. For more details about block formats, see the section on the native PICA format in the DMPGL 2.0 Specifications. 91 </P></div> 92<h2>Revision History</h2> 93 <div class="section"> 94 <dl class="history"> 95 <dt>2010/09/15</dt> 96<dd>Initial version.<br /> 97 </dd> 98 </dl> 99 </div> 100 <hr><p>CONFIDENTIAL</p></body> 101</html>