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>nngxFilterBlockImage</title> 8 </head> 9 <body> 10<h1><CODE>nngxFilterBlockImage</CODE> Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14NNGX_APICALL void NNGX_APIENTRY nngxFilterBlockImage( 15 const GLvoid * srcaddr, 16 GLvoid * dstaddr, 17 GLsizei width, 18 GLsizei height, 19 GLenum format 20); 21</pre> 22 </div> 23<h2>Arguments</h2> 24 <div class="section"> 25 <table class="arguments"> 26 <thead> 27 <tr> 28 <td width="15" /> 29<th>Name</th> 30<td>Description</td> 31 </tr> 32 </thead> 33 <tr> 34<td>in</td> 35<th>srcaddr</th> 36<td>Transfer source block image address.</td> 37 </tr> 38 <tr> 39<td>in</td> 40<th>dstaddr</th> 41<td>Transfer destination address.</td> 42 </tr> 43 <tr> 44<td>in</td> 45<th>width</th> 46<td>Transfer source image width.</td> 47 </tr> 48 <tr> 49<td>in</td> 50<th>height</th> 51<td>Transfer source image height.</td> 52 </tr> 53 <tr> 54<td>in</td> 55<th>format</th> 56<td>Block image pixel format.</td> 57 </tr> </table> 58 </div> 59<h2>Return Values</h2> 60<div class="section">There is no return value. </div> 61<h2>Description</h2> 62 <div class="section"> 63<p>Issues a command request to antialias-filter and transfer a block image.</p><P> 64These antialias-filter and transfer command requests for block images accumulate in the current command list. <I>Block images</I> are either rendered images or PICA native format textures that are in 8-block addressing format. This operation transfers the image from the address specified in <SPAN class="argument">srcaddr</SPAN> to the address specified in <SPAN class="argument">dstaddr</SPAN> while applying a 2x2 antialias filter. The <SPAN class="argument">srcaddr</SPAN> and <SPAN class="argument">dstaddr</SPAN> addresses must be 8-byte aligned. For <SPAN class="argument">width</SPAN> and <SPAN class="argument">height</SPAN>, specify the dimensions of the transfer source image in pixels. 65 </P><P> 66For <SPAN class="argument">format</SPAN>, specify one of the following pixel formats. 67<TABLE><TR><TH>GL_RGBA8_OES</TH><TD>RGBA8888, 32-bit</TD></TR><TR><TH>GL_RGB8_OES</TH><TD>RGB888, 24-bit</TD></TR><TR><TH>GL_RGBA4</TH><TD>RGBA4444, 16-bit</TD></TR><TR><TH>GL_RGB5_A1</TH><TD>RGBA5551, 16-bit</TD></TR><TR><TH>GL_RGB565</TH><TD>RGB565, 16-bit</TD></TR></TABLE></P><P> 68Depending on the <SPAN class="argument">format</SPAN>, there are restrictions on the possible settings for <SPAN class="argument">width</SPAN> and <SPAN class="argument">height</SPAN>. These are shown in the table below. 69<TABLE><TR><TD><B>format</B></TD><TD><B>width</B></TD><TD><B>height</B></TD></TR><TR><TD>GL_RGBA8_OES, GL_RGB8_OES</TD><TD>Must be a value of 64 or larger and a multiple of 64</TD><TD>Must be a value of 64 or larger and a multiple of 16</TD></TR><TR><TD>GL_RGBA4, GL_RGB5_A1, GL_RGB565</TD><TD>Must be a value of 128 or larger and a multiple of 128</TD><TD>Must be a value of 128 or larger and a multiple of 16</TD></TR></TABLE></P><P> 70<CODE>srcaddr</CODE> and <CODE>dstaddr</CODE> must be stored in device memory or in VRAM. If they are not stored in these regions, the Development/Debug builds will stop on an assertion and the Release build will quit without the addition of a transfer command. 71 </P><P> 72If the transfer origin and destination regions overlap, the process will behave normally if <CODE>srcaddr</CODE> is equal in size or larger than <CODE>dstaddr</CODE>. If <CODE>srcaddr</CODE> is smaller than <CODE>dstaddr</CODE>, the transfer result might be corrupted.<br />If the data of either <CODE>srcaddr</CODE> or <CODE>dstaddr</CODE> is stored in device memory and will be directly referenced and edited by the CPU, then you will need to use the <CODE>nngxUpdateBuffer</CODE> function to flush the cache before executing the transfer command. 73 </P><P> 74The following errors occur with this function. 75<TABLE><TR><TH>GL_ERROR_8068_DMP</TH><TD>0 is bound to the current command list, or the command request queue size is insufficient.</TD></TR><TR><TH>GL_ERROR_8069_DMP</TH><TD><SPAN class="argument">srcaddr</SPAN> or <SPAN class="argument">dstaddr</SPAN> is not 8-byte aligned.</TD></TR><TR><TH>GL_ERROR_806A_DMP</TH><TD><SPAN class="argument">width</SPAN> or <SPAN class="argument">height</SPAN> violate the restrictions imposed upon them by the specified <SPAN class="argument">format</SPAN>.</TD></TR><TR><TH>GL_ERROR_806B_DMP</TH><TD>The <SPAN class="argument">format</SPAN> argument is set to an invalid value.</TD></TR></TABLE></P></div> 76<h2>Revision History</h2> 77 <div class="section"> 78 <dl class="history"> 79 <dt>2011/12/08</dt> 80<dd>Corrected a mistake regarding the restriction on values that can be set for <CODE>height</CODE> (changed "multiple of 8" to "multiple of 16"). 81 </dd> 82 <dt>2011/06/21</dt> 83<dd>Added mention of restrictions on the values for <CODE>srcaddr</CODE> and <CODE>dstaddr</CODE>.<br /> 84 </dd> 85 <dt>2011/06/17</dt> 86<dd>Added text about the impact of the relationship between the values for <CODE>srcaddr</CODE> and <CODE>dstaddr</CODE>.<br /> 87 </dd> 88 <dt>2010/06/09</dt> 89<dd>Initial version.<br /> 90 </dd> 91 </dl> 92 </div> 93 <hr><p>CONFIDENTIAL</p></body> 94</html> 95