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="IBM WebSphere Studio Homepage Builder Version 6.5.0.0 for Windows"> 7<META http-equiv="Content-Style-Type" content="text/css"> 8<LINK rel="stylesheet" type="text/css" href="../../CSS/revolution.css"> 9<title>GXReadClksPerVtx</title> 10</head> 11 12<body> 13 14<h1 align="left">GXReadClksPerVtx</h1> 15 16 17<h2>C Specification</h2> 18 19<dl> 20<dd><PRE><CODE>#include <revolution/gx.h></CODE></PRE> 21 </dd> 22<dd><pre><CODE>u32 GXReadClksPerVtx( void );</CODE></pre> 23 </dd> 24</dl> 25 26<h2>Arguments</h2> 27 28<p>None</p> 29 30<h2>Return Values</h2> 31 32<p>The clock number for each vertex needed for conversion and writing processes.</p> 33<H2>Description</H2> 34<P>The Graphics Processor (GP) can count many internal events that give detailed information on performance. This function returns the minimum number of clocks the Transform and Lighting Engine (also called the XF) will take to process a vertex. This number is returned from the GP based on the current texture coordinate generation, lighting, and vertex state. Make sure that all such states have been flushed from the GP before calling <a href="GXReadClksPerVtx.html"><code>GXReadClksPerVtx</code></a>. Also, the value returned <em>does not</em> take into account the time required for input or output. In certain configurations, this time may limit the peak geometry rate. The <a href="VertexPerformance.html">Vertex Performance spreadsheet</a> provided <em>does</em> take into account input and output data and so may generate more accurate results.</P> 35<H3>Example</H3> 36<P><code><font size="3">u32 cpv;<br> <br> // Set Draw State</font></code></P> 37<P><code><font size="3">// wait until object drawn<br> GXSetDrawSync(0xbeef);<br> while (0xbeef != GXReadDrawSync())<br> ;<br> <br> cpv = GXReadClksPerVtx(); // returns request counter<br> <br> OSReport("Number of clocks per vtx: %d\n", cpv);</font></code></P> 38<P> </P> 39<P>This function reads CPU-accessible registers in the GP and so should not be called in a display list.</P> 40 41 42 43 44<h2>See Also</h2> 45 46<p><a href="GXReadMemMetric.html">GXReadMemMetric</a><br> <a href="GXReadVCacheMetric.html">GXReadVCacheMetric</a><br> <a href="GXReadPixMetric.html">GXReadPixMetric</a><br> <a href="GXReadGPMetric.html">GXReadGPMetric</a><br> <a href="GXReadGP0Metric.html">GXReadGP0Metric</a><br> <a href="GXReadGP1Metric.html">GXReadGP1Metric</a></p> 47<H2>Revision History</H2> 48<P>03/01/2006 Initial version</P>