From 677d1d07c41050e7474f44c592641b14ffd73e8c Mon Sep 17 00:00:00 2001 From: Felix Kuehling Date: Thu, 20 Jan 2005 15:18:10 +0000 Subject: * 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 --- src/mesa/drivers/dri/savage/savage_xmesa.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'src/mesa/drivers/dri/savage/savage_xmesa.c') 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*/ { -- cgit v1.2.3