<div class="gmail_quote">On Sun, Jun 20, 2010 at 2:37 PM, Tom Morton <span dir="ltr"><<a href="mailto:tomm@riseup.net" target="_blank">tomm@riseup.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi people,<br>
<br>
On the perf/vertexrate test, and on my terrain engine I see big big<br>
performance boosts from this patch (I have no idea what I'm doing but on<br>
my RV515 i see tris/sec go from 8 million to 15 million - kms only):<br>
<br>
diff --git a/src/mesa/drivers/dri/r300/r300_reg.h<br>
b/src/mesa/drivers/dri/r300/r300_reg.h<br>
index ac93563..0093eb5 100644<br>
--- a/src/mesa/drivers/dri/r300/r300_reg.h<br>
+++ b/src/mesa/drivers/dri/r300/r300_reg.h<br>
@@ -170,6 +170,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.<br>
# define R300_VC_32BIT_SWAP (2 << 0)<br>
/* Half-dword swap: 0xAABBCCDD becomes 0xCCDDAABB */<br>
# define R300_VC_HALF_DWORD_SWAP (3 << 0)<br>
+# define R300_VC_FORCE_PREFETCH (1 << 5)<br>
/* The TCL engine will not be used (as it is logically or even<br>
physically removed) */<br>
# define R300_VAP_TCL_BYPASS (1 << 8)<br>
/* Read only flag if TCL engine is busy. */<br>
diff --git a/src/mesa/drivers/dri/r300/r300_render.c<br>
b/src/mesa/drivers/dri/r300/r300_render.c<br>
index bb8f914..5b9983f 100644<br>
--- a/src/mesa/drivers/dri/r300/r300_render.c<br>
+++ b/src/mesa/drivers/dri/r300/r300_render.c<br>
@@ -260,7 +260,7 @@ static void r300EmitAOS(r300ContextPtr rmesa, GLuint<br>
nr, GLuint offset)<br>
<br>
BEGIN_BATCH(sz+2+(nr * 2));<br>
OUT_BATCH_PACKET3(R300_PACKET3_3D_LOAD_VBPNTR, sz - 1);<br>
- OUT_BATCH(nr);<br>
+ OUT_BATCH(nr | R300_VC_FORCE_PREFETCH);<br>
<br>
for (i = 0; i + 1 < nr; i += 2) {<br>
OUT_BATCH((rmesa->radeon.tcl.aos[i].components<br>
<< 0) |<br>
<br>
<br>
<br>
is this a good idea?<br></blockquote><div><br>Yes, but only for non-indexed vertices.<br><br>-Marek<br></div>
</div>