summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/savage/savage_xmesa.c
diff options
context:
space:
mode:
authorFelix Kuehling <fxkuehl@gmx.de>2005-01-20 15:18:10 +0000
committerFelix Kuehling <fxkuehl@gmx.de>2005-01-20 15:18:10 +0000
commit677d1d07c41050e7474f44c592641b14ffd73e8c (patch)
tree1ce84c0492d66c728482c3948b3197852b96f341 /src/mesa/drivers/dri/savage/savage_xmesa.c
parent14dee36fa78dc309919dd81ae37d0e8d13773104 (diff)
* Added options for disabling the fast path (render stage) and vertex DMA
* Fixed disabling of the render stage * Added debug output for per-primitive fallbacks * Bumped driver date
Diffstat (limited to 'src/mesa/drivers/dri/savage/savage_xmesa.c')
-rw-r--r--src/mesa/drivers/dri/savage/savage_xmesa.c26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/savage/savage_xmesa.c b/src/mesa/drivers/dri/savage/savage_xmesa.c
index 742c6e89a9..34f334817c 100644
--- a/src/mesa/drivers/dri/savage/savage_xmesa.c
+++ b/src/mesa/drivers/dri/savage/savage_xmesa.c
@@ -57,6 +57,19 @@
#include "xmlpool.h"
+/* Driver-specific options
+ */
+#define SAVAGE_ENABLE_VDMA(def) \
+DRI_CONF_OPT_BEGIN(enable_vdma,bool,def) \
+ DRI_CONF_DESC(en,"Use DMA for vertex transfers") \
+ DRI_CONF_DESC(de,"Benutze DMA für Vertextransfers") \
+DRI_CONF_OPT_END
+#define SAVAGE_ENABLE_FASTPATH(def) \
+DRI_CONF_OPT_BEGIN(enable_fastpath,bool,def) \
+ DRI_CONF_DESC(en,"Use fast path for unclipped primitives") \
+ DRI_CONF_DESC(de,"Schneller Codepfad für ungeschnittene Polygone") \
+DRI_CONF_OPT_END
+
/* Configuration
*/
PUBLIC const char __driConfigOptions[] =
@@ -68,12 +81,14 @@ DRI_CONF_BEGIN
DRI_CONF_SECTION_END
DRI_CONF_SECTION_PERFORMANCE
DRI_CONF_MAX_TEXTURE_UNITS(2,1,2)
+ SAVAGE_ENABLE_VDMA(true)
+ SAVAGE_ENABLE_FASTPATH(true)
DRI_CONF_SECTION_END
DRI_CONF_SECTION_DEBUG
DRI_CONF_NO_RAST(false)
DRI_CONF_SECTION_END
DRI_CONF_END;
-static const GLuint __driNConfigOptions = 5;
+static const GLuint __driNConfigOptions = 7;
#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
@@ -470,13 +485,15 @@ savageCreateContext( const __GLcontextModes *mesaVis,
/* DRM versions before 2.1.3 would only render triangle lists. ELTS
* support was added in 2.2.0. */
if (sPriv->drmMinor < 2) {
- _savage_render_stage.active = GL_FALSE;
+ imesa->enable_fastpath = GL_FALSE;
fprintf (stderr,
"*** Disabling fast path because your DRM version is buggy "
"or doesn't\n*** support ELTS. You need at least Savage DRM "
"version 2.2.\n");
- }
-
+ } else
+ imesa->enable_fastpath = driQueryOptionb(&imesa->optionCache,
+ "enable_fastpath");
+ imesa->enable_vdma = driQueryOptionb(&imesa->optionCache, "enable_vdma");
/* Configure swrast to match hardware characteristics:
*/
@@ -520,6 +537,7 @@ savageDestroyContext(__DRIcontextPrivate *driContextPriv)
savageFlushVertices(imesa);
savageReleaseIndexedVerts(imesa);
savageFlushCmdBuf(imesa, GL_TRUE); /* release DMA buffer */
+ WAIT_IDLE_EMPTY;
/* update for multi-tex*/
{