[Nouveau] [PATCH] nouveau/gallium: use OUT_RINGp instead of several OUT_RINGs

Marcin Slusarz marcin.slusarz at gmail.com
Tue Feb 22 09:53:57 PST 2011


It improves Warsow FPS by ~1.5%
---
 src/gallium/drivers/nv50/nv50_push.c |   18 +++---------------
 1 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_push.c b/src/gallium/drivers/nv50/nv50_push.c
index 380f694..bb429f2 100644
--- a/src/gallium/drivers/nv50/nv50_push.c
+++ b/src/gallium/drivers/nv50/nv50_push.c
@@ -40,31 +40,19 @@ emit_b32_1(struct nouveau_channel *chan, void *data)
 static void
 emit_b32_2(struct nouveau_channel *chan, void *data)
 {
-   uint32_t *v = data;
-
-   OUT_RING(chan, v[0]);
-   OUT_RING(chan, v[1]);
+   OUT_RINGp(chan, data, 2);
 }
 
 static void
 emit_b32_3(struct nouveau_channel *chan, void *data)
 {
-   uint32_t *v = data;
-
-   OUT_RING(chan, v[0]);
-   OUT_RING(chan, v[1]);
-   OUT_RING(chan, v[2]);
+   OUT_RINGp(chan, data, 3);
 }
 
 static void
 emit_b32_4(struct nouveau_channel *chan, void *data)
 {
-   uint32_t *v = data;
-
-   OUT_RING(chan, v[0]);
-   OUT_RING(chan, v[1]);
-   OUT_RING(chan, v[2]);
-   OUT_RING(chan, v[3]);
+   OUT_RINGp(chan, data, 4);
 }
 
 static void
-- 
1.7.4.rc3



More information about the Nouveau mailing list