mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-03 01:18:06 +02:00
Added PointSize and PointParametersfv to dd interface, for completeness.
Clean-up and updated comments in dd.h file.
This commit is contained in:
parent
ce656b6a0a
commit
e448d6cf0c
2 changed files with 146 additions and 110 deletions
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: dd.h,v 1.46 2001/01/08 04:09:41 keithw Exp $ */
|
||||
/* $Id: dd.h,v 1.47 2001/01/09 00:02:55 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
|
|
@ -405,6 +405,15 @@ struct dd_function_table {
|
|||
*/
|
||||
|
||||
|
||||
/***
|
||||
*** For hardware accumulation buffer:
|
||||
***/
|
||||
GLboolean (*Accum)( GLcontext *ctx, GLenum op, GLfloat value,
|
||||
GLint xpos, GLint ypos, GLint width, GLint height );
|
||||
/* Execute glAccum command within the given scissor region.
|
||||
*/
|
||||
|
||||
|
||||
/***
|
||||
*** glDraw/Read/CopyPixels and glBitmap functions:
|
||||
***/
|
||||
|
|
@ -446,14 +455,9 @@ struct dd_function_table {
|
|||
/* This is called by glBitmap. Works the same as DrawPixels, above.
|
||||
*/
|
||||
|
||||
GLboolean (*Accum)( GLcontext *ctx, GLenum op,
|
||||
GLfloat value, GLint xpos, GLint ypos,
|
||||
GLint width, GLint height );
|
||||
/* Hardware accum buffer.
|
||||
*/
|
||||
|
||||
/***
|
||||
*** Texture mapping functions:
|
||||
*** Texture image functions:
|
||||
***/
|
||||
|
||||
GLboolean (*TexImage1D)( GLcontext *ctx, GLenum target, GLint level,
|
||||
|
|
@ -582,6 +586,10 @@ struct dd_function_table {
|
|||
* if the test fails.
|
||||
*/
|
||||
|
||||
/***
|
||||
*** Compressed texture functions:
|
||||
***/
|
||||
|
||||
GLboolean (*CompressedTexImage1D)( GLcontext *ctx, GLenum target,
|
||||
GLint level, GLsizei imageSize,
|
||||
const GLvoid *data,
|
||||
|
|
@ -697,21 +705,9 @@ struct dd_function_table {
|
|||
* <texImage> is the source texture image.
|
||||
*/
|
||||
|
||||
void (*TexEnv)( GLcontext *ctx, GLenum target, GLenum pname,
|
||||
const GLfloat *param );
|
||||
/* Called by glTexEnv*().
|
||||
*/
|
||||
|
||||
void (*TexParameter)( GLcontext *ctx, GLenum target,
|
||||
struct gl_texture_object *texObj,
|
||||
GLenum pname, const GLfloat *params );
|
||||
/* Called by glTexParameter*().
|
||||
* <target> is user specified
|
||||
* <texObj> the texture object to modify
|
||||
* <pname> is one of GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
|
||||
* GL_TEXTURE_WRAP_[STR], or GL_TEXTURE_BORDER_COLOR.
|
||||
* <params> is user specified.
|
||||
*/
|
||||
/***
|
||||
*** Texture object functions:
|
||||
***/
|
||||
|
||||
void (*BindTexture)( GLcontext *ctx, GLenum target,
|
||||
struct gl_texture_object *tObj );
|
||||
|
|
@ -745,13 +741,111 @@ 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.
|
||||
/***
|
||||
*** State-changing functions (drawing functions are above)
|
||||
***
|
||||
*** These functions are called by their corresponding OpenGL API functions.
|
||||
*** They're ALSO called by the gl_PopAttrib() function!!!
|
||||
*** May add more functions like these to the device driver in the future.
|
||||
***/
|
||||
void (*AlphaFunc)(GLcontext *ctx, GLenum func, GLclampf ref);
|
||||
void (*BlendEquation)(GLcontext *ctx, GLenum mode);
|
||||
void (*BlendFunc)(GLcontext *ctx, GLenum sfactor, GLenum dfactor);
|
||||
void (*BlendFuncSeparate)(GLcontext *ctx,
|
||||
GLenum sfactorRGB, GLenum dfactorRGB,
|
||||
GLenum sfactorA, GLenum dfactorA);
|
||||
void (*ClearDepth)(GLcontext *ctx, GLclampd d);
|
||||
void (*ClearStencil)(GLcontext *ctx, GLint s);
|
||||
void (*ColorMask)(GLcontext *ctx, GLboolean rmask, GLboolean gmask,
|
||||
GLboolean bmask, GLboolean amask );
|
||||
void (*CullFace)(GLcontext *ctx, GLenum mode);
|
||||
void (*ClipPlane)(GLcontext *ctx, GLenum plane, const GLfloat *equation );
|
||||
void (*FrontFace)(GLcontext *ctx, GLenum mode);
|
||||
void (*DepthFunc)(GLcontext *ctx, GLenum func);
|
||||
void (*DepthMask)(GLcontext *ctx, GLboolean flag);
|
||||
void (*DepthRange)(GLcontext *ctx, GLclampd nearval, GLclampd farval);
|
||||
void (*Enable)(GLcontext* ctx, GLenum cap, GLboolean state);
|
||||
void (*Fogfv)(GLcontext *ctx, GLenum pname, const GLfloat *params);
|
||||
void (*Hint)(GLcontext *ctx, GLenum target, GLenum mode);
|
||||
void (*IndexMask)(GLcontext *ctx, GLuint mask);
|
||||
void (*Lightfv)(GLcontext *ctx, GLenum light,
|
||||
GLenum pname, const GLfloat *params );
|
||||
void (*LightModelfv)(GLcontext *ctx, GLenum pname, const GLfloat *params);
|
||||
void (*LineStipple)(GLcontext *ctx, GLint factor, GLushort pattern );
|
||||
void (*LineWidth)(GLcontext *ctx, GLfloat width);
|
||||
void (*LogicOpcode)(GLcontext *ctx, GLenum opcode);
|
||||
void (*PointParameterfv)(GLcontext *ctx, GLenum pname,
|
||||
const GLfloat *params);
|
||||
void (*PointSize)(GLcontext *ctx, GLfloat size);
|
||||
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);
|
||||
void (*StencilMask)(GLcontext *ctx, GLuint mask);
|
||||
void (*StencilOp)(GLcontext *ctx, GLenum fail, GLenum zfail, GLenum zpass);
|
||||
void (*TexGen)(GLcontext *ctx, GLenum coord, GLenum pname,
|
||||
const GLfloat *params);
|
||||
void (*TexEnv)(GLcontext *ctx, GLenum target, GLenum pname,
|
||||
const GLfloat *param);
|
||||
void (*TexParameter)(GLcontext *ctx, GLenum target,
|
||||
struct gl_texture_object *texObj,
|
||||
GLenum pname, const GLfloat *params);
|
||||
void (*TextureMatrix)(GLcontext *ctx, GLuint unit, const GLmatrix *mat);
|
||||
void (*Viewport)(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
|
||||
|
||||
|
||||
/*** State-query functions
|
||||
***
|
||||
*** Return GL_TRUE if query was completed, GL_FALSE otherwise.
|
||||
***/
|
||||
GLboolean (*GetBooleanv)(GLcontext *ctx, GLenum pname, GLboolean *result);
|
||||
GLboolean (*GetDoublev)(GLcontext *ctx, GLenum pname, GLdouble *result);
|
||||
GLboolean (*GetFloatv)(GLcontext *ctx, GLenum pname, GLfloat *result);
|
||||
GLboolean (*GetIntegerv)(GLcontext *ctx, GLenum pname, GLint *result);
|
||||
GLboolean (*GetPointerv)(GLcontext *ctx, GLenum pname, GLvoid **result);
|
||||
|
||||
|
||||
/***
|
||||
*** Vertex array functions
|
||||
***
|
||||
*** Called by the corresponding OpenGL functions.
|
||||
***/
|
||||
void (*VertexPointer)(GLcontext *ctx, GLint size, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*NormalPointer)(GLcontext *ctx, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*ColorPointer)(GLcontext *ctx, GLint size, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*FogCoordPointer)(GLcontext *ctx, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*IndexPointer)(GLcontext *ctx, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*SecondaryColorPointer)(GLcontext *ctx, GLint size, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*TexCoordPointer)(GLcontext *ctx, GLint size, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*EdgeFlagPointer)(GLcontext *ctx, GLsizei stride, const GLvoid *ptr);
|
||||
|
||||
|
||||
|
||||
/***
|
||||
*** Rendering
|
||||
***/
|
||||
|
||||
void (*RenderStart)(GLcontext *ctx);
|
||||
void (*RenderFinish)(GLcontext *ctx);
|
||||
/* Called before and after all rendering operations, including DrawPixels,
|
||||
* ReadPixels, Bitmap, span functions, and CopyTexImage, etc commands.
|
||||
* These are a suitable place for grabbing/releasing hardware locks.
|
||||
*/
|
||||
|
||||
void (*RenderPrimitive)(GLcontext *ctx, GLenum mode);
|
||||
/* Called between RednerStart() and RenderFinish() to indicate the
|
||||
* type of primitive we're about to draw. Mode will be one of the
|
||||
* modes accepted by glBegin().
|
||||
*/
|
||||
|
||||
|
||||
/***
|
||||
|
|
@ -761,11 +855,18 @@ struct dd_function_table {
|
|||
line_func LineFunc;
|
||||
triangle_func TriangleFunc;
|
||||
quad_func QuadFunc;
|
||||
/* These functions are called in order to render points, lines,
|
||||
* triangles and quads. These are only called via the T&L module.
|
||||
*/
|
||||
|
||||
render_func *RenderTabVerts;
|
||||
render_func *RenderTabElts;
|
||||
/* XXX Description???
|
||||
*/
|
||||
|
||||
void (*ResetLineStipple)( GLcontext *ctx );
|
||||
/* Reset the hardware's line stipple counter.
|
||||
*/
|
||||
|
||||
void (*BuildProjectedVertices)( GLcontext *ctx,
|
||||
GLuint start, GLuint end,
|
||||
|
|
@ -840,11 +941,13 @@ struct dd_function_table {
|
|||
void (*EndList)( GLcontext *ctx );
|
||||
/* Let the t&l component know what is going on with display lists
|
||||
* in time to make changes to dispatch tables, etc.
|
||||
* Called by glNewList() and glEndList(), respectively.
|
||||
*/
|
||||
|
||||
void (*BeginCallList)( GLcontext *ctx, GLuint list );
|
||||
void (*EndCallList)( GLcontext *ctx );
|
||||
/* Notify the t&l component before and after calling a display list.
|
||||
* Called by glCallList(s), but not recursively.
|
||||
*/
|
||||
|
||||
void (*MakeCurrent)( GLcontext *ctx, GLframebuffer *drawBuffer,
|
||||
|
|
@ -855,94 +958,17 @@ struct dd_function_table {
|
|||
|
||||
void (*LockArraysEXT)( GLcontext *ctx, GLint first, GLsizei count );
|
||||
void (*UnlockArraysEXT)( GLcontext *ctx );
|
||||
/*
|
||||
/* Called by glLockArraysEXT() and glUnlockArraysEXT(), respectively.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* State-changing functions (drawing functions are above)
|
||||
*
|
||||
* These functions are called by their corresponding OpenGL API functions.
|
||||
* They're ALSO called by the gl_PopAttrib() function!!!
|
||||
* May add more functions like these to the device driver in the future.
|
||||
* This should reduce the amount of state checking that
|
||||
* the driver's UpdateState() function must do.
|
||||
*/
|
||||
void (*AlphaFunc)(GLcontext *ctx, GLenum func, GLclampf ref);
|
||||
void (*BlendEquation)(GLcontext *ctx, GLenum mode);
|
||||
void (*BlendFunc)(GLcontext *ctx, GLenum sfactor, GLenum dfactor);
|
||||
void (*BlendFuncSeparate)( GLcontext *ctx, GLenum sfactorRGB,
|
||||
GLenum dfactorRGB, GLenum sfactorA,
|
||||
GLenum dfactorA );
|
||||
void (*ClearDepth)(GLcontext *ctx, GLclampd d);
|
||||
void (*ClearStencil)(GLcontext *ctx, GLint s);
|
||||
void (*ColorMask)(GLcontext *ctx, GLboolean rmask, GLboolean gmask,
|
||||
GLboolean bmask, GLboolean amask );
|
||||
void (*CullFace)(GLcontext *ctx, GLenum mode);
|
||||
void (*ClipPlane)(GLcontext *ctx, GLenum plane, const GLfloat *equation );
|
||||
void (*FrontFace)(GLcontext *ctx, GLenum mode);
|
||||
void (*DepthFunc)(GLcontext *ctx, GLenum func);
|
||||
void (*DepthMask)(GLcontext *ctx, GLboolean flag);
|
||||
void (*DepthRange)(GLcontext *ctx, GLclampd nearval, GLclampd farval);
|
||||
void (*Enable)(GLcontext* ctx, GLenum cap, GLboolean state);
|
||||
void (*Fogfv)(GLcontext *ctx, GLenum pname, const GLfloat *params);
|
||||
void (*Hint)(GLcontext *ctx, GLenum target, GLenum mode);
|
||||
void (*IndexMask)(GLcontext *ctx, GLuint mask);
|
||||
void (*Lightfv)(GLcontext *ctx, GLenum light,
|
||||
GLenum pname, const GLfloat *params );
|
||||
void (*LightModelfv)(GLcontext *ctx, GLenum pname, const GLfloat *params);
|
||||
void (*LineStipple)(GLcontext *ctx, GLint factor, GLushort pattern );
|
||||
void (*LineWidth)(GLcontext *ctx, GLfloat width);
|
||||
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);
|
||||
void (*StencilMask)(GLcontext *ctx, GLuint mask);
|
||||
void (*StencilOp)(GLcontext *ctx, GLenum fail, GLenum zfail, GLenum zpass);
|
||||
void (*TexGen)(GLcontext *ctx, GLenum coord, GLenum pname,
|
||||
const GLfloat *params );
|
||||
void (*TextureMatrix)(GLcontext *ctx, GLuint unit, const GLmatrix *mat);
|
||||
void (*Viewport)(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
|
||||
|
||||
/* State-query functions
|
||||
*
|
||||
* Return GL_TRUE if query was completed, GL_FALSE otherwise.
|
||||
*/
|
||||
GLboolean (*GetBooleanv)(GLcontext *ctx, GLenum pname, GLboolean *result);
|
||||
GLboolean (*GetDoublev)(GLcontext *ctx, GLenum pname, GLdouble *result);
|
||||
GLboolean (*GetFloatv)(GLcontext *ctx, GLenum pname, GLfloat *result);
|
||||
GLboolean (*GetIntegerv)(GLcontext *ctx, GLenum pname, GLint *result);
|
||||
GLboolean (*GetPointerv)(GLcontext *ctx, GLenum pname, GLvoid **result);
|
||||
|
||||
|
||||
void (*VertexPointer)(GLcontext *ctx, GLint size, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*NormalPointer)(GLcontext *ctx, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*ColorPointer)(GLcontext *ctx, GLint size, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*FogCoordPointer)(GLcontext *ctx, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*IndexPointer)(GLcontext *ctx, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*SecondaryColorPointer)(GLcontext *ctx, GLint size, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*TexCoordPointer)(GLcontext *ctx, GLint size, GLenum type,
|
||||
GLsizei stride, const GLvoid *ptr);
|
||||
void (*EdgeFlagPointer)(GLcontext *ctx, GLsizei stride, const GLvoid *ptr);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Transform/Clip/Lighting interface
|
||||
*/
|
||||
typedef struct {
|
||||
|
||||
void (*ArrayElement)( GLint ); /* NOTE */
|
||||
void (*Color3f)( GLfloat, GLfloat, GLfloat );
|
||||
void (*Color3fv)( const GLfloat * );
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: points.c,v 1.26 2000/12/26 05:09:29 keithw Exp $ */
|
||||
/* $Id: points.c,v 1.27 2001/01/09 00:02:55 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
|
|
@ -59,7 +59,14 @@ _mesa_PointSize( GLfloat size )
|
|||
ctx->Point._Size = CLAMP(size,
|
||||
ctx->Const.MinPointSize,
|
||||
ctx->Const.MaxPointSize);
|
||||
ctx->_TriangleCaps ^= DD_POINT_SIZE;
|
||||
|
||||
if (ctx->Point._Size == 1.0F)
|
||||
ctx->_TriangleCaps &= ~DD_POINT_SIZE;
|
||||
else
|
||||
ctx->_TriangleCaps |= DD_POINT_SIZE;
|
||||
|
||||
if (ctx->Driver.PointSize)
|
||||
(*ctx->Driver.PointSize)(ctx, size);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -136,5 +143,8 @@ _mesa_PointParameterfvEXT( GLenum pname, const GLfloat *params)
|
|||
gl_error( ctx, GL_INVALID_ENUM, "glPointParameterfvEXT" );
|
||||
return;
|
||||
}
|
||||
|
||||
if (ctx->Driver.PointParameterfv)
|
||||
(*ctx->Driver.PointParameterfv)(ctx, pname, params);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue