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> 76 This function can copy images between textures and rendered render buffers. 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> 78 The <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> 80 The 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 <CODE>16</CODE>. 81 </P><P> 82 The <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 reads the number of bytes specified in <SPAN class="argument">srcunit</SPAN> and transfers that, and then skips the read address forward by the number of bytes specified in <SPAN class="argument">srcinterval</SPAN>, omitting 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 that are cut out of the original image. 83 </P><P> 84 The 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 specified in <SPAN class="argument">dstunit</SPAN> of the transferred data, and 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> 86 The <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 <CODE>16</CODE>. You cannot specify values of <CODE>0x100000</CODE> or higher. You cannot specify any negative values either. 87 </P><P> 88 The following errors occur in 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 <CODE>16</CODE>.</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> 90 When you set this function’s arguments to transfer a block image that is the result of rendering (or some other process), remember that the image’s starting address is at its upper-left corner and that, when it uses a block size of 8, its 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>