summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/ggi/default/stubs.c
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2010-03-15 15:24:38 -0400
committerZack Rusin <[email protected]>2010-03-15 15:24:38 -0400
commit275c4bd3643d773210780cb8d578ca84f2604684 (patch)
tree8266edc39d4253ac0f2a0ecd41f560f3d815bb5c /src/mesa/drivers/ggi/default/stubs.c
parentc5c5cd7132e18f4aad8e73d8ee879f8823c4c1e7 (diff)
parentd0b35352ed27b1e66785c45ee95a352ed06b47ce (diff)
Merge remote branch 'origin/master' into gallium_draw_llvm
Diffstat (limited to 'src/mesa/drivers/ggi/default/stubs.c')
-rw-r--r--src/mesa/drivers/ggi/default/stubs.c512
1 files changed, 0 insertions, 512 deletions
diff --git a/src/mesa/drivers/ggi/default/stubs.c b/src/mesa/drivers/ggi/default/stubs.c
deleted file mode 100644
index 62722972b2a..00000000000
--- a/src/mesa/drivers/ggi/default/stubs.c
+++ /dev/null
@@ -1,512 +0,0 @@
-/* GGI-Driver for MESA
- *
- * Copyright (C) 1997 Uwe Maurer
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- * ---------------------------------------------------------------------
- * This code was derived from the following source of information:
- *
- * svgamesa.c and ddsample.c by Brian Paul
- *
- */
-
-#include <stdio.h>
-
-#include <ggi/internal/ggi-dl.h>
-#include <ggi/mesa/ggimesa_int.h>
-#include <ggi/mesa/debug.h>
-
-#include "swrast/swrast.h"
-//#include "swrast_setup/swrast_setup.h"
-//#include "swrast/s_context.h"
-//#include "swrast/s_depth.h"
-//#include "swrast/s_triangle.h"
-
-#define FLIP(coord) (LIBGGI_MODE(ggi_ctx->ggi_visual)->visible.y-(coord)-1)
-
-/**********************************************************************/
-/***** Write spans of pixels *****/
-/**********************************************************************/
-
-void GGIwrite_ci32_span(const GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- const GLuint ci[],
- const GLubyte mask[] )
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- y = FLIP(y);
- if (mask)
- {
- while (n--) {
- if (*mask++)
- ggiPutPixel(ggi_ctx->ggi_visual, x, y, *ci);
- x++;
- ci++;
- }
- }
- else
- {
- while (n--)
- ggiPutPixel(ggi_ctx->ggi_visual, x++, y, *ci++);
- }
-}
-
-void GGIwrite_ci8_span(const GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- const GLubyte ci[],
- const GLubyte mask[] )
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- y = FLIP(y);
- if (mask)
- {
- while (n--) {
- if (*mask++)
- ggiPutPixel(ggi_ctx->ggi_visual, x, y, *ci);
- x++;
- ci++;
- }
- }
- else
- {
- while (n--)
- ggiPutPixel(ggi_ctx->ggi_visual, x++, y, *ci++);
- }
-}
-
-void GGIwrite_mono_ci_span(const GLcontext *ctx, GLuint n, GLint x, GLint y,
- const GLuint ci, const GLubyte mask[])
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- y = FLIP(y);
- if (mask)
- {
- while (n--) {
- if (*mask++)
- ggiPutPixel(ggi_ctx->ggi_visual, x, y, ci);
- x++;
- }
- }
- else
- {
- while (n--)
- ggiPutPixel(ggi_ctx->ggi_visual, x++, y, ci);
- }
-}
-
-void GGIwrite_mono_rgba_span(const GLcontext *ctx, GLuint n, GLint x, GLint y,
- const GLchan rgba[4], const GLubyte mask[])
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- ggi_color rgb;
- ggi_pixel col;
-
- y = FLIP(y);
-
- rgb.r = (uint16)(rgba[RCOMP]) << SHIFT;
- rgb.g = (uint16)(rgba[GCOMP]) << SHIFT;
- rgb.b = (uint16)(rgba[BCOMP]) << SHIFT;
- col = ggiMapColor(ggi_ctx->ggi_visual, &rgb);
-
- if (mask)
- {
- while (n--) {
- if (*mask++)
- ggiPutPixel(ggi_ctx->ggi_visual, x, y, col);
- x++;
- }
- }
- else
- {
- ggiDrawHLine(ggi_ctx->ggi_visual, x, y, n);
- }
-}
-
-void GGIwrite_rgba_span( const GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- const GLubyte rgba[][4],
- const GLubyte mask[])
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- ggi_color rgb;
- ggi_pixel col;
- y = FLIP(y);
-
- if (mask)
- {
- while (n--) {
- if (*mask++)
- {
- rgb.r = (uint16)(rgba[0][RCOMP]) << SHIFT;
- rgb.g = (uint16)(rgba[0][GCOMP]) << SHIFT;
- rgb.b = (uint16)(rgba[0][BCOMP]) << SHIFT;
- col = ggiMapColor(ggi_ctx->ggi_visual, &rgb);
- ggiPutPixel(ggi_ctx->ggi_visual, x, y, col);
- }
- x++;
- rgba++;
- }
- }
- else
- {
- while (n--)
- {
- rgb.r = (uint16)(rgba[0][RCOMP]) << SHIFT;
- rgb.g = (uint16)(rgba[0][GCOMP]) << SHIFT;
- rgb.b = (uint16)(rgba[0][BCOMP]) << SHIFT;
- col = ggiMapColor(ggi_ctx->ggi_visual, &rgb);
- ggiPutPixel(ggi_ctx->ggi_visual, x++, y, col);
- rgba++;
- }
- }
-}
-
-void GGIwrite_rgb_span( const GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- const GLubyte rgba[][3],
- const GLubyte mask[] )
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- ggi_color rgb;
- ggi_pixel col;
- y = FLIP(y);
-
- if (mask)
- {
- while (n--) {
- if (*mask++)
- {
- rgb.r = (uint16)(rgba[0][RCOMP]) << SHIFT;
- rgb.g = (uint16)(rgba[0][GCOMP]) << SHIFT;
- rgb.b = (uint16)(rgba[0][BCOMP]) << SHIFT;
- col = ggiMapColor(ggi_ctx->ggi_visual, &rgb);
- ggiPutPixel(ggi_ctx->ggi_visual, x, y, col);
- }
- x++;
- rgba++;
- }
- }
- else
- {
- while (n--)
- {
- rgb.r = (uint16)(rgba[0][RCOMP]) << SHIFT;
- rgb.g = (uint16)(rgba[0][GCOMP]) << SHIFT;
- rgb.b = (uint16)(rgba[0][BCOMP]) << SHIFT;
- col = ggiMapColor(ggi_ctx->ggi_visual, &rgb);
- ggiPutPixel(ggi_ctx->ggi_visual, x++, y, col);
- rgba++;
- }
- }
-}
-
-
-
-/**********************************************************************/
-/***** Read spans of pixels *****/
-/**********************************************************************/
-
-
-void GGIread_ci32_span( const GLcontext *ctx,
- GLuint n, GLint x, GLint y, GLuint ci[])
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- y = FLIP(y);
- while (n--)
- ggiGetPixel(ggi_ctx->ggi_visual, x++, y, ci++);
-}
-
-void GGIread_rgba_span( const GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- GLubyte rgba[][4])
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- ggi_color rgb;
- ggi_pixel col;
-
- y = FLIP(y);
-
- while (n--)
- {
- ggiGetPixel(ggi_ctx->ggi_visual, x++, y, &col);
- ggiUnmapPixel(ggi_ctx->ggi_visual, col, &rgb);
- rgba[0][RCOMP] = (GLubyte) (rgb.r >> SHIFT);
- rgba[0][GCOMP] = (GLubyte) (rgb.g >> SHIFT);
- rgba[0][BCOMP] = (GLubyte) (rgb.b >> SHIFT);
- rgba[0][ACOMP] = 0;
- rgba++;
- }
-}
-
-/**********************************************************************/
-/***** Write arrays of pixels *****/
-/**********************************************************************/
-
-void GGIwrite_ci32_pixels( const GLcontext *ctx,
- GLuint n, const GLint x[], const GLint y[],
- const GLuint ci[], const GLubyte mask[] )
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- while (n--) {
- if (*mask++)
- ggiPutPixel(ggi_ctx->ggi_visual, *x, FLIP(*y), *ci);
- ci++;
- x++;
- y++;
- }
-}
-
-void GGIwrite_mono_ci_pixels(const GLcontext *ctx,
- GLuint n, const GLint x[], const GLint y[],
- GLuint ci, const GLubyte mask[])
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- while (n--) {
- if (*mask++)
- ggiPutPixel(ggi_ctx->ggi_visual, *x, FLIP(*y), ci);
- x++;
- y++;
- }
-}
-
-void GGIwrite_rgba_pixels( const GLcontext *ctx,
- GLuint n, const GLint x[], const GLint y[],
- const GLubyte rgba[][4],
- const GLubyte mask[] )
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- ggi_pixel col;
- ggi_color rgb;
- while (n--) {
- if (*mask++) {
- rgb.r = (uint16)(rgba[0][RCOMP]) << SHIFT;
- rgb.g = (uint16)(rgba[0][GCOMP]) << SHIFT;
- rgb.b = (uint16)(rgba[0][BCOMP]) << SHIFT;
- col = ggiMapColor(ggi_ctx->ggi_visual, &rgb);
- ggiPutPixel(ggi_ctx->ggi_visual, *x, FLIP(*y), col);
- }
- x++;
- y++;
- rgba++;
- }
-}
-
-void GGIwrite_mono_rgba_pixels(const GLcontext *ctx,
- GLuint n, const GLint x[], const GLint y[],
- const GLchan rgba[4], const GLubyte mask[])
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- ggi_color rgb;
- ggi_pixel col;
-
- rgb.r = (uint16)(rgba[RCOMP]) << SHIFT;
- rgb.g = (uint16)(rgba[GCOMP]) << SHIFT;
- rgb.b = (uint16)(rgba[BCOMP]) << SHIFT;
- col = ggiMapColor(ggi_ctx->ggi_visual, &rgb);
-
- while (n--) {
- if (*mask++)
- ggiPutPixel(ggi_ctx->ggi_visual, *x, FLIP(*y), col);
- x++;
- y++;
- }
-}
-
-/**********************************************************************/
-/***** Read arrays of pixels *****/
-/**********************************************************************/
-
-void GGIread_ci32_pixels( const GLcontext *ctx,
- GLuint n, const GLint x[], const GLint y[],
- GLuint ci[], const GLubyte mask[])
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- while (n--) {
- if (*mask++)
- ggiGetPixel(ggi_ctx->ggi_visual, *x, FLIP(*y), ci);
- ci++;
- x++;
- y++;
- }
-}
-
-void GGIread_rgba_pixels( const GLcontext *ctx,
- GLuint n, const GLint x[], const GLint y[],
- GLubyte rgba[][4],
- const GLubyte mask[] )
-{
- ggi_mesa_context_t ggi_ctx = (ggi_mesa_context_t)ctx->DriverCtx;
- ggi_color rgb;
- ggi_pixel col;
-
- while (n--)
- {
- if (*mask++)
- {
- ggiGetPixel(ggi_ctx->ggi_visual, *x, FLIP(*y), &col);
- ggiUnmapPixel(ggi_ctx->ggi_visual, col, &rgb);
- rgba[0][RCOMP] = rgb.r >> SHIFT;
- rgba[0][GCOMP] = rgb.g >> SHIFT;
- rgba[0][BCOMP] = rgb.b >> SHIFT;
- rgba[0][ACOMP] = 0;
- }
- x++;
- y++;
- rgba++;
- }
-}
-
-int GGIextend_visual(ggi_visual_t vis)
-{
- return 0;
-}
-
-//static swrast_tri_func ggimesa_stubs_get_triangle_func(GLcontext *ctx);
-
-int GGIsetup_driver(ggi_mesa_context_t ggi_ctx)
-{
- struct swrast_device_driver *swdd =
- _swrast_GetDeviceDriverReference(ggi_ctx->gl_ctx);
-
- GGIMESADPRINT_CORE("stubs: setup_driver\n");
-
- swdd->WriteRGBASpan = GGIwrite_rgba_span;
- swdd->WriteRGBSpan = GGIwrite_rgb_span;
- swdd->WriteMonoRGBASpan = GGIwrite_mono_rgba_span;
- swdd->WriteRGBAPixels = GGIwrite_rgba_pixels;
- swdd->WriteMonoRGBAPixels = GGIwrite_mono_rgba_pixels;
-
- swdd->WriteCI32Span = GGIwrite_ci32_span;
- swdd->WriteCI8Span = GGIwrite_ci8_span;
- swdd->WriteMonoCISpan = GGIwrite_mono_ci_span;
- swdd->WriteCI32Pixels = GGIwrite_ci32_pixels;
- swdd->WriteMonoCIPixels = GGIwrite_mono_ci_pixels;
-
- swdd->ReadCI32Span = GGIread_ci32_span;
- swdd->ReadRGBASpan = GGIread_rgba_span;
- swdd->ReadCI32Pixels = GGIread_ci32_pixels;
- swdd->ReadRGBAPixels = GGIread_rgba_pixels;
-
- return 0;
-}
-
-void GGIupdate_state(ggi_mesa_context_t *ctx)
-{
- //ctx->Driver.TriangleFunc = _swsetup_Triangle;
-}
-
-/*
-void GGItriangle_flat(GLcontext *ctx, const SWvertex *v0, const SWvertex *v1, const SWvertex *v2)
-{
-//#define INTERP_Z 1
-#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
-
-#define SETUP_CODE \
- ggi_color color; \
- color.r = v0->color[0]; \
- color.g = v0->color[1]; \
- color.b = v0->color[2]; \
- color.a = v0->color[3]; \
- ggiSetGCForeground(VIS, ggiMapColor(VIS, &color));
-
-#define INNER_LOOP(LEFT,RIGHT,Y) \
- ggiDrawHLine(VIS,LEFT,FLIP(Y),RIGHT-LEFT);
-
-#include "swrast/s_tritemp.h"
-}
-
-
-static void GGItriangle_flat_depth(GLcontext *ctx, const SWvertex *v0, const SWvertex *v1, const SWvertex *v2)
-{
-#define INTERP_Z 1
-#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
-
-#define SETUP_CODE \
- ggi_color color; \
- color.r = v0->color[0]; \
- color.g = v0->color[1]; \
- color.b = v0->color[2]; \
- color.a = v0->color[3]; \
- ggiSetGCForeground(VIS, ggiMapColor(VIS, &color));
-
-#define INNER_LOOP(LEFT,RIGHT,Y) \
- { \
- GLint i,xx=LEFT,yy=FLIP(Y),n=RIGHT-LEFT,length=0; \
- GLint startx=xx; \
- for (i=0;i<n;i++){ \
- GLdepth z=FixedToDepth(ffz); \
- if (z<zRow[i]) \
- { \
- zRow[i]=z; \
- length++; \
- } \
- else \
- { \
- if (length) \
- { \
- ggiDrawHLine(VIS,startx,yy,length); \
- length=0; \
- } \
- startx=xx+i+1; \
- } \
- ffz+=fdzdx; \
- } \
- if (length) ggiDrawHLine(VIS,startx,yy,length); \
- }
-
-#include "swrast/s_tritemp.h"
-}
-
-
-static swrast_tri_func ggimesa_stubs_get_triangle_func(GLcontext *ctx)
-{
- if (ctx->Stencil._Enabled) return NULL;
- if (ctx->Polygon.SmoothFlag) return NULL;
- if (ctx->Polygon.StippleFlag) return NULL;
- if (ctx->Texture._ReallyEnabled) return NULL;
- if (ctx->Light.ShadeModel==GL_SMOOTH) return NULL;
- if (ctx->Depth.Test && ctx->Depth.Func != GL_LESS) return NULL;
-
- if (ctx->Depth.Test)
- return GGItriangle_flat_depth;
-
- return GGItriangle_flat;
-}
-*/
-static int GGIopen(ggi_visual_t vis, struct ggi_dlhandle *dlh,
- const char *args, void *argptr, uint32 *dlret)
-{
- LIBGGI_MESAEXT(vis)->update_state = GGIupdate_state;
- LIBGGI_MESAEXT(vis)->setup_driver = GGIsetup_driver;
-
- *dlret = GGI_DL_OPDRAW;
- return 0;
-}
-
-int MesaGGIdl_stubs(int func, void **funcptr)
-{
- switch (func) {
- case GGIFUNC_open:
- *funcptr = GGIopen;
- return 0;
- case GGIFUNC_exit:
- case GGIFUNC_close:
- *funcptr = NULL;
- return 0;
- default:
- *funcptr = NULL;
- }
- return GGI_ENOTFOUND;
-}