summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/savage/savageioctl.c
diff options
context:
space:
mode:
authorFelix Kuehling <fxkuehl@gmx.de>2005-03-06 01:28:30 +0000
committerFelix Kuehling <fxkuehl@gmx.de>2005-03-06 01:28:30 +0000
commite6aa21156ace5bea0a8bcc8c58aceacb748e2627 (patch)
treebcccc053a7c90d208c71d2373e4d8ed9d34704ad /src/mesa/drivers/dri/savage/savageioctl.c
parenta30402b56a979a865d445c8bca2ccdfad1a3a114 (diff)
- Fixed two bugs related to DMA buffer handling that showed up with the
new DRM version 2.4 and command DMA. - Flush less. - Bumped the driver date.
Diffstat (limited to 'src/mesa/drivers/dri/savage/savageioctl.c')
-rw-r--r--src/mesa/drivers/dri/savage/savageioctl.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/mesa/drivers/dri/savage/savageioctl.c b/src/mesa/drivers/dri/savage/savageioctl.c
index 3c93255361..5399963cb9 100644
--- a/src/mesa/drivers/dri/savage/savageioctl.c
+++ b/src/mesa/drivers/dri/savage/savageioctl.c
@@ -57,6 +57,8 @@ void savageGetDMABuffer( savageContextPtr imesa )
int retcode;
drmBufPtr buf;
+ assert (imesa->savageScreen->bufs);
+
if (SAVAGE_DEBUG & DEBUG_DMA)
fprintf(stderr, "Getting dma buffer\n");
@@ -422,10 +424,9 @@ static void savageDDClear( GLcontext *ctx, GLbitfield mask, GLboolean all,
}
-/* This is necessary as to prevent annyoing stuttering effects with
- * some games, though it does reduce the frame rate (glxgears)
- * slightly. I believe this is due to texture uploads which do not go
- * through the Savage command pipeline yet. */
+/* This is necessary to avoid very jerky animation on my ProSavageDDR.
+ * Seems to work fine on other Savages though. Make this configurable!
+ */
#define SYNC_FRAMES 1
/*
@@ -530,13 +531,6 @@ void savageFlushVertices( savageContextPtr imesa )
cmd->prim.start = buffer->flushed / imesa->HwVertexSize;
cmd->prim.count = buffer->used / imesa->HwVertexSize - cmd->prim.start;
buffer->flushed = buffer->used;
- /* Make sure we don't buffer too many vertices without
- * telling the hardware. */
- imesa->vertsPending += cmd->prim.count;
- if (imesa->vertsPending > SAVAGE_MAX_VERTS_PENDING) {
- savageFlushCmdBuf(imesa, GL_FALSE);
- imesa->vertsPending = 0;
- }
}
}