From 4e713913fb88bc221eea1a18822cc782ca39af4d Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 20 Jan 2004 15:24:50 +0000 Subject: Undo some bits from last check-in related to the ctx->Driver.NewTextureObject functions. Don't allocate the driver-specific data during texture object creation but do it later as needed (as code originally was). --- src/mesa/drivers/dri/ffb/ffb_state.c | 26 ++------------------------ src/mesa/drivers/dri/ffb/ffb_tex.c | 14 +++++++------- src/mesa/drivers/dri/ffb/ffb_xmesa.c | 12 ++++++++++-- 3 files changed, 19 insertions(+), 33 deletions(-) (limited to 'src/mesa/drivers/dri/ffb') diff --git a/src/mesa/drivers/dri/ffb/ffb_state.c b/src/mesa/drivers/dri/ffb/ffb_state.c index 5a56c945ca..ac753b922a 100644 --- a/src/mesa/drivers/dri/ffb/ffb_state.c +++ b/src/mesa/drivers/dri/ffb/ffb_state.c @@ -1061,7 +1061,6 @@ void ffbDDInitStateFuncs(GLcontext *ctx) ctx->Driver.UpdateState = ffbDDUpdateState; ctx->Driver.Enable = ffbDDEnable; - ctx->Driver.LightModelfv = NULL; ctx->Driver.AlphaFunc = ffbDDAlphaFunc; ctx->Driver.BlendEquation = ffbDDBlendEquation; ctx->Driver.BlendFunc = ffbDDBlendFunc; @@ -1072,8 +1071,6 @@ void ffbDDInitStateFuncs(GLcontext *ctx) ctx->Driver.LineStipple = ffbDDLineStipple; ctx->Driver.PolygonStipple = ffbDDPolygonStipple; ctx->Driver.Scissor = ffbDDScissor; - ctx->Driver.CullFace = NULL; - ctx->Driver.FrontFace = NULL; ctx->Driver.ColorMask = ffbDDColorMask; ctx->Driver.LogicOpcode = ffbDDLogicOp; ctx->Driver.Viewport = ffbDDViewport; @@ -1083,10 +1080,6 @@ void ffbDDInitStateFuncs(GLcontext *ctx) ctx->Driver.StencilFunc = ffbDDStencilFunc; ctx->Driver.StencilMask = ffbDDStencilMask; ctx->Driver.StencilOp = ffbDDStencilOp; - } else { - ctx->Driver.StencilFunc = NULL; - ctx->Driver.StencilMask = NULL; - ctx->Driver.StencilOp = NULL; } ctx->Driver.DrawBuffer = ffbDDDrawBuffer; @@ -1096,25 +1089,10 @@ void ffbDDInitStateFuncs(GLcontext *ctx) ctx->Driver.ClearStencil = ffbDDClearStencil; /* We will support color index modes later... -DaveM */ + /* ctx->Driver.ClearIndex = 0; ctx->Driver.IndexMask = 0; - - - - /* Pixel path fallbacks. - */ - ctx->Driver.Accum = _swrast_Accum; - ctx->Driver.CopyPixels = _swrast_CopyPixels; - ctx->Driver.DrawPixels = _swrast_DrawPixels; - ctx->Driver.ReadPixels = _swrast_ReadPixels; - ctx->Driver.ResizeBuffers = _swrast_alloc_buffers; - - /* Swrast hooks for imaging extensions: - */ - ctx->Driver.CopyColorTable = _swrast_CopyColorTable; - ctx->Driver.CopyColorSubTable = _swrast_CopyColorSubTable; - ctx->Driver.CopyConvolutionFilter1D = _swrast_CopyConvolutionFilter1D; - ctx->Driver.CopyConvolutionFilter2D = _swrast_CopyConvolutionFilter2D; + */ { struct swrast_device_driver *swdd = diff --git a/src/mesa/drivers/dri/ffb/ffb_tex.c b/src/mesa/drivers/dri/ffb/ffb_tex.c index 4fe5dea96a..24d7fe3cd2 100644 --- a/src/mesa/drivers/dri/ffb/ffb_tex.c +++ b/src/mesa/drivers/dri/ffb/ffb_tex.c @@ -25,17 +25,16 @@ * David S. Miller */ -#include -#include "texformat.h" -#include "texstore.h" -#include "teximage.h" -#include "swrast/swrast.h" - -#include "ffb_tex.h" +#include "glheader.h" +#include "mtypes.h" /* No texture unit, all software. */ +/* XXX this function isn't needed since _mesa_init_driver_functions() + * will make all these assignments. + */ void ffbDDInitTexFuncs(GLcontext *ctx) { + /* ctx->Driver.ChooseTextureFormat = _mesa_choose_tex_format; ctx->Driver.TexImage1D = _mesa_store_teximage1d; ctx->Driver.TexImage2D = _mesa_store_teximage2d; @@ -49,4 +48,5 @@ void ffbDDInitTexFuncs(GLcontext *ctx) ctx->Driver.CopyTexSubImage2D = _swrast_copy_texsubimage2d; ctx->Driver.CopyTexSubImage3D = _swrast_copy_texsubimage3d; ctx->Driver.TestProxyTexImage = _mesa_test_proxy_teximage; + */ } diff --git a/src/mesa/drivers/dri/ffb/ffb_xmesa.c b/src/mesa/drivers/dri/ffb/ffb_xmesa.c index caca9d4384..0d7a2fda20 100644 --- a/src/mesa/drivers/dri/ffb/ffb_xmesa.c +++ b/src/mesa/drivers/dri/ffb/ffb_xmesa.c @@ -38,6 +38,7 @@ #include "tnl/tnl.h" #include "tnl/t_pipeline.h" #include "array_cache/acache.h" +#include "drivers/common/driverfuncs.h" #include "ffb_context.h" #include "ffb_dd.h" @@ -178,18 +179,22 @@ ffbCreateContext(const __GLcontextModes *mesaVis, __DRIscreenPrivate *sPriv; ffbScreenPrivate *ffbScreen; char *debug; + struct dd_function_table functions; /* Allocate ffb context */ fmesa = (ffbContextPtr) CALLOC(sizeof(ffbContextRec)); if (!fmesa) return GL_FALSE; + _mesa_init_driver_functions(&functions); + /* Allocate Mesa context */ if (sharedContextPrivate) shareCtx = ((ffbContextPtr) sharedContextPrivate)->glCtx; else shareCtx = NULL; - fmesa->glCtx = _mesa_create_context(mesaVis, shareCtx, fmesa, GL_TRUE); + fmesa->glCtx = _mesa_create_context(mesaVis, shareCtx, + &functions, fmesa); if (!fmesa->glCtx) { FREE(fmesa); return GL_FALSE; @@ -265,6 +270,9 @@ ffbCreateContext(const __GLcontextModes *mesaVis, _swsetup_CreateContext( ctx ); /* All of this need only be done once for a new context. */ + /* XXX these should be moved right after the + * _mesa_init_driver_functions() call above. + */ ffbDDExtensionsInit(ctx); ffbDDInitDriverFuncs(ctx); ffbDDInitStateFuncs(ctx); @@ -272,7 +280,7 @@ ffbCreateContext(const __GLcontextModes *mesaVis, ffbDDInitDepthFuncs(ctx); ffbDDInitStencilFuncs(ctx); ffbDDInitRenderFuncs(ctx); - ffbDDInitTexFuncs(ctx); + /*ffbDDInitTexFuncs(ctx); not needed */ ffbDDInitBitmapFuncs(ctx); ffbInitVB(ctx); -- cgit v1.2.3