summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvfx
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-08-24 00:03:28 +0200
committerLuca Barbieri <luca@luca-barbieri.com>2010-08-24 00:05:27 +0200
commitc60c2d3a64a54ff28dd772e51b1848aca6b42316 (patch)
treedb5775f696376c047b507369394cd70becb1aa9e /src/gallium/drivers/nvfx
parente11757bb896e3dadc54fb3d18adf4b71e3e883b3 (diff)
nvfx: don't emit dummy commands on nv30
Should fix errors on the original nv30, reported by pmdata.
Diffstat (limited to 'src/gallium/drivers/nvfx')
-rw-r--r--src/gallium/drivers/nvfx/nvfx_push.c12
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 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));