1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3
4<head>
5<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
6<META name="GENERATOR" content="Microsoft FrontPage 5.0">
7<META http-equiv="Content-Style-Type" content="text/css">
8<LINK rel="stylesheet" type="text/css" href="../../../CSS/revolution.css">
9<title>tex-invalid</title>
10</head>
11
12<body>
13
14<h1 align="left">tex-invalid</h1>
15
16<h2>Description</h2>
17<p>This program does the test for the texture cache invalidation function. The eight cache regions have one-to-one correspondences to the eight texture objects. Each texture object uses only one dedicated region (for example, texobj0 uses cache0 and texobj1 uses cache1). Textured quads are rendered five times by using each texture object while image data in main memory is overwritten by other data after rendering each quad. You can control whether cache invalidation should be done before drawing the next quad and whether to reflect the overwritten image. As for the fifth quad, <CODE>GXInvalidateTexAll</CODE> is called and so always reflects the overwritten image.</p>
18
19<h2>Coverage</h2>
20<TABLE border="1" cellpadding="3" cellspacing="0.1" width="640">
21  <tr>
22<TD width="30%" bgcolor="#C0C0C0"><EM><STRONG>Functions</STRONG></EM></TD>
23<TD width="25%" bgcolor="#C0C0C0"><EM><STRONG>Parameters</STRONG></EM></TD>
24<TD width="45%" bgcolor="#C0C0C0"><EM><STRONG>Description</STRONG></EM></TD>
25    </tr>
26  <tr>
27<TD width="30%" rowspan="5"><a href="../../../gx/Texture/GXInitTexObj.html"><code>GXInitTexObj</code></a></TD>
28<TD width="25%"><SPAN class="argument">Pointer to image data.</SPAN></TD>
29<TD width="45%">Appropriate value.</TD>
30    </tr>
31  <tr>
32<TD width="25%"><SPAN class="argument">Width and height</SPAN></TD>
33<TD width="45%">Fixed.</TD>
34    </tr>
35  <tr>
36<TD width="25%"><SPAN class="argument">format</SPAN></TD>
37<TD width="45%">Always <CODE>GX_RGB565</CODE></TD>
38    </tr>
39  <tr>
40<TD width="25%"><SPAN class="argument">Wrap mode (s, t)</SPAN></TD>
41<TD width="45%">Always <CODE>GX_REPEAT</CODE></TD>
42    </tr>
43  <tr>
44<TD width="25%"><SPAN class="argument">Mipmap</SPAN></TD>
45<TD width="45%">Always <CODE>GX_TRUE</CODE></TD>
46    </tr>
47  <tr>
48<TD width="30%"><a href="../../../gx/Texture/GXGetTexObjUserData.html"><code>GXInitTexObjUserData</code></a></TD>
49<TD width="25%"><SPAN class="argument">User data pointer</SPAN></TD>
50<TD width="45%">Integer ID numbers</TD>
51    </tr>
52  <tr>
53<TD width="30%"><a href="../../../gx/Texture/GXGetTexObjUserData.html"><code>GXGetTexObjUserData</code></a></TD>
54<TD width="25%"><SPAN class="argument">(no parameter)</SPAN></TD>
55      <TD width="45%"> </TD>
56    </tr>
57  <tr>
58<TD width="30%"><a href="../../../gx/Texture/GXLoadTexObj.html"><code><CODE>GXLoadTexObj</CODE></code></a></TD>
59<TD width="25%"><SPAN class="argument">Destination texture name.</SPAN></TD>
60<TD width="45%">Always <CODE>GX_TEXMAP0</CODE></TD>
61    </tr>
62  <tr>
63<TD width="30%" rowspan="3"><a href="../../../gx/Texture/GXInitTexCacheRegion.html"><code>GXInitTexCacheRegion</code></a></TD>
64<TD width="25%"><SPAN class="argument">32-bit mipmap flag.</SPAN></TD>
65<TD width="45%">Always <CODE>GX_FALSE</CODE></TD>
66    </tr>
67  <tr>
68<TD width="25%"><SPAN class="argument">TMEM address (even, odd).</SPAN></TD>
69<TD width="45%">Appropriate lower bank address (even)<br>appropriate higher bank address (odd)</TD>
70    </tr>
71  <tr>
72<TD width="25%"><SPAN class="argument">Cache size (even, odd).</SPAN></TD>
73<TD width="45%">Always <CODE>GX_TEXCACHE_32K</CODE></TD>
74    </tr>
75  <tr>
76<TD width="30%"><a href="../../../gx/Texture/GXSetTexRegionCallback.html"><code>GXSetTexRegionCallBack</code></a></TD>
77<TD width="25%"><SPAN class="argument">Callback Functions</SPAN></TD>
78<TD width="45%">One function</TD>
79    </tr>
80  <tr>
81<TD width="30%"><a href="../../../gx/Texture/GXInvalidateTexRegion.html"><code>GXInvalidateTexRegion</code></a></TD>
82<TD width="25%"><SPAN class="argument">Texture region</SPAN></TD>
83<TD width="45%"><strong>Appropriate cache regions</strong></TD>
84    </tr>
85  <tr>
86<TD width="30%"><a href="../../../gx/Texture/GXInvalidateTexAll.html"><code>GXInvalidateTexAll</code></a></TD>
87<TD width="25%"><SPAN class="argument">(no parameter)</SPAN></TD>
88      <TD width="45%"> </TD>
89    </tr>
90  <tr>
91<TD width="30%" rowspan="2"><a href="../../../gx/Tev/GXSetTevOp.html"><code>GXSetTevOp</code></a></TD>
92<TD width="25%"><SPAN class="argument">TEV stage ID</SPAN></TD>
93<TD width="45%"><CODE>GX_TEVSTAGE0</CODE></TD>
94    </tr>
95  <tr>
96<TD width="25%"><SPAN class="argument">Operation mode</SPAN></TD>
97<TD width="45%"><CODE>GX_REPLACE</CODE></TD>
98    </tr>
99</TABLE>
100
101<h2>Using the Demo</h2>
102<p>START exits the demo.</p>
103<p>The Control Stick moves the cursor.</p>
104<p>The A Button toggles the invalidation switch at the selected point.</p>
105
106<h2>Snapshot</h2>
107<p>All invalidation switches are turned on.</p>
108<P><IMG src="./images/tex-invalid-0.gif" alt="tex-invalid-0.gif (47832 bytes)" width="640" height="480"></p>
109
110<p>Only switches for third quads are turned on.</p>
111<P><IMG src="./images/tex-invalid-1.gif" alt="tex-invalid-1.gif (44733 bytes)" width="640" height="480"></p>
112
113<p>Different switch configuration is set to each cache.</p>
114<P><IMG src="./images/tex-invalid-2.gif" alt="tex-invalid-2.gif (47898 bytes)" width="640" height="480"></p>
115
116<p>All invalidation switches are turned off.</p>
117<P><IMG src="./images/tex-invalid-3.gif" alt="tex-invalid-3.gif (44080 bytes)" width="640" height="480"></p>
118
119<h2>Data Files Required</h2>
120<p><CODE>$REVOLUTION_SDK_ROOT/dvddata/gxTests/tex-07.tpl</CODE></p>
121
122<H2>Revision History</H2>
123<P>
1242006/03/01 Initial version.<br>
125</P>
126
127<hr><p>CONFIDENTIAL</p></body>
128</html>