Mesa (master): nvfx: don't emit dummy commands on nv30

Luca Barbieri lb at kemper.freedesktop.org
Mon Aug 23 22:05:30 UTC 2010


Module: Mesa
Branch: master
Commit: c60c2d3a64a54ff28dd772e51b1848aca6b42316
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c60c2d3a64a54ff28dd772e51b1848aca6b42316

Author: Luca Barbieri <luca at luca-barbieri.com>
Date:   Tue Aug 24 00:03:28 2010 +0200

nvfx: don't emit dummy commands on nv30

Should fix errors on the original nv30, reported by pmdata.

---

 src/gallium/drivers/nvfx/nvfx_push.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/nvfx/nvfx_push.c b/src/gallium/drivers/nvfx/nvfx_push.c
index 49d518e..ffe7e98 100644
--- a/src/gallium/drivers/nvfx/nvfx_push.c
+++ b/src/gallium/drivers/nvfx/nvfx_push.c
@@ -368,11 +368,15 @@ nvfx_push_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
 			if(max_verts >= 16)
 			{
 				/* XXX: any command a lot of times seems to (mostly) fix corruption that would otherwise happen */
-				int i;
-				for(i = 0; i < 32; ++i)
+				/* this seems to cause issues on nv3x, and also be unneeded there */
+				if(nvfx->is_nv4x)
 				{
-					OUT_RING(chan, RING_3D(0x1dac, 1));
-					OUT_RING(chan, 0);
+					int i;
+					for(i = 0; i < 32; ++i)
+					{
+						OUT_RING(chan, RING_3D(0x1dac, 1));
+						OUT_RING(chan, 0);
+					}
 				}
 
 				OUT_RING(chan, RING_3D(NV34TCL_VERTEX_BEGIN_END, 1));




More information about the mesa-commit mailing list