that used to require a 'ReducedPrimitiveChange' callback. Various compilation fixes for XFree86. Reverted to the older version of glcore.h used internally in XFree86, and moved it to 'Mesa/include/GL/internal/glcore.h', for compatibility with XFree86.tags/mesa_3_5
@@ -1,4 +1,4 @@ | |||
/* $Id: context.c,v 1.115 2001/01/05 05:31:42 keithw Exp $ */ | |||
/* $Id: context.c,v 1.116 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -131,7 +131,8 @@ __glCoreCreateContext(__GLimports *imports, __GLcontextModes *modes) | |||
modes->accumAlphaBits, | |||
0); | |||
_mesa_initialize_context(ctx, &ctx->Visual, NULL, imports->wscx, GL_FALSE); | |||
/* KW: was imports->wscx */ | |||
_mesa_initialize_context(ctx, &ctx->Visual, NULL, imports->other, GL_FALSE); | |||
ctx->exports.destroyContext = _mesa_DestroyContext; | |||
@@ -1,4 +1,4 @@ | |||
/* $Id: dd.h,v 1.45 2001/01/05 02:26:48 keithw Exp $ */ | |||
/* $Id: dd.h,v 1.46 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -746,6 +746,7 @@ struct dd_function_table { | |||
void (*RenderStart)( GLcontext *ctx ); | |||
void (*RenderPrimitive)( GLcontext *ctx, GLenum mode ); | |||
void (*RenderFinish)( GLcontext *ctx ); | |||
/* Wrap around all rendering functions. Suitable for | |||
* grabbing/releasing hardware locks. | |||
@@ -895,6 +896,7 @@ struct dd_function_table { | |||
void (*LogicOpcode)(GLcontext *ctx, GLenum opcode); | |||
void (*PolygonMode)(GLcontext *ctx, GLenum face, GLenum mode); | |||
void (*PolygonStipple)(GLcontext *ctx, const GLubyte *mask ); | |||
void (*RenderMode)(GLcontext *ctx, GLenum mode ); | |||
void (*Scissor)(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h); | |||
void (*ShadeModel)(GLcontext *ctx, GLenum mode); | |||
void (*StencilFunc)(GLcontext *ctx, GLenum func, GLint ref, GLuint mask); |
@@ -1,4 +1,4 @@ | |||
/* $Id: dispatch.c,v 1.18 2001/01/02 10:07:34 joukj Exp $ */ | |||
/* $Id: dispatch.c,v 1.19 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -98,8 +98,6 @@ trace(void) | |||
#else | |||
#ifdef THREADS | |||
#define DISPATCH(FUNC, ARGS, MESSAGE) \ | |||
const struct _glapi_table *dispatch; \ | |||
dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\ | |||
@@ -110,19 +108,6 @@ trace(void) | |||
dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\ | |||
return (dispatch->FUNC) ARGS | |||
#else | |||
#define DISPATCH(FUNC, ARGS, MESSAGE) \ | |||
__asm__ ("jmp *(%%eax) ;" : : "a" (&(_glapi_Dispatch->FUNC)) ) | |||
#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \ | |||
const struct _glapi_table *dispatch; \ | |||
dispatch = _glapi_Dispatch;\ | |||
return (dispatch->FUNC) ARGS | |||
#endif | |||
#endif | |||
@@ -1,4 +1,4 @@ | |||
/* $Id: feedback.c,v 1.18 2000/12/26 05:09:28 keithw Exp $ */ | |||
/* $Id: feedback.c,v 1.19 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -406,6 +406,9 @@ _mesa_RenderMode( GLenum mode ) | |||
} | |||
ctx->RenderMode = mode; | |||
if (ctx->Driver.RenderMode) | |||
ctx->Driver.RenderMode( ctx, mode ); | |||
return result; | |||
} | |||
@@ -1,4 +1,4 @@ | |||
/* $Id: glheader.h,v 1.15 2000/09/26 20:53:53 brianp Exp $ */ | |||
/* $Id: glheader.h,v 1.16 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -177,7 +177,7 @@ typedef struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESC | |||
#ifndef CAPI | |||
#define CAPI | |||
#endif | |||
#include "glcore.h" | |||
#include <GL/internal/glcore.h> | |||
@@ -1,4 +1,4 @@ | |||
/* $Id: imports.c,v 1.3 2000/11/22 07:32:17 joukj Exp $ */ | |||
/* $Id: imports.c,v 1.4 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -76,6 +76,11 @@ _mesa_warning(__GLcontext *gc, char *str) | |||
#ifdef DEBUG | |||
debug = GL_TRUE; | |||
#else | |||
/* Whacko XFree86 macro: | |||
*/ | |||
#ifdef getenv | |||
#undef getenv | |||
#endif | |||
if (gc->imports.getenv(gc, "MESA_DEBUG")) { | |||
debug = GL_TRUE; | |||
} | |||
@@ -99,7 +104,7 @@ static char * | |||
_mesa_getenv(__GLcontext *gc, const char *var) | |||
{ | |||
(void) gc; | |||
return getenv(var); | |||
return gc->imports.getenv(gc, var); | |||
} | |||
static int | |||
@@ -153,12 +158,12 @@ _mesa_InitDefaultImports(__GLimports *imports, void *driverCtx, void *other) | |||
imports->warning = _mesa_warning; | |||
imports->fatal = _mesa_fatal; | |||
imports->getenv = _mesa_getenv; | |||
imports->atoi = _mesa_atoi; | |||
/* imports->atoi = _mesa_atoi; */ | |||
imports->sprintf = _mesa_sprintf; | |||
imports->fopen = _mesa_fopen; | |||
imports->fclose = _mesa_fclose; | |||
imports->fprintf = _mesa_fprintf; | |||
imports->getDrawablePrivate = _mesa_GetDrawablePrivate; | |||
imports->wscx = driverCtx; | |||
imports->other = other; | |||
/* imports->wscx = driverCtx; */ | |||
imports->other = driverCtx; | |||
} |
@@ -1,4 +1,4 @@ | |||
/* $Id: lines.c,v 1.24 2000/12/26 05:09:29 keithw Exp $ */ | |||
/* $Id: lines.c,v 1.25 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -57,6 +57,10 @@ _mesa_LineWidth( GLfloat width ) | |||
FLUSH_VERTICES(ctx, _NEW_LINE); | |||
ctx->Line.Width = width; | |||
ctx->Line._Width = CLAMP(width, | |||
ctx->Const.MinLineWidth, | |||
ctx->Const.MaxLineWidth); | |||
if (width != 1.0) | |||
ctx->_TriangleCaps |= DD_LINE_WIDTH; |
@@ -1,4 +1,4 @@ | |||
/* $Id: macros.h,v 1.16 2000/12/26 05:09:29 keithw Exp $ */ | |||
/* $Id: macros.h,v 1.17 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -73,7 +73,7 @@ | |||
#define STRIDE_F(p, i) (p = (GLfloat *)((GLubyte *)p + i)) | |||
#define STRIDE_UI(p, i) (p = (GLuint *)((GLubyte *)p + i)) | |||
#define STRIDE_4UB(p, i) (p = (GLubyte (*)[4])((GLubyte *)p + i)) | |||
#define STRIDE_T(p, t, i) (p = (t *)((GLubyte *)p + i)) | |||
#define STRIDE_T(p, t, i) (p = (t)((GLubyte *)p + i)) | |||
#define ZERO_2V( DST ) (DST)[0] = (DST)[1] = 0 |
@@ -1,4 +1,4 @@ | |||
/* $Id: mtypes.h,v 1.11 2001/01/06 22:46:13 gareth Exp $ */ | |||
/* $Id: mtypes.h,v 1.12 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -516,6 +516,7 @@ struct gl_line_attrib { | |||
GLushort StipplePattern; /* Stipple pattern */ | |||
GLint StippleFactor; /* Stipple repeat factor */ | |||
GLfloat Width; /* Line width */ | |||
GLfloat _Width; /* Clamped Line width */ | |||
}; | |||
@@ -1,4 +1,4 @@ | |||
/* $Id: m_xform.c,v 1.5 2000/12/26 05:09:31 keithw Exp $ */ | |||
/* $Id: m_xform.c,v 1.6 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -45,6 +45,7 @@ | |||
#include "m_matrix.h" | |||
#include "m_translate.h" | |||
#include "m_xform.h" | |||
#include "mathmod.h" | |||
#ifdef DEBUG |
@@ -1,8 +1,6 @@ | |||
#ifndef _MESA_MATH_H_ | |||
#define _MESA_MATH_H_ | |||
#include <math.h> | |||
extern void _math_init( void ); | |||
#endif |
@@ -1,4 +1,4 @@ | |||
/* $Id: ss_context.c,v 1.6 2001/01/05 02:26:49 keithw Exp $ */ | |||
/* $Id: ss_context.c,v 1.7 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -211,3 +211,9 @@ _swsetup_DestroyContext( GLcontext *ctx ) | |||
} | |||
void | |||
_swsetup_RenderPrimNoop( GLcontext *ctx, GLenum mode ) | |||
{ | |||
(void) ctx; | |||
(void) mode; | |||
} |
@@ -58,5 +58,7 @@ _swsetup_Line( GLcontext *ctx, GLuint v0, GLuint v1 ); | |||
extern void | |||
_swsetup_Points( GLcontext *ctx, GLuint first, GLuint last ); | |||
extern void | |||
_swsetup_RenderPrimNoop( GLcontext *ctx, GLenum mode ); | |||
#endif |
@@ -1,4 +1,4 @@ | |||
/* $Id: t_array_import.c,v 1.4 2001/01/05 02:26:49 keithw Exp $ */ | |||
/* $Id: t_array_import.c,v 1.5 2001/01/08 04:09:41 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -267,31 +267,37 @@ static void _tnl_upgrade_client_data( GLcontext *ctx, | |||
if ((required & VERT_OBJ) && (VB->ObjPtr->flags & flags)) { | |||
ASSERT(VB->ObjPtr == &inputs->Obj); | |||
_tnl_import_vertex( ctx, writeable, stride ); | |||
VB->importable_data &= ~(VERT_OBJ|VERT_CLIP); | |||
} | |||
if ((required & VERT_NORM) && (VB->NormalPtr->flags & flags)) { | |||
ASSERT(VB->NormalPtr == &inputs->Normal); | |||
_tnl_import_normal( ctx, writeable, stride ); | |||
VB->importable_data &= ~VERT_NORM; | |||
} | |||
if ((required & VERT_RGBA) && (VB->ColorPtr[0]->flags & flags)) { | |||
ASSERT(VB->ColorPtr[0] == &inputs->Color); | |||
_tnl_import_color( ctx, writeable, stride ); | |||
VB->importable_data &= ~VERT_RGBA; | |||
} | |||
if ((required & VERT_SPEC_RGB) && (VB->SecondaryColorPtr[0]->flags&flags)) { | |||
ASSERT(VB->SecondaryColorPtr[0] == &inputs->SecondaryColor); | |||
_tnl_import_secondarycolor( ctx, writeable, stride ); | |||
VB->importable_data &= ~VERT_SPEC_RGB; | |||
} | |||
if ((required & VERT_FOG_COORD) && (VB->FogCoordPtr->flags & flags)) { | |||
ASSERT(VB->FogCoordPtr == &inputs->FogCoord); | |||
_tnl_import_fogcoord( ctx, writeable, stride ); | |||
VB->importable_data &= ~VERT_FOG_COORD; | |||
} | |||
if ((required & VERT_INDEX) && (VB->IndexPtr[0]->flags & flags)) { | |||
ASSERT(VB->IndexPtr[0] == &inputs->Index); | |||
_tnl_import_index( ctx, writeable, stride ); | |||
VB->importable_data &= ~VERT_INDEX; | |||
} | |||
if (required & VERT_TEX_ANY) | |||
@@ -299,9 +305,9 @@ static void _tnl_upgrade_client_data( GLcontext *ctx, | |||
if ((required & VERT_TEX(i)) && (VB->TexCoordPtr[i]->flags & flags)) { | |||
ASSERT(VB->TexCoordPtr[i] == &inputs->TexCoord[i]); | |||
_tnl_import_texcoord( ctx, i, writeable, stride ); | |||
VB->importable_data &= ~VERT_TEX(i); | |||
} | |||
VB->importable_data &= ~required; | |||
} | |||
@@ -1,4 +1,4 @@ | |||
/* $Id: t_vb_light.c,v 1.2 2000/12/27 19:57:37 keithw Exp $ */ | |||
/* $Id: t_vb_light.c,v 1.3 2001/01/08 04:09:42 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -246,6 +246,10 @@ static void check_lighting( GLcontext *ctx, struct gl_pipeline_stage *stage ) | |||
stage->inputs |= VERT_EYE; /* effectively, even when lighting in obj */ | |||
if (ctx->Light.ColorMaterialEnabled) | |||
stage->inputs |= VERT_RGBA; | |||
stage->outputs = VERT_RGBA; | |||
if (ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR) | |||
stage->outputs |= VERT_SPEC_RGB; | |||
} | |||
} | |||
@@ -273,7 +277,7 @@ const struct gl_pipeline_stage _tnl_lighting_stage = | |||
_NEW_LIGHT|_NEW_MODELVIEW, /* recalc -- modelview dependency | |||
* otherwise not captured by inputs | |||
* (which may be VERT_OBJ) */ | |||
0,0,VERT_RGBA, /* active, inputs, outputs */ | |||
0,0,0, /* active, inputs, outputs */ | |||
0,0, /* changed_inputs, private_data */ | |||
dtr, /* destroy */ | |||
check_lighting, /* check */ |
@@ -1,4 +1,4 @@ | |||
/* $Id: t_vb_render.c,v 1.6 2001/01/05 02:26:49 keithw Exp $ */ | |||
/* $Id: t_vb_render.c,v 1.7 2001/01/08 04:09:42 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -487,6 +487,7 @@ do { \ | |||
(void) elt; (void) mask; (void) sz; | |||
#define TAG(x) clip_##x##_verts | |||
#define INIT(x) ctx->Driver.RenderPrimitive( ctx, x ) | |||
#define RESET_STIPPLE ctx->Driver.ResetLineStipple( ctx ) | |||
#define RESET_OCCLUSION ctx->OcclusionResult = GL_TRUE; | |||
#define PRESERVE_VB_DEFS |
@@ -1,4 +1,4 @@ | |||
/* $Id: t_vb_rendertmp.h,v 1.4 2001/01/05 02:26:49 keithw Exp $ */ | |||
/* $Id: t_vb_rendertmp.h,v 1.5 2001/01/08 04:09:42 keithw Exp $ */ | |||
/* | |||
* Mesa 3-D graphics library | |||
@@ -107,7 +107,7 @@ static void TAG(render_line_strip)( GLcontext *ctx, | |||
(void) flags; | |||
RESET_OCCLUSION; | |||
INIT(GL_LINES); | |||
INIT(GL_LINE_STRIP); | |||
for (j=start+1; j<count; j++ ) | |||
RENDER_LINE( ELT(j-1), ELT(j) ); | |||
@@ -130,7 +130,7 @@ static void TAG(render_line_loop)( GLcontext *ctx, | |||
(void) flags; | |||
RESET_OCCLUSION; | |||
INIT(GL_LINES); | |||
INIT(GL_LINE_LOOP); | |||
if (start+1 < count) { | |||
if (TEST_PRIM_BEGIN(flags)) { | |||
@@ -160,7 +160,7 @@ static void TAG(render_triangles)( GLcontext *ctx, | |||
LOCAL_VARS; | |||
(void) flags; | |||
INIT(GL_POLYGON); | |||
INIT(GL_TRIANGLES); | |||
if (NEED_EDGEFLAG_SETUP) { | |||
for (j=start+2; j<count; j+=3) { | |||
/* Leave the edgeflags as supplied by the user. | |||
@@ -190,7 +190,7 @@ static void TAG(render_tri_strip)( GLcontext *ctx, | |||
if (TEST_PRIM_PARITY(flags)) | |||
parity = 1; | |||
INIT(GL_POLYGON); | |||
INIT(GL_TRIANGLE_STRIP); | |||
if (NEED_EDGEFLAG_SETUP) { | |||
for (j=start+2;j<count;j++,parity^=1) { | |||
GLuint ej2 = ELT(j-2+parity); | |||
@@ -226,7 +226,7 @@ static void TAG(render_tri_fan)( GLcontext *ctx, | |||
LOCAL_VARS; | |||
(void) flags; | |||
INIT(GL_POLYGON); | |||
INIT(GL_TRIANGLE_FAN); | |||
if (NEED_EDGEFLAG_SETUP) { | |||
for (j=start+2;j<count;j++) { | |||
/* For trifans, all edges are boundary. | |||
@@ -334,7 +334,7 @@ static void TAG(render_quads)( GLcontext *ctx, | |||
LOCAL_VARS; | |||
(void) flags; | |||
INIT(GL_POLYGON); | |||
INIT(GL_QUADS); | |||
if (NEED_EDGEFLAG_SETUP) { | |||
for (j=start+3; j<count; j+=4) { | |||
/* Use user-specified edgeflags for quads. | |||
@@ -359,7 +359,7 @@ static void TAG(render_quad_strip)( GLcontext *ctx, | |||
LOCAL_VARS; | |||
(void) flags; | |||
INIT(GL_POLYGON); | |||
INIT(GL_QUAD_STRIP); | |||
if (NEED_EDGEFLAG_SETUP) { | |||
for (j=start+3;j<count;j+=2) { | |||
/* All edges are boundary. Set edgeflags to 1, draw the |