#include "glheader.h"
#include "imports.h"
#include "accum.h"
#include "arrayobj.h"
#include "attrib.h"
#include "blend.h"
#include "buffers.h"
#include "bufferobj.h"
#include "clear.h"
#include "colormac.h"
#include "colortab.h"
#include "context.h"
#include "depth.h"
#include "enable.h"
#include "enums.h"
#include "fog.h"
#include "hint.h"
#include "light.h"
#include "lines.h"
#include "matrix.h"
#include "multisample.h"
#include "points.h"
#include "polygon.h"
#include "scissor.h"
#include "simple_list.h"
#include "stencil.h"
#include "texenv.h"
#include "texgen.h"
#include "texobj.h"
#include "texparam.h"
#include "texstate.h"
#include "varray.h"
#include "viewport.h"
#include "mtypes.h"
Data Structures | |
struct | gl_enable_attrib |
glEnable()/glDisable() attribute group (GL_ENABLE_BIT). More... | |
struct | gl_attrib_node |
Node for the attribute stack. More... | |
struct | texture_state |
Special struct for saving/restoring texture state (GL_TEXTURE_BIT). More... | |
Defines | |
#define | TEST_AND_UPDATE(VALUE, NEWVALUE, ENUM) |
#define | GL_CLIENT_PACK_BIT (1<<20) |
#define | GL_CLIENT_UNPACK_BIT (1<<21) |
Functions | |
static void | save_attrib_data (struct gl_attrib_node **head, GLbitfield kind, void *payload) |
Allocate new attribute node of given type/kind. | |
void GLAPIENTRY | _mesa_PushAttrib (GLbitfield mask) |
static void | pop_enable_group (GLcontext *ctx, const struct gl_enable_attrib *enable) |
static void | pop_texture_group (GLcontext *ctx, struct texture_state *texstate) |
Pop/restore texture attribute/group state. | |
void GLAPIENTRY | _mesa_PopAttrib (void) |
static void | adjust_buffer_object_ref_counts (struct gl_array_object *arrayObj, GLint step) |
Helper for incrementing/decrementing vertex buffer object reference counts when pushing/popping the GL_CLIENT_VERTEX_ARRAY_BIT attribute group. | |
static void | copy_pixelstore (GLcontext *ctx, struct gl_pixelstore_attrib *dst, const struct gl_pixelstore_attrib *src) |
Copy gl_pixelstore_attrib from src to dst, updating buffer object refcounts. | |
void GLAPIENTRY | _mesa_PushClientAttrib (GLbitfield mask) |
void GLAPIENTRY | _mesa_PopClientAttrib (void) |
void | _mesa_free_attrib_data (GLcontext *ctx) |
Free any attribute state data that might be attached to the context. | |
void | _mesa_init_attrib (GLcontext *ctx) |
#define GL_CLIENT_PACK_BIT (1<<20) |
#define GL_CLIENT_UNPACK_BIT (1<<21) |
#define TEST_AND_UPDATE | ( | VALUE, | |||
NEWVALUE, | |||||
ENUM | ) |
Value:
if ((VALUE) != (NEWVALUE)) { \ _mesa_set_enable( ctx, ENUM, (NEWVALUE) ); \ }
void _mesa_free_attrib_data | ( | GLcontext * | ctx | ) |
Free any attribute state data that might be attached to the context.
void _mesa_init_attrib | ( | GLcontext * | ctx | ) |
void GLAPIENTRY _mesa_PopAttrib | ( | void | ) |
void GLAPIENTRY _mesa_PopClientAttrib | ( | void | ) |
void GLAPIENTRY _mesa_PushAttrib | ( | GLbitfield | mask | ) |
void GLAPIENTRY _mesa_PushClientAttrib | ( | GLbitfield | mask | ) |
static void adjust_buffer_object_ref_counts | ( | struct gl_array_object * | arrayObj, | |
GLint | step | |||
) | [static] |
Helper for incrementing/decrementing vertex buffer object reference counts when pushing/popping the GL_CLIENT_VERTEX_ARRAY_BIT attribute group.
static void copy_pixelstore | ( | GLcontext * | ctx, | |
struct gl_pixelstore_attrib * | dst, | |||
const struct gl_pixelstore_attrib * | src | |||
) | [static] |
Copy gl_pixelstore_attrib from src to dst, updating buffer object refcounts.
static void pop_enable_group | ( | GLcontext * | ctx, | |
const struct gl_enable_attrib * | enable | |||
) | [static] |
static void pop_texture_group | ( | GLcontext * | ctx, | |
struct texture_state * | texstate | |||
) | [static] |
Pop/restore texture attribute/group state.
static void save_attrib_data | ( | struct gl_attrib_node ** | head, | |
GLbitfield | kind, | |||
void * | payload | |||
) | [static] |
Allocate new attribute node of given type/kind.
Attach payload data. Insert it into the linked list named by 'head'.