summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2009-03-25 22:00:52 +0000
committerMartin Jansa <Martin.Jansa@gmail.com>2010-02-18 15:39:21 +0100
commitc52b15688c71ccb04e75ff2d351cb7db424d0688 (patch)
tree7dad771ef25be37e4118208d65434a58d445ea7c
parent013b2daf84322703a8270491a8eaa8697aaf643f (diff)
Add state hooks
-rw-r--r--src/mesa/drivers/dri/glamo/Makefile2
-rw-r--r--src/mesa/drivers/dri/glamo/glamo_context.c21
-rw-r--r--src/mesa/drivers/dri/glamo/glamo_state.c67
-rw-r--r--src/mesa/drivers/dri/glamo/glamo_state.h34
4 files changed, 114 insertions, 10 deletions
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 <taw@bitwiz.org.uk>
+ * 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 <taw@bitwiz.org.uk>
+ * 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; */