diff options
author | Felix Kuehling <fxkuehl@gmx.de> | 2005-01-20 13:59:49 +0000 |
---|---|---|
committer | Felix Kuehling <fxkuehl@gmx.de> | 2005-01-20 13:59:49 +0000 |
commit | edb9a165c14bd90938340a74a636ac5f65ac4c35 (patch) | |
tree | 990529c998c91f37a9bfb92b6611cb90d6d575c0 /src/mesa/drivers/dri/savage/savageioctl.c | |
parent | ddfa61ee194b9d4ec88d499c71cd6810e7f6a022 (diff) |
Added support for ELTS to the _savage_render_stage. Requires at least
Savage DRM version 2.2.0. Otherwise the render stage is disabled.
Diffstat (limited to 'src/mesa/drivers/dri/savage/savageioctl.c')
-rw-r--r-- | src/mesa/drivers/dri/savage/savageioctl.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/savage/savageioctl.c b/src/mesa/drivers/dri/savage/savageioctl.c index 62e7142d24..27747c3cd8 100644 --- a/src/mesa/drivers/dri/savage/savageioctl.c +++ b/src/mesa/drivers/dri/savage/savageioctl.c @@ -559,6 +559,9 @@ void savageFlushCmdBufLocked( savageContextPtr imesa, GLboolean discard ) drm_savage_cmd_header_t *start; int ret; + /* complete indexed drawing commands */ + savageFlushElts(imesa); + /* If we lost the context we must restore the initial state (at * the start of the command buffer). */ if (imesa->lostContext) { @@ -609,13 +612,15 @@ void savageFlushCmdBufLocked( savageContextPtr imesa, GLboolean discard ) } if (discard) { + assert (!savageHaveIndexedVerts(imesa)); imesa->dmaVtxBuf.total = 0; imesa->dmaVtxBuf.used = 0; imesa->dmaVtxBuf.flushed = 0; } - imesa->clientVtxBuf.used = 0; - imesa->clientVtxBuf.flushed = 0; - + if (!savageHaveIndexedVerts(imesa)) { + imesa->clientVtxBuf.used = 0; + imesa->clientVtxBuf.flushed = 0; + } imesa->cmdBuf.write = imesa->cmdBuf.base; /* Save the current state at the start of the command buffer. That |