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
17
18<h2>Description</h2>
19
20<p>This program does the test for the texture cache invalidation function. The eight cache regions have a one-to-one correspondences to the eight texture objects. Each texture object uses only one dedicated region (for example, texobj 0 uses cache 0 and texobj1 uses cache 1). Textured quads are drawn five times by using each texture object while image data in main memory is overwritten by other data after drawing 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>
21
22<h2>Coverage</h2>
23<TABLE border="1" cellpadding="3" cellspacing="0.1" width="640">
24  <tr>
25<TD width="30%" bgcolor="#C0C0C0"><EM><STRONG>Function</STRONG></EM></TD>
26<TD width="25%" bgcolor="#C0C0C0"><EM><STRONG>Parameters</STRONG></EM></TD>
27<TD width="45%" bgcolor="#C0C0C0"><EM><STRONG>Description</STRONG></EM></TD>
28    </tr>
29  <tr>
30<TD width="30%" rowspan="5"><a href="../../../gx/Texture/GXInitTexObj.html"><code>GXInitTexObj</code></a></TD>
31<TD width="25%">Pointer to image data.</TD>
32<TD width="45%">Appropriate value.</TD>
33    </tr>
34  <tr>
35<TD width="25%">Width and height</TD>
36<TD width="45%">Fixed.</TD>
37    </tr>
38  <tr>
39<TD width="25%">Format</TD>
40<TD width="45%">Always <FONT face="Courier New">GX_RGB565</FONT>.</TD>
41    </tr>
42  <tr>
43<TD width="25%">Wrap mode (s, t)</TD>
44<TD width="45%">Always <code>GX_REPEAT</code>.</TD>
45    </tr>
46  <tr>
47<TD width="25%">Mipmap</TD>
48<TD width="45%">Always <FONT face="Courier New">GX_TRUE</FONT>.</TD>
49    </tr>
50  <tr>
51<TD width="30%"><a href="../../../gx/Texture/GXGetTexObjUserData.html"><code>GXInitTexObjUserData</code></a></TD>
52<TD width="25%">User data pointer.</TD>
53<TD width="45%">Integer ID numbers</TD>
54    </tr>
55  <tr>
56<TD width="30%"><a href="../../../gx/Texture/GXGetTexObjUserData.html"><code>GXGetTexObjUserData</code></a></TD>
57<TD width="25%">(No parameter)</TD>
58      <TD width="45%"></TD>
59    </tr>
60  <tr>
61<TD width="30%"><a href="../../../gx/Texture/GXLoadTexObj.html"><code>GXLoadTexObj</code></a></TD>
62<TD width="25%">Destination texture name</TD>
63<TD width="45%">Always <CODE>GX_TEXMAP0</CODE>.</TD>
64    </tr>
65  <tr>
66<TD width="30%" rowspan="3"><a href="../../../gx/Texture/GXInitTexCacheRegion.html"><code>GXInitTexCacheRegion</code></a></TD>
67<TD width="25%">32-bit mipmap flag.</TD>
68<TD width="45%">Always <CODE>GX_FALSE</CODE>.</TD>
69    </tr>
70  <tr>
71<TD width="25%">TMEM address (even, odd).</TD>
72<TD width="45%">Appropriate lower bank address (even)<br>Appropriate higher bank address (odd)</TD>
73    </tr>
74  <tr>
75<TD width="25%">Cache size (even, odd).</TD>
76<TD width="45%">Always <CODE>GX_TEXCACHE_32K</CODE>.</TD>
77    </tr>
78  <tr>
79<TD width="30%"><a href="../../../gx/Texture/GXSetTexRegionCallback.html"><code>GXSetTexRegionCallBack</code></a></TD>
80<TD width="25%">Callback Functions</TD>
81<TD width="45%">One function</TD>
82    </tr>
83  <tr>
84<TD width="30%"><a href="../../../gx/Texture/GXInvalidateTexRegion.html"><code>GXInvalidateTexRegion</code></a></TD>
85<TD width="25%">Texture region</TD>
86<TD width="45%"><strong>Appropriate cache regions</strong></TD>
87    </tr>
88  <tr>
89<TD width="30%"><a href="../../../gx/Texture/GXInvalidateTexAll.html"><code>GXInvalidateTexAll</code></a></TD>
90<TD width="25%">(No parameter)</TD>
91      <TD width="45%"></TD>
92    </tr>
93  <tr>
94<TD width="30%" rowspan="2"><a href="../../../gx/Tev/GXSetTevOp.html"><code>GXSetTevOp</code></a></TD>
95<TD width="25%">TEV stage ID</TD>
96<TD width="45%"><FONT face="Courier New">GX_TEVSTAGE0</FONT></TD>
97    </tr>
98  <tr>
99<TD width="25%">Operation mode</TD>
100<TD width="45%"><FONT face="Courier New">GX_REPLACE</FONT></TD>
101    </tr>
102</TABLE>
103<h2>Operation Method</h2>
104
105<p>START exits the demo.</p>
106
107<p>The Control Stick moves the cursor.</p>
108
109<p>The A Button toggles the invalidation switch at the selected point.</p>
110
111<h2>Snapshot</h2><p>All invalidation switches are turned on.</p>
112
113<P><IMG src="./images/tex-invalid-0.gif" alt="tex-invalid-0.gif (47832 bytes)" width="640" height="480"></p>
114
115<p>Only switches for third quads are turned on.</p>
116
117<P><IMG src="./images/tex-invalid-1.gif" alt="tex-invalid-1.gif (44733 bytes)" width="640" height="480"></p>
118
119<p>Different switch configuration is set for each cache.</p>
120
121<P><IMG src="./images/tex-invalid-2.gif" alt="tex-invalid-2.gif (47898 bytes)" width="640" height="480"></p>
122
123<p>All invalidation switches are turned off.</p>
124
125<P><IMG src="./images/tex-invalid-3.gif" alt="tex-invalid-3.gif (44080 bytes)" width="640" height="480"></p>
126
127<h2>Data Files Required</h2>
128
129<p><FONT face="Courier New">$REVOLUTION_SDK_ROOT/dvddata/gxTests/tex-07.tpl</FONT></p>
130<H2>Revision History</H2>
131<P>2006/03/01 Initial version.</P>
132<hr>
133<P>CONFIDENTIAL</p>
134</BODY>
135</HTML>