From 1679b412cf7abdd667e8a06e8826fc61b1cf2af4 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Wed, 25 Mar 2009 22:00:52 +0000 Subject: Add state hooks --- src/mesa/drivers/dri/glamo/Makefile | 2 +- src/mesa/drivers/dri/glamo/glamo_context.c | 21 ++++++---- src/mesa/drivers/dri/glamo/glamo_state.c | 67 ++++++++++++++++++++++++++++++ src/mesa/drivers/dri/glamo/glamo_state.h | 34 +++++++++++++++ 4 files changed, 114 insertions(+), 10 deletions(-) create mode 100644 src/mesa/drivers/dri/glamo/glamo_state.c create mode 100644 src/mesa/drivers/dri/glamo/glamo_state.h (limited to 'src') diff --git a/src/mesa/drivers/dri/glamo/Makefile b/src/mesa/drivers/dri/glamo/Makefile index e72577198a..4750d908c8 100644 --- a/src/mesa/drivers/dri/glamo/Makefile +++ b/src/mesa/drivers/dri/glamo/Makefile @@ -6,7 +6,7 @@ include $(TOP)/configs/current LIBNAME = glamo_dri.so DRIVER_SOURCES = \ - glamo_screen.c glamo_context.c + glamo_screen.c glamo_context.c glamo_state.c C_SOURCES = \ $(COMMON_SOURCES) \ diff --git a/src/mesa/drivers/dri/glamo/glamo_context.c b/src/mesa/drivers/dri/glamo/glamo_context.c index 627f8f56a0..5c97f8b510 100644 --- a/src/mesa/drivers/dri/glamo/glamo_context.c +++ b/src/mesa/drivers/dri/glamo/glamo_context.c @@ -34,6 +34,7 @@ #include "glamo_context.h" #include "glamo_screen.h" +#include "glamo_state.h" GLboolean glamoCreateContext(const __GLcontextModes *glVisual, @@ -77,15 +78,17 @@ GLboolean glamoCreateContext(const __GLcontextModes *glVisual, glamoScreen->driScreen->myNum, "glamo"); /* Initialize the software rasterizer and helper modules. */ - _swrast_CreateContext( ctx ); - _vbo_CreateContext( ctx ); - _tnl_CreateContext( ctx ); - _swsetup_CreateContext( ctx ); - - _swrast_allow_pixel_fog( ctx, GL_TRUE ); - _swrast_allow_vertex_fog( ctx, GL_FALSE ); - _tnl_allow_pixel_fog( ctx, GL_TRUE ); - _tnl_allow_vertex_fog( ctx, GL_FALSE ); + _swrast_CreateContext(ctx); + _vbo_CreateContext(ctx); + _tnl_CreateContext(ctx); + _swsetup_CreateContext(ctx); + + _swrast_allow_pixel_fog(ctx, GL_TRUE); + _swrast_allow_vertex_fog(ctx, GL_FALSE); + _tnl_allow_pixel_fog(ctx, GL_TRUE); + _tnl_allow_vertex_fog(ctx, GL_FALSE); + + glamoInitStateFuncs(ctx); return GL_TRUE; } diff --git a/src/mesa/drivers/dri/glamo/glamo_state.c b/src/mesa/drivers/dri/glamo/glamo_state.c new file mode 100644 index 0000000000..0abd6523fb --- /dev/null +++ b/src/mesa/drivers/dri/glamo/glamo_state.c @@ -0,0 +1,67 @@ +/* + * Direct Rendering Support for SMedia Glamo 336x/337x + * + * (c) 2009 Thomas White + * Roughly based on sis_state.c (c) 2003 Eric Anholt + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + +#include "context.h" + + +void glamoClear(GLcontext *ctx, GLbitfield mask) +{ + printf("glamoClear\n"); +} + + +void glamoInitStateFuncs(GLcontext *ctx) +{ + ctx->Driver.UpdateState = NULL;//sisDDInvalidateState; + ctx->Driver.Clear = glamoClear; + ctx->Driver.ClearColor = NULL;//sisDDClearColor; + ctx->Driver.ClearDepth = NULL;//sisDDClearDepth; + ctx->Driver.ClearStencil = NULL;//sisDDClearStencil; + ctx->Driver.AlphaFunc = NULL;//sisDDAlphaFunc; + ctx->Driver.BlendFuncSeparate = NULL;//sisDDBlendFuncSeparate; + ctx->Driver.ColorMask = NULL;//sisDDColorMask; + ctx->Driver.CullFace = NULL;//sisDDCullFace; + ctx->Driver.DepthMask = NULL;//sisDDDepthMask; + ctx->Driver.DepthFunc = NULL;//sisDDDepthFunc; + ctx->Driver.DepthRange = NULL;//sisDDDepthRange; + ctx->Driver.DrawBuffer = NULL;//sisDDDrawBuffer; + ctx->Driver.Enable = NULL;//sisDDEnable; + ctx->Driver.FrontFace = NULL;//sisDDFrontFace; + ctx->Driver.Fogfv = NULL;//sisDDFogfv; + ctx->Driver.Hint = NULL; + ctx->Driver.Lightfv = NULL; + ctx->Driver.LogicOpcode = NULL;//sisDDLogicOpCode; + ctx->Driver.PolygonMode = NULL; + ctx->Driver.PolygonStipple = NULL; + ctx->Driver.ReadBuffer = NULL; + ctx->Driver.RenderMode = NULL; + ctx->Driver.Scissor = NULL;//sisDDScissor; + ctx->Driver.ShadeModel = NULL;//sisDDShadeModel; + ctx->Driver.LightModelfv = NULL;//sisDDLightModelfv; + ctx->Driver.Viewport = NULL;//sisDDViewport; + ctx->Driver.ResizeBuffers = NULL;//sisReAllocateBuffers; +} + +/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ diff --git a/src/mesa/drivers/dri/glamo/glamo_state.h b/src/mesa/drivers/dri/glamo/glamo_state.h new file mode 100644 index 0000000000..09a34f5662 --- /dev/null +++ b/src/mesa/drivers/dri/glamo/glamo_state.h @@ -0,0 +1,34 @@ +/* + * Direct Rendering Support for SMedia Glamo 336x/337x + * + * (c) 2009 Thomas White + * Roughly based on sis_state.h (c) 2003 Eric Anholt + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef __GLAMO_STATE_H +#define __GLAMO_STATE_H + +#include "context.h" + +extern void glamoInitStateFuncs(GLcontext *ctx); + +#endif /* __GLAMO_STATE_H */ + +/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ -- cgit v1.2.3