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>nngxInitialize</title> 8 </head> 9 <body> 10<h1><CODE>nngxInitialize</CODE> Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14NNGX_APICALL GLboolean NNGX_APIENTRY nngxInitialize( 15 GLvoid *(*)(GLenum, GLenum, GLuint, GLsizei) allocator, 16 void(*)(GLenum, GLenum, GLuint, GLvoid *) deallocator 17); 18</pre> 19 </div> 20<h2>Arguments</h2> 21 <div class="section"> 22 <table class="arguments"> 23 <thead> 24 <tr> 25 <td width="15" /> 26<th>Name</th> 27<td>Description</td> 28 </tr> 29 </thead> 30 <tr> 31<td>in</td> 32<th>allocator</th> 33<td>Pointer to an allocator function</td> 34 </tr> 35 <tr> 36<td>in</td> 37<th>deallocator</th> 38<td>Pointer to a deallocator function</td> 39 </tr> </table> 40 </div> 41<h2>Return Values</h2> 42<div class="section">Returns <CODE>GL_TRUE</CODE> if initialization succeeded and <CODE>GL_FALSE</CODE> if it failed. </div> 43<h2>Description</h2> 44 <div class="section"> 45<p>Initializes the graphics library (DMPGL).</p><P> 46Set <SPAN class="argument">allocator</SPAN> to the function that DMPGL will use to allocate memory regions. The allocator's first argument specifies the memory region and takes a value of <CODE>NN_GX_MEM_FCRAM</CODE>, <CODE>NN_GX_MEM_VRAMA</CODE>, or <CODE>NN_GX_MEM_VRAMB</CODE>. The allocator's second argument specifies how memory will be used and takes a value of <CODE>NN_GX_MEM_SYSTEM</CODE>, <CODE>NN_GX_MEM_TEXTURE</CODE>, <CODE>NN_GX_MEM_VERTEXBUFFER</CODE>, <CODE>NN_GX_MEM_RENDERBUFFER</CODE>, <CODE>NN_GX_MEM_DISPLAYBUFFER</CODE>, or <CODE>NN_GX_MEM_COMMANDBUFFER</CODE>. The allocator's third argument is the object name. The allocator's fourth argument is the number of bytes of memory to allocate. Implement the allocator so that it returns 0 when it fails and the memory address of the allocated region when it succeeds. 47 </P><P> 48Set <SPAN class="argument">deallocator</SPAN> to the function that DMPGL uses to free memory regions. The deallocator's first, second, and third arguments are the same as the allocator's. The deallocator's fourth argument is the memory address to free. 49 </P><P> 50Once this function has successfully initialized the library, it returns <CODE>GL_FALSE</CODE> if it is called again before <CODE>nngxFinalize</CODE>. 51 </P><P> 52This function allocates a command buffer to initialize the GPU register, and a buffer for internal state management (passes requests to the allocator). This function includes a buffer used for temporary allocation only, and a buffer that is kept until the <CODE>nngxFinalize</CODE> function is called. The breakdown is as follows. 53<TABLE><TR><TH>order</TH><TH>Area</TH><TH>Usage</TH><TH>Requested size (bytes)</TH><TH>Note</TH></TR><TR><TD>1</TD><TD>Main memory (FCRAM)</TD><TD>SYSTEM</TD><TD>12252</TD><TD>For internal state management. Deallocated by a call to the <CODE>nngxFinalize</CODE> function.</TD></TR><TR><TD>2</TD><TD>Main memory (FCRAM)</TD><TD>SYSTEM</TD><TD>40</TD><TD>For internal state management. Deallocated by a call to the <CODE>nngxFinalize</CODE> function.</TD></TR><TR><TD>3</TD><TD>Main memory (FCRAM)</TD><TD>SYSTEM</TD><TD>632</TD><TD>For internal state management. Deallocated by a call to the <CODE>nngxFinalize</CODE> function.</TD></TR><TR><TD>4</TD><TD>Main memory (FCRAM)</TD><TD>SYSTEM</TD><TD>120</TD><TD>For internal state management. Deallocated by a call to the <CODE>nngxFinalize</CODE> function.</TD></TR><TR><TD>5</TD><TD>Main memory (FCRAM)</TD><TD>SYSTEM</TD><TD>460</TD><TD>For internal state management. Deallocated by a call to the <CODE>nngxFinalize</CODE> function.</TD></TR><TR><TD>6</TD><TD>Main memory (FCRAM)</TD><TD>SYSTEM</TD><TD>156</TD><TD>For internal state management. Deallocated by a call to the <CODE>nngxFinalize</CODE> function.</TD></TR><TR><TD>7</TD><TD>Main memory (FCRAM)</TD><TD>SYSTEM</TD><TD>60</TD><TD>For register initialization command.<FONT color="red">This is deallocated inside the function.</FONT></TD></TR><TR><TD>8</TD><TD>Main memory (FCRAM)</TD><TD>COMMANDBUFFER</TD><TD>65984</TD><TD>For register initialization command.<FONT color="red">This is deallocated inside the function.</FONT></TD></TR><TR><TD>9</TD><TD>Main memory (FCRAM)</TD><TD>SYSTEM</TD><TD>16384</TD><TD>Buffer for temporary use.<FONT color="red">This is deallocated inside the function.</FONT></TD></TR></TABLE></P></div> 54<h2>Revision History</h2> 55 <div class="section"> 56 <dl class="history"> 57 <dt>2011/04/01</dt> 58<dd>Added description of buffers requested from the allocator inside the <CODE>nngxInitialize</CODE> function.<br /> 59 </dd> 60 <dt>2010/02/01</dt> 61<dd>Made revisions due to changes in the attribute specifications.<br /> 62 </dd> 63 <dt>2010/01/07</dt> 64<dd>Initial version.<br /> 65 </dd> 66 </dl> 67 </div> 68 <hr><p>CONFIDENTIAL</p></body> 69</html> 70