Defines |
| #define | NEED_SECONDARY_COLOR(CTX) |
| #define | RGBA_LOGICOP_ENABLED(CTX) |
|
checking if inside glBegin/glEnd, etc.
|
| #define | FLUSH_VERTICES(ctx, newstate) |
| #define | FLUSH_CURRENT(ctx, newstate) |
| #define | ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, retval) |
| #define | ASSERT_OUTSIDE_BEGIN_END(ctx) |
| #define | ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx) |
| #define | ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH_WITH_RETVAL(ctx, retval) |
Functions |
| void | _mesa_notifySwapBuffers (__GLcontext *gc) |
| struct _glapi_table * | _mesa_get_dispatch (GLcontext *ctx) |
|
| GLvisual * | _mesa_create_visual (GLboolean rgbFlag, GLboolean dbFlag, GLboolean stereoFlag, GLint redBits, GLint greenBits, GLint blueBits, GLint alphaBits, GLint indexBits, GLint depthBits, GLint stencilBits, GLint accumRedBits, GLint accumGreenBits, GLint accumBlueBits, GLint accumAlphaBits, GLint numSamples) |
| GLboolean | _mesa_initialize_visual (GLvisual *v, GLboolean rgbFlag, GLboolean dbFlag, GLboolean stereoFlag, GLint redBits, GLint greenBits, GLint blueBits, GLint alphaBits, GLint indexBits, GLint depthBits, GLint stencilBits, GLint accumRedBits, GLint accumGreenBits, GLint accumBlueBits, GLint accumAlphaBits, GLint numSamples) |
| void | _mesa_destroy_visual (GLvisual *vis) |
|
| GLcontext * | _mesa_create_context (const GLvisual *visual, GLcontext *share_list, const struct dd_function_table *driverFunctions, void *driverContext) |
| GLboolean | _mesa_initialize_context (GLcontext *ctx, const GLvisual *visual, GLcontext *share_list, const struct dd_function_table *driverFunctions, void *driverContext) |
| void | _mesa_initialize_context_extra (GLcontext *ctx) |
| void | _mesa_free_context_data (GLcontext *ctx) |
| void | _mesa_destroy_context (GLcontext *ctx) |
| void | _mesa_copy_context (const GLcontext *src, GLcontext *dst, GLuint mask) |
| void | _mesa_make_current (GLcontext *ctx, GLframebuffer *drawBuffer, GLframebuffer *readBuffer) |
| GLboolean | _mesa_share_state (GLcontext *ctx, GLcontext *ctxToShare) |
| GLcontext * | _mesa_get_current_context (void) |
|
| void | _mesa_record_error (GLcontext *ctx, GLenum error) |
| void GLAPIENTRY | _mesa_Finish (void) |
| void GLAPIENTRY | _mesa_Flush (void) |
Mesa context and visual-related functions.
There are three large Mesa data types/classes which are meant to be used by device drivers:
- GLcontext: this contains the Mesa rendering state
- GLvisual: this describes the color buffer (RGB vs. ci), whether or not there's a depth buffer, stencil buffer, etc.
- GLframebuffer: contains pointers to the depth buffer, stencil buffer, accum buffer and alpha buffers.
These types should be encapsulated by corresponding device driver data types. See xmesa.h and xmesaP.h for an example.
In OOP terms, GLcontext, GLvisual, and GLframebuffer are base classes which the device driver must derive from.
The following functions create and destroy these data types.
Definition in file context.h.