Data Fields |
| const GLubyte *(* | GetString )(GLcontext *ctx, GLenum name) |
| | Return a string as needed by glGetString(). More...
|
| void(* | UpdateState )(GLcontext *ctx, GLuint new_state) |
| | Notify the driver after Mesa has made some internal state changes. More...
|
| void(* | GetBufferSize )(GLframebuffer *buffer, GLuint *width, GLuint *height) |
| | Get the width and height of the named buffer/window. More...
|
| void(* | ResizeBuffers )(GLframebuffer *buffer) |
| | Resize the driver's depth/stencil/accum/back buffers to match the size given in the GLframebuffer struct. More...
|
| void(* | Error )(GLcontext *ctx) |
| | Called whenever an error is generated. More...
|
| void(* | Finish )(GLcontext *ctx) |
| | This is called whenever glFinish() is called. More...
|
| void(* | Flush )(GLcontext *ctx) |
| | This is called whenever glFlush() is called. More...
|
| void(* | Clear )(GLcontext *ctx, GLbitfield mask, GLboolean all, GLint x, GLint y, GLint width, GLint height) |
| | Clear the color/depth/stencil/accum buffer(s). More...
|
| GLuint | NeedValidate |
| | Bitmask of state changes that require the current T&L module to be validated, using ValidateTnlModule below. More...
|
| void(* | ValidateTnlModule )(GLcontext *ctx, GLuint new_state) |
| | Validate the current T&L module. More...
|
| GLuint | CurrentExecPrimitive |
| | Set by the driver-supplied T&L engine. More...
|
| GLuint | CurrentSavePrimitive |
| | Current state of an in-progress compilation. More...
|
| GLuint | NeedFlush |
| | Set by the driver-supplied T&L engine whenever vertices are buffered between glBegin()/glEnd() objects or __GLcontextRec::Current is not updated. More...
|
| GLuint | SaveNeedFlush |
| void(* | FlushVertices )(GLcontext *ctx, GLuint flags) |
| | If inside glBegin()/glEnd(), it should ASSERT(0). More...
|
| void(* | SaveFlushVertices )(GLcontext *ctx) |
| GLboolean(* | NotifySaveBegin )(GLcontext *ctx, GLenum mode) |
| | Give the driver the opportunity to hook in its own vtxfmt for compiling optimized display lists. More...
|
| void(* | LightingSpaceChange )(GLcontext *ctx) |
| | Notify driver that the special derived value _NeedEyeCoords has changed. More...
|
| void(* | MakeCurrent )(GLcontext *ctx, GLframebuffer *drawBuffer, GLframebuffer *readBuffer) |
| | Let the T&L component know when the context becomes current. More...
|
| void(* | NewList )(GLcontext *ctx, GLuint list, GLenum mode) |
| | Called by glNewList(). More...
|
| void(* | EndList )(GLcontext *ctx) |
| | Called by glEndList(). More...
|
| void(* | BeginCallList )(GLcontext *ctx, GLuint list) |
| | Called by glCallList(s), but not recursively. More...
|
| void(* | EndCallList )(GLcontext *ctx) |
| | Called by glEndCallList(). More...
|
|
| void(* | Accum )(GLcontext *ctx, GLenum op, GLfloat value, GLint xpos, GLint ypos, GLint width, GLint height) |
| | Execute glAccum command within the given scissor region. More...
|
|
| void(* | DrawPixels )(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels) |
| | This is called by glDrawPixels(). More...
|
| void(* | ReadPixels )(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, const struct gl_pixelstore_attrib *unpack, GLvoid *dest) |
| | Called by glReadPixels(). More...
|
| void(* | CopyPixels )(GLcontext *ctx, GLint srcx, GLint srcy, GLsizei width, GLsizei height, GLint dstx, GLint dsty, GLenum type) |
| | Do a glCopyPixels(). More...
|
| void(* | Bitmap )(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, const struct gl_pixelstore_attrib *unpack, const GLubyte *bitmap) |
| | This is called by glBitmap(). More...
|
|
| const struct gl_texture_format *(* | ChooseTextureFormat )(GLcontext *ctx, GLint internalFormat, GLenum srcFormat, GLenum srcType) |
| | Choose texture format. More...
|
| void(* | TexImage1D )(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLint width, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glTexImage1D(). More...
|
| void(* | TexImage2D )(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLint width, GLint height, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glTexImage2D(). More...
|
| void(* | TexImage3D )(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLint width, GLint height, GLint depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glTexImage3D(). More...
|
| void(* | TexSubImage1D )(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glTexSubImage1D(). More...
|
| void(* | TexSubImage2D )(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glTexSubImage2D(). More...
|
| void(* | TexSubImage3D )(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLint depth, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glTexSubImage3D(). More...
|
| void(* | CopyTexImage1D )(GLcontext *ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border) |
| | Called by glCopyTexImage1D(). More...
|
| void(* | CopyTexImage2D )(GLcontext *ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) |
| | Called by glCopyTexImage2D(). More...
|
| void(* | CopyTexSubImage1D )(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) |
| | Called by glCopyTexSubImage1D(). More...
|
| void(* | CopyTexSubImage2D )(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) |
| | Called by glCopyTexSubImage2D(). More...
|
| void(* | CopyTexSubImage3D )(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) |
| | Called by glCopyTexSubImage3D(). More...
|
| GLboolean(* | TestProxyTexImage )(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLenum format, GLenum type, GLint width, GLint height, GLint depth, GLint border) |
| | Called by glTexImage[123]D when user specifies a proxy texture target. More...
|
|
| void(* | CompressedTexImage1D )(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glCompressedTexImage1D(). More...
|
| void(* | CompressedTexImage2D )(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glCompressedTexImage2D(). More...
|
| void(* | CompressedTexImage3D )(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glCompressedTexImage3D(). More...
|
| void(* | CompressedTexSubImage1D )(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glCompressedTexSubImage1D(). More...
|
| void(* | CompressedTexSubImage2D )(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLint height, GLenum format, GLsizei imageSize, const GLvoid *data, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glCompressedTexSubImage2D(). More...
|
| void(* | CompressedTexSubImage3D )(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLint height, GLint depth, GLenum format, GLsizei imageSize, const GLvoid *data, struct gl_texture_object *texObj, struct gl_texture_image *texImage) |
| | Called by glCompressedTexSubImage3D(). More...
|
| GLuint(* | CompressedTextureSize )(GLcontext *ctx, GLsizei width, GLsizei height, GLsizei depth, GLenum format) |
| | Called to query number of bytes of storage needed to store the specified compressed texture. More...
|
|
| void(* | BindTexture )(GLcontext *ctx, GLenum target, struct gl_texture_object *tObj) |
| | Called by glBindTexture(). More...
|
| gl_texture_object *(* | NewTextureObject )(GLcontext *ctx, GLuint name, GLenum target) |
| | Called to allocate a new texture object. More...
|
| void(* | DeleteTexture )(GLcontext *ctx, struct gl_texture_object *tObj) |
| | Called when a texture object is about to be deallocated. More...
|
| gl_texture_image *(* | NewTextureImage )(GLcontext *ctx) |
| | Called to allocate a new texture image object. More...
|
| GLboolean(* | IsTextureResident )(GLcontext *ctx, struct gl_texture_object *t) |
| | Called by glAreTextureResident(). More...
|
| void(* | PrioritizeTexture )(GLcontext *ctx, struct gl_texture_object *t, GLclampf priority) |
| | Called by glPrioritizeTextures(). More...
|
| void(* | ActiveTexture )(GLcontext *ctx, GLuint texUnitNumber) |
| | Called by glActiveTextureARB() to set current texture unit. More...
|
| void(* | UpdateTexturePalette )(GLcontext *ctx, struct gl_texture_object *tObj) |
| | Called when the texture's color lookup table is changed. More...
|
|
| void(* | CopyColorTable )(GLcontext *ctx, GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) |
| void(* | CopyColorSubTable )(GLcontext *ctx, GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) |
| void(* | CopyConvolutionFilter1D )(GLcontext *ctx, GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width) |
| void(* | CopyConvolutionFilter2D )(GLcontext *ctx, GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height) |
|
| void(* | BindProgram )(GLcontext *ctx, GLenum target, struct program *prog) |
| | Bind a vertex/fragment program. More...
|
| program *(* | NewProgram )(GLcontext *ctx, GLenum target, GLuint id) |
| | Allocate a new program. More...
|
| void(* | DeleteProgram )(GLcontext *ctx, struct program *prog) |
| | Delete a program. More...
|
| void(* | ProgramStringNotify )(GLcontext *ctx, GLenum target, struct program *prog) |
| | Notify driver that a program string has been specified. More...
|
| GLboolean(* | IsProgramNative )(GLcontext *ctx, GLenum target, struct program *prog) |
| | Query if program can be loaded onto hardware. More...
|
|
-
Note:
-
drawing functions are above.
These functions are called by their corresponding OpenGL API functions. They are 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, GLfloat ref) |
| | Specify the alpha test function. More...
|
| void(* | BlendColor )(GLcontext *ctx, const GLfloat color[4]) |
| | Set the blend color. More...
|
| void(* | BlendEquationSeparate )(GLcontext *ctx, GLenum modeRGB, GLenum modeA) |
| | Set the blend equation. More...
|
| void(* | BlendFuncSeparate )(GLcontext *ctx, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorA, GLenum dfactorA) |
| | Specify pixel arithmetic. More...
|
| void(* | ClearColor )(GLcontext *ctx, const GLfloat color[4]) |
| | Specify clear values for the color buffers. More...
|
| void(* | ClearDepth )(GLcontext *ctx, GLclampd d) |
| | Specify the clear value for the depth buffer. More...
|
| void(* | ClearIndex )(GLcontext *ctx, GLuint index) |
| | Specify the clear value for the color index buffers. More...
|
| void(* | ClearStencil )(GLcontext *ctx, GLint s) |
| | Specify the clear value for the stencil buffer. More...
|
| void(* | ClipPlane )(GLcontext *ctx, GLenum plane, const GLfloat *equation) |
| | Specify a plane against which all geometry is clipped. More...
|
| void(* | ColorMask )(GLcontext *ctx, GLboolean rmask, GLboolean gmask, GLboolean bmask, GLboolean amask) |
| | Enable and disable writing of frame buffer color components. More...
|
| void(* | ColorMaterial )(GLcontext *ctx, GLenum face, GLenum mode) |
| | Cause a material color to track the current color. More...
|
| void(* | CullFace )(GLcontext *ctx, GLenum mode) |
| | Specify whether front- or back-facing facets can be culled. More...
|
| void(* | FrontFace )(GLcontext *ctx, GLenum mode) |
| | Define front- and back-facing polygons. More...
|
| void(* | DepthFunc )(GLcontext *ctx, GLenum func) |
| | Specify the value used for depth buffer comparisons. More...
|
| void(* | DepthMask )(GLcontext *ctx, GLboolean flag) |
| | Enable or disable writing into the depth buffer. More...
|
| void(* | DepthRange )(GLcontext *ctx, GLclampd nearval, GLclampd farval) |
| | Specify mapping of depth values from NDC to window coordinates. More...
|
| void(* | DrawBuffer )(GLcontext *ctx, GLenum buffer) |
| | Specify the current buffer for writing. More...
|
| void(* | Enable )(GLcontext *ctx, GLenum cap, GLboolean state) |
| | Enable or disable server-side gl capabilities. More...
|
| void(* | Fogfv )(GLcontext *ctx, GLenum pname, const GLfloat *params) |
| | Specify fog parameters. More...
|
| void(* | Hint )(GLcontext *ctx, GLenum target, GLenum mode) |
| | Specify implementation-specific hints. More...
|
| void(* | IndexMask )(GLcontext *ctx, GLuint mask) |
| | Control the writing of individual bits in the color index buffers. More...
|
| void(* | Lightfv )(GLcontext *ctx, GLenum light, GLenum pname, const GLfloat *params) |
| | Set light source parameters. More...
|
| void(* | LightModelfv )(GLcontext *ctx, GLenum pname, const GLfloat *params) |
| | Set the lighting model parameters. More...
|
| void(* | LineStipple )(GLcontext *ctx, GLint factor, GLushort pattern) |
| | Specify the line stipple pattern. More...
|
| void(* | LineWidth )(GLcontext *ctx, GLfloat width) |
| | Specify the width of rasterized lines. More...
|
| void(* | LogicOpcode )(GLcontext *ctx, GLenum opcode) |
| | Specify a logical pixel operation for color index rendering. More...
|
| void(* | PointParameterfv )(GLcontext *ctx, GLenum pname, const GLfloat *params) |
| void(* | PointSize )(GLcontext *ctx, GLfloat size) |
| | Specify the diameter of rasterized points. More...
|
| void(* | PolygonMode )(GLcontext *ctx, GLenum face, GLenum mode) |
| | Select a polygon rasterization mode. More...
|
| void(* | PolygonOffset )(GLcontext *ctx, GLfloat factor, GLfloat units) |
| | Set the scale and units used to calculate depth values. More...
|
| void(* | PolygonStipple )(GLcontext *ctx, const GLubyte *mask) |
| | Set the polygon stippling pattern. More...
|
| void(* | ReadBuffer )(GLcontext *ctx, GLenum buffer) |
| void(* | RenderMode )(GLcontext *ctx, GLenum mode) |
| | Set rasterization mode. More...
|
| void(* | Scissor )(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h) |
| | Define the scissor box. More...
|
| void(* | ShadeModel )(GLcontext *ctx, GLenum mode) |
| | Select flat or smooth shading. More...
|
| void(* | StencilFunc )(GLcontext *ctx, GLenum func, GLint ref, GLuint mask) |
| | Set function and reference value for stencil testing. More...
|
| void(* | StencilMask )(GLcontext *ctx, GLuint mask) |
| | Control the writing of individual bits in the stencil planes. More...
|
| void(* | StencilOp )(GLcontext *ctx, GLenum fail, GLenum zfail, GLenum zpass) |
| | Set stencil test actions. More...
|
| void(* | ActiveStencilFace )(GLcontext *ctx, GLuint face) |
| void(* | TexGen )(GLcontext *ctx, GLenum coord, GLenum pname, const GLfloat *params) |
| | Control the generation of texture coordinates. More...
|
| void(* | TexEnv )(GLcontext *ctx, GLenum target, GLenum pname, const GLfloat *param) |
| | Set texture environment parameters. More...
|
| void(* | TexParameter )(GLcontext *ctx, GLenum target, struct gl_texture_object *texObj, GLenum pname, const GLfloat *params) |
| | Set texture parameters. More...
|
| void(* | TextureMatrix )(GLcontext *ctx, GLuint unit, const GLmatrix *mat) |
| void(* | Viewport )(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h) |
| | Set the viewport. More...
|
|
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) |
| void(* | VertexAttribPointer )(GLcontext *ctx, GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) |
| void(* | LockArraysEXT )(GLcontext *ctx, GLint first, GLsizei count) |
| void(* | UnlockArraysEXT )(GLcontext *ctx) |
|
Return GL_TRUE if query was completed, GL_FALSE otherwise.
|
| GLboolean(* | GetBooleanv )(GLcontext *ctx, GLenum pname, GLboolean *result) |
| | Return the value or values of a selected parameter. More...
|
| GLboolean(* | GetDoublev )(GLcontext *ctx, GLenum pname, GLdouble *result) |
| | Return the value or values of a selected parameter. More...
|
| GLboolean(* | GetFloatv )(GLcontext *ctx, GLenum pname, GLfloat *result) |
| | Return the value or values of a selected parameter. More...
|
| GLboolean(* | GetIntegerv )(GLcontext *ctx, GLenum pname, GLint *result) |
| | Return the value or values of a selected parameter. More...
|
| GLboolean(* | GetPointerv )(GLcontext *ctx, GLenum pname, GLvoid **result) |
| | Return the value or values of a selected parameter. More...
|
Core Mesa uses these function pointers to call into device drivers. Most of these functions directly correspond to OpenGL state commands. Core Mesa will call these functions after error checking has been done so that the drivers don't have to worry about error testing.
Vertex transformation/clipping/lighting is patched into the T&L module. Rasterization functions are patched into the swrast module.
Note: when new functions are added here, the drivers/common/driverfuncs.c file should be updated too!!!