diff options
author | anholt <anholt> | 2003-11-17 05:17:16 +0000 |
---|---|---|
committer | anholt <anholt> | 2003-11-17 05:17:16 +0000 |
commit | f689b6a7e61e01ed996f02070cdea8e35dc52f22 (patch) | |
tree | 66b94e3448ac21909bdd896386d40da86c10a68c | |
parent | d12a4ef208cbba9244a816dc772409b82c9f26ef (diff) |
Switch use of environment variables for debug options to the new configuration
system.
-rw-r--r-- | xc/lib/GL/mesa/src/drv/sis/Imakefile | 4 | ||||
-rw-r--r-- | xc/lib/GL/mesa/src/drv/sis/sis_context.c | 40 | ||||
-rw-r--r-- | xc/lib/GL/mesa/src/drv/sis/sis_context.h | 4 | ||||
-rw-r--r-- | xc/lib/GL/mesa/src/drv/sis/sis_reg.h | 6 | ||||
-rw-r--r-- | xc/lib/GL/mesa/src/drv/sis/sis_screen.c | 3 | ||||
-rw-r--r-- | xc/lib/GL/mesa/src/drv/sis/sis_screen.h | 3 | ||||
-rw-r--r-- | xc/lib/GL/mesa/src/drv/sis/sis_tris.c | 2 |
7 files changed, 46 insertions, 16 deletions
diff --git a/xc/lib/GL/mesa/src/drv/sis/Imakefile b/xc/lib/GL/mesa/src/drv/sis/Imakefile index 2ac5a39fd..83298d327 100644 --- a/xc/lib/GL/mesa/src/drv/sis/Imakefile +++ b/xc/lib/GL/mesa/src/drv/sis/Imakefile @@ -47,7 +47,7 @@ XCOMM DEBUG_DEFINES = -DSIS_DEBUG $(GLXLIBSRC)/dri/drm/xf86drmRandom.o \ $(GLXLIBSRC)/dri/drm/xf86drmSL.o - COMMONOBJS = $(UTILSOBJ) + COMMONOBJS = $(UTILSOBJ) $(XMLCONFIGOBJ) #ifdef GlxSoProf LOSRCS = ../../../../lowpc.c @@ -61,7 +61,7 @@ XCOMM DEBUG_DEFINES = -DSIS_DEBUG OBJS = $(LOOBJS) $(DRIOBJS) $(DRMOBJS) $(COREMESAOBJS) \ $(MESA_ASM_OBJS) $(COMMONOBJS) $(SISOBJS) $(HIOBJS) -REQUIREDLIBS = MathLibrary $(LDPRELIB) $(GLXLIB) $(XONLYLIB) +REQUIREDLIBS = MathLibrary $(LDPRELIB) $(GLXLIB) $(XONLYLIB) $(EXPATLIB) #include <Library.tmpl> diff --git a/xc/lib/GL/mesa/src/drv/sis/sis_context.c b/xc/lib/GL/mesa/src/drv/sis/sis_context.c index b0039215e..0830e5676 100644 --- a/xc/lib/GL/mesa/src/drv/sis/sis_context.c +++ b/xc/lib/GL/mesa/src/drv/sis/sis_context.c @@ -59,6 +59,21 @@ int GlobalCurrentHwcx = -1; int GlobalHwcxCountBase = 1; int GlobalCmdQueueLen = 0; +#include "xmlpool.h" + +const char __driConfigOptions[] = +DRI_CONF_BEGIN + DRI_CONF_SECTION_DEBUG + DRI_CONF_OPT_BEGIN(agp_disable,bool,false) + DRI_CONF_DESC(en,"Disable AGP vertex dispatch") + DRI_CONF_OPT_END + DRI_CONF_OPT_BEGIN(fallback_force,bool,false) + DRI_CONF_DESC(en,"Force software fallback") + DRI_CONF_OPT_END + DRI_CONF_SECTION_END +DRI_CONF_END; +const GLuint __driNConfigOptions = 2; + static const char * const card_extensions[] = { "GL_ARB_multitexture", @@ -177,6 +192,10 @@ sisCreateContext( const __GLcontextModes *glVisual, assert (0); } + /* Parse configuration files */ + driParseConfigFiles (&smesa->optionCache, &sisScreen->optionCache, + sisScreen->driScreen->myNum, "sis"); + /* TODO: index mode */ smesa->CurrentQueueLenPtr = &(smesa->sarea->QueueLength); @@ -188,16 +207,17 @@ sisCreateContext( const __GLcontextModes *glVisual, smesa->AGPAddr = sisScreen->agp.handle; /* set AGP command buffer */ - smesa->AGPCmdModeEnabled = GL_FALSE; - if (smesa->AGPSize != 0 && getenv("SIS_NO_AGP") == NULL) { - if (sisScreen->AGPCmdBufSize != 0) { - smesa->AGPCmdBufBase = smesa->AGPBase + sisScreen->AGPCmdBufOffset; - smesa->AGPCmdBufAddr = smesa->AGPAddr + sisScreen->AGPCmdBufOffset; - smesa->AGPCmdBufSize = sisScreen->AGPCmdBufSize; - - smesa->pAGPCmdBufNext = (GLint *)&(smesa->sarea->AGPCmdBufNext); - smesa->AGPCmdModeEnabled = GL_TRUE; - } + if (smesa->AGPSize != 0 && sisScreen->AGPCmdBufSize != 0 && + !driQueryOptionb(&smesa->optionCache, "agp_disable")) + { + smesa->AGPCmdBufBase = smesa->AGPBase + sisScreen->AGPCmdBufOffset; + smesa->AGPCmdBufAddr = smesa->AGPAddr + sisScreen->AGPCmdBufOffset; + smesa->AGPCmdBufSize = sisScreen->AGPCmdBufSize; + + smesa->pAGPCmdBufNext = (GLint *)&(smesa->sarea->AGPCmdBufNext); + smesa->AGPCmdModeEnabled = GL_TRUE; + } else { + smesa->AGPCmdModeEnabled = GL_FALSE; } smesa->GlobalFlag = 0L; diff --git a/xc/lib/GL/mesa/src/drv/sis/sis_context.h b/xc/lib/GL/mesa/src/drv/sis/sis_context.h index 194962dbe..fb4191a6e 100644 --- a/xc/lib/GL/mesa/src/drv/sis/sis_context.h +++ b/xc/lib/GL/mesa/src/drv/sis/sis_context.h @@ -37,6 +37,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #include "context.h" #include "dri_util.h" +#include "xmlconfig.h" #include "sis_screen.h" #include "sis_common2.h" @@ -362,6 +363,9 @@ struct sis_context sisScreenPtr sisScreen; /* Screen private DRI data */ SISSAREAPrivPtr sarea; /* Private SAREA data */ + + /* Configuration cache */ + driOptionCache optionCache; }; #define SIS_CONTEXT(ctx) ((sisContextPtr)(ctx->DriverCtx)) diff --git a/xc/lib/GL/mesa/src/drv/sis/sis_reg.h b/xc/lib/GL/mesa/src/drv/sis/sis_reg.h index 0fcebf956..378692fc1 100644 --- a/xc/lib/GL/mesa/src/drv/sis/sis_reg.h +++ b/xc/lib/GL/mesa/src/drv/sis/sis_reg.h @@ -529,17 +529,17 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #define FOGMODE_EXP2 0x07000000 /* - * REG_3D_FogStartEnd -- Define Fog Start End Setting (8A34h-8A37h) + * REG_3D_FogStartEnd -- Define Fog Start End Setting (0x8A34 - 0x8A37) */ #define MASK_FogFarDistance 0x0007FFFF /* - * REG_3D_FogStartEnd -- Define Fog End Setting (8A38h-8A3Bh) + * REG_3D_FogStartEnd -- Define Fog End Setting (0x8A38 - 0x8A3B) */ #define MASK_FogInvFarDistance 0x0007FFFF /* - * REG_3D_FogStartEnd -- Define Fog End Setting (0x8A3C - 0x8A3F) + * REG_3D_FogFactorDensity (0x8A3C - 0x8A3F) */ #define MASK_FogDensity 0x0003FFFF #define MASK_FogFactor 0xFF000000 diff --git a/xc/lib/GL/mesa/src/drv/sis/sis_screen.c b/xc/lib/GL/mesa/src/drv/sis/sis_screen.c index 357a6c7a5..a43f2be8c 100644 --- a/xc/lib/GL/mesa/src/drv/sis/sis_screen.c +++ b/xc/lib/GL/mesa/src/drv/sis/sis_screen.c @@ -85,6 +85,9 @@ sisCreateScreen( __DRIscreenPrivate *sPriv ) sisScreen->driScreen = sPriv; + /* parse information in __driConfigOptions */ + driParseOptionInfo(&sisScreen->optionCache); + return sisScreen; } diff --git a/xc/lib/GL/mesa/src/drv/sis/sis_screen.h b/xc/lib/GL/mesa/src/drv/sis/sis_screen.h index 4cc3f8ee1..452278264 100644 --- a/xc/lib/GL/mesa/src/drv/sis/sis_screen.h +++ b/xc/lib/GL/mesa/src/drv/sis/sis_screen.h @@ -54,6 +54,9 @@ typedef struct { __DRIscreenPrivate *driScreen; unsigned int sarea_priv_offset; + /* Configuration cache with default values for all contexts */ + driOptionCache optionCache; + } sisScreenRec, *sisScreenPtr; #endif diff --git a/xc/lib/GL/mesa/src/drv/sis/sis_tris.c b/xc/lib/GL/mesa/src/drv/sis/sis_tris.c index c63d924de..4877e3465 100644 --- a/xc/lib/GL/mesa/src/drv/sis/sis_tris.c +++ b/xc/lib/GL/mesa/src/drv/sis/sis_tris.c @@ -943,7 +943,7 @@ void sisInitTriFuncs( GLcontext *ctx ) tnl->Driver.Render.BuildVertices = sisBuildVertices; tnl->Driver.Render.Multipass = NULL; - if (getenv("SIS_FORCE_FALLBACK") != NULL) + if (driQueryOptionb(&smesa->optionCache, "fallback_force")) sisFallback(ctx, SIS_FALLBACK_FORCE, 1); else sisFallback(ctx, SIS_FALLBACK_FORCE, 0); |