From c60c2d3a64a54ff28dd772e51b1848aca6b42316 Mon Sep 17 00:00:00 2001 From: Luca Barbieri Date: Tue, 24 Aug 2010 00:03:28 +0200 Subject: 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 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/gallium/drivers/nvfx') diff --git a/src/gallium/drivers/nvfx/nvfx_push.c b/src/gallium/drivers/nvfx/nvfx_push.c index 49d518e2eb..ffe7e98357 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)); -- cgit v1.2.3