ReactOS  0.4.14-dev-614-gbfd8a84
dlist.c File Reference
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "accum.h"
#include "alpha.h"
#include "attrib.h"
#include "bitmap.h"
#include "blend.h"
#include "clip.h"
#include "colortab.h"
#include "context.h"
#include "copypix.h"
#include "depth.h"
#include "drawpix.h"
#include "enable.h"
#include "eval.h"
#include "feedback.h"
#include "fog.h"
#include "hash.h"
#include "image.h"
#include "light.h"
#include "lines.h"
#include "dlist.h"
#include "logic.h"
#include "macros.h"
#include "masking.h"
#include "matrix.h"
#include "misc.h"
#include "pixel.h"
#include "points.h"
#include "polygon.h"
#include "rastpos.h"
#include "rect.h"
#include "scissor.h"
#include "stencil.h"
#include "texobj.h"
#include "teximage.h"
#include "texstate.h"
#include "types.h"
#include "vb.h"
#include "vbfill.h"
Include dependency graph for dlist.c:

Go to the source code of this file.

Classes

struct  node
 

Macros

#define BLOCK_SIZE   500
 

Enumerations

enum  OpCode {
  OPCODE_ACCUM, OPCODE_ALPHA_FUNC, OPCODE_BEGIN, OPCODE_BIND_TEXTURE,
  OPCODE_BITMAP, OPCODE_BLEND_FUNC, OPCODE_CALL_LIST, OPCODE_CALL_LIST_OFFSET,
  OPCODE_CLEAR, OPCODE_CLEAR_ACCUM, OPCODE_CLEAR_COLOR, OPCODE_CLEAR_DEPTH,
  OPCODE_CLEAR_INDEX, OPCODE_CLEAR_STENCIL, OPCODE_CLIP_PLANE, OPCODE_COLOR_3F,
  OPCODE_COLOR_4F, OPCODE_COLOR_4UB, OPCODE_COLOR_MASK, OPCODE_COLOR_MATERIAL,
  OPCODE_COLOR_TABLE, OPCODE_COLOR_SUB_TABLE, OPCODE_COPY_PIXELS, OPCODE_COPY_TEX_IMAGE1D,
  OPCODE_COPY_TEX_IMAGE2D, OPCODE_COPY_TEX_IMAGE3D, OPCODE_COPY_TEX_SUB_IMAGE1D, OPCODE_COPY_TEX_SUB_IMAGE2D,
  OPCODE_CULL_FACE, OPCODE_DEPTH_FUNC, OPCODE_DEPTH_MASK, OPCODE_DEPTH_RANGE,
  OPCODE_DISABLE, OPCODE_DRAW_BUFFER, OPCODE_DRAW_PIXELS, OPCODE_EDGE_FLAG,
  OPCODE_ENABLE, OPCODE_END, OPCODE_EVALCOORD1, OPCODE_EVALCOORD2,
  OPCODE_EVALMESH1, OPCODE_EVALMESH2, OPCODE_EVALPOINT1, OPCODE_EVALPOINT2,
  OPCODE_FOG, OPCODE_FRONT_FACE, OPCODE_FRUSTUM, OPCODE_HINT,
  OPCODE_INDEX, OPCODE_INDEX_MASK, OPCODE_INIT_NAMES, OPCODE_LIGHT,
  OPCODE_LIGHT_MODEL, OPCODE_LINE_STIPPLE, OPCODE_LINE_WIDTH, OPCODE_LIST_BASE,
  OPCODE_LOAD_IDENTITY, OPCODE_LOAD_MATRIX, OPCODE_LOAD_NAME, OPCODE_LOGIC_OP,
  OPCODE_MAP1, OPCODE_MAP2, OPCODE_MAPGRID1, OPCODE_MAPGRID2,
  OPCODE_MATERIAL, OPCODE_MATRIX_MODE, OPCODE_MULT_MATRIX, OPCODE_NORMAL,
  OPCODE_ORTHO, OPCODE_PASSTHROUGH, OPCODE_PIXEL_MAP, OPCODE_PIXEL_TRANSFER,
  OPCODE_PIXEL_ZOOM, OPCODE_POINT_SIZE, OPCODE_POLYGON_MODE, OPCODE_POLYGON_STIPPLE,
  OPCODE_POLYGON_OFFSET, OPCODE_POP_ATTRIB, OPCODE_POP_MATRIX, OPCODE_POP_NAME,
  OPCODE_PRIORITIZE_TEXTURE, OPCODE_PUSH_ATTRIB, OPCODE_PUSH_MATRIX, OPCODE_PUSH_NAME,
  OPCODE_RASTER_POS, OPCODE_RECTF, OPCODE_READ_BUFFER, OPCODE_SCALE,
  OPCODE_SCISSOR, OPCODE_SHADE_MODEL, OPCODE_STENCIL_FUNC, OPCODE_STENCIL_MASK,
  OPCODE_STENCIL_OP, OPCODE_TEXCOORD2, OPCODE_TEXCOORD4, OPCODE_TEXENV,
  OPCODE_TEXGEN, OPCODE_TEXPARAMETER, OPCODE_TEX_IMAGE1D, OPCODE_TEX_IMAGE2D,
  OPCODE_TEX_SUB_IMAGE1D, OPCODE_TEX_SUB_IMAGE2D, OPCODE_TRANSLATE, OPCODE_VERTEX2,
  OPCODE_VERTEX3, OPCODE_VERTEX4, OPCODE_VIEWPORT, OPCODE_CONTINUE,
  OPCODE_END_OF_LIST
}
 

Functions

static Nodealloc_instruction (GLcontext *ctx, OpCode opcode, GLint argcount)
 
static Nodemake_empty_list (void)
 
void gl_destroy_list (GLcontext *ctx, GLuint list)
 
static GLuint translate_id (GLsizei n, GLenum type, const GLvoid *list)
 
void gl_init_lists (void)
 
void gl_save_Accum (GLcontext *ctx, GLenum op, GLfloat value)
 
void gl_save_AlphaFunc (GLcontext *ctx, GLenum func, GLclampf ref)
 
void gl_save_Begin (GLcontext *ctx, GLenum mode)
 
void gl_save_BindTexture (GLcontext *ctx, GLenum target, GLuint texture)
 
void gl_save_Bitmap (GLcontext *ctx, GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const struct gl_image *bitmap)
 
void gl_save_BlendFunc (GLcontext *ctx, GLenum sfactor, GLenum dfactor)
 
void gl_save_CallList (GLcontext *ctx, GLuint list)
 
void gl_save_CallLists (GLcontext *ctx, GLsizei n, GLenum type, const GLvoid *lists)
 
void gl_save_Clear (GLcontext *ctx, GLbitfield mask)
 
void gl_save_ClearAccum (GLcontext *ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
 
void gl_save_ClearColor (GLcontext *ctx, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
 
void gl_save_ClearDepth (GLcontext *ctx, GLclampd depth)
 
void gl_save_ClearIndex (GLcontext *ctx, GLfloat c)
 
void gl_save_ClearStencil (GLcontext *ctx, GLint s)
 
void gl_save_ClipPlane (GLcontext *ctx, GLenum plane, const GLfloat *equ)
 
void gl_save_Color3f (GLcontext *ctx, GLfloat r, GLfloat g, GLfloat b)
 
void gl_save_Color3fv (GLcontext *ctx, const GLfloat *c)
 
void gl_save_Color4f (GLcontext *ctx, GLfloat r, GLfloat g, GLfloat b, GLfloat a)
 
void gl_save_Color4fv (GLcontext *ctx, const GLfloat *c)
 
void gl_save_Color4ub (GLcontext *ctx, GLubyte r, GLubyte g, GLubyte b, GLubyte a)
 
void gl_save_Color4ubv (GLcontext *ctx, const GLubyte *c)
 
void gl_save_ColorMask (GLcontext *ctx, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
 
void gl_save_ColorMaterial (GLcontext *ctx, GLenum face, GLenum mode)
 
void gl_save_ColorTable (GLcontext *ctx, GLenum target, GLenum internalFormat, struct gl_image *table)
 
void gl_save_ColorSubTable (GLcontext *ctx, GLenum target, GLsizei start, struct gl_image *data)
 
void gl_save_CopyPixels (GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
 
void gl_save_CopyTexImage1D (GLcontext *ctx, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
 
void gl_save_CopyTexImage2D (GLcontext *ctx, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
 
void gl_save_CopyTexSubImage1D (GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
 
void gl_save_CopyTexSubImage2D (GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLint height)
 
void gl_save_CullFace (GLcontext *ctx, GLenum mode)
 
void gl_save_DepthFunc (GLcontext *ctx, GLenum func)
 
void gl_save_DepthMask (GLcontext *ctx, GLboolean mask)
 
void gl_save_DepthRange (GLcontext *ctx, GLclampd nearval, GLclampd farval)
 
void gl_save_Disable (GLcontext *ctx, GLenum cap)
 
void gl_save_DrawBuffer (GLcontext *ctx, GLenum mode)
 
void gl_save_DrawPixels (GLcontext *ctx, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
 
void gl_save_EdgeFlag (GLcontext *ctx, GLboolean flag)
 
void gl_save_Enable (GLcontext *ctx, GLenum cap)
 
void gl_save_End (GLcontext *ctx)
 
void gl_save_EvalCoord1f (GLcontext *ctx, GLfloat u)
 
void gl_save_EvalCoord2f (GLcontext *ctx, GLfloat u, GLfloat v)
 
void gl_save_EvalMesh1 (GLcontext *ctx, GLenum mode, GLint i1, GLint i2)
 
void gl_save_EvalMesh2 (GLcontext *ctx, GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
 
void gl_save_EvalPoint1 (GLcontext *ctx, GLint i)
 
void gl_save_EvalPoint2 (GLcontext *ctx, GLint i, GLint j)
 
void gl_save_Fogfv (GLcontext *ctx, GLenum pname, const GLfloat *params)
 
void gl_save_FrontFace (GLcontext *ctx, GLenum mode)
 
void gl_save_Frustum (GLcontext *ctx, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble nearval, GLdouble farval)
 
void gl_save_Hint (GLcontext *ctx, GLenum target, GLenum mode)
 
void gl_save_Indexi (GLcontext *ctx, GLint index)
 
void gl_save_Indexf (GLcontext *ctx, GLfloat index)
 
void gl_save_IndexMask (GLcontext *ctx, GLuint mask)
 
void gl_save_InitNames (GLcontext *ctx)
 
void gl_save_Lightfv (GLcontext *ctx, GLenum light, GLenum pname, const GLfloat *params, GLint numparams)
 
void gl_save_LightModelfv (GLcontext *ctx, GLenum pname, const GLfloat *params)
 
void gl_save_LineStipple (GLcontext *ctx, GLint factor, GLushort pattern)
 
void gl_save_LineWidth (GLcontext *ctx, GLfloat width)
 
void gl_save_ListBase (GLcontext *ctx, GLuint base)
 
void gl_save_LoadIdentity (GLcontext *ctx)
 
void gl_save_LoadMatrixf (GLcontext *ctx, const GLfloat *m)
 
void gl_save_LoadName (GLcontext *ctx, GLuint name)
 
void gl_save_LogicOp (GLcontext *ctx, GLenum opcode)
 
void gl_save_Map1f (GLcontext *ctx, GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points, GLboolean retain)
 
void gl_save_Map2f (GLcontext *ctx, GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points, GLboolean retain)
 
void gl_save_MapGrid1f (GLcontext *ctx, GLint un, GLfloat u1, GLfloat u2)
 
void gl_save_MapGrid2f (GLcontext *ctx, GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
 
void gl_save_Materialfv (GLcontext *ctx, GLenum face, GLenum pname, const GLfloat *params)
 
void gl_save_MatrixMode (GLcontext *ctx, GLenum mode)
 
void gl_save_MultMatrixf (GLcontext *ctx, const GLfloat *m)
 
void gl_save_NewList (GLcontext *ctx, GLuint list, GLenum mode)
 
void gl_save_Normal3fv (GLcontext *ctx, const GLfloat norm[3])
 
void gl_save_Normal3f (GLcontext *ctx, GLfloat nx, GLfloat ny, GLfloat nz)
 
void gl_save_Ortho (GLcontext *ctx, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble nearval, GLdouble farval)
 
void gl_save_PixelMapfv (GLcontext *ctx, GLenum map, GLint mapsize, const GLfloat *values)
 
void gl_save_PixelTransferf (GLcontext *ctx, GLenum pname, GLfloat param)
 
void gl_save_PixelZoom (GLcontext *ctx, GLfloat xfactor, GLfloat yfactor)
 
void gl_save_PointSize (GLcontext *ctx, GLfloat size)
 
void gl_save_PolygonMode (GLcontext *ctx, GLenum face, GLenum mode)
 
void gl_save_PolygonStipple (GLcontext *ctx, const GLubyte *mask)
 
void gl_save_PolygonOffset (GLcontext *ctx, GLfloat factor, GLfloat units)
 
void gl_save_PopAttrib (GLcontext *ctx)
 
void gl_save_PopMatrix (GLcontext *ctx)
 
void gl_save_PopName (GLcontext *ctx)
 
void gl_save_PrioritizeTextures (GLcontext *ctx, GLsizei num, const GLuint *textures, const GLclampf *priorities)
 
void gl_save_PushAttrib (GLcontext *ctx, GLbitfield mask)
 
void gl_save_PushMatrix (GLcontext *ctx)
 
void gl_save_PushName (GLcontext *ctx, GLuint name)
 
void gl_save_RasterPos4f (GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 
void gl_save_PassThrough (GLcontext *ctx, GLfloat token)
 
void gl_save_ReadBuffer (GLcontext *ctx, GLenum mode)
 
void gl_save_Rectf (GLcontext *ctx, GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
 
void gl_save_Rotatef (GLcontext *ctx, GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
 
void gl_save_Scalef (GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z)
 
void gl_save_Scissor (GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height)
 
void gl_save_ShadeModel (GLcontext *ctx, GLenum mode)
 
void gl_save_StencilFunc (GLcontext *ctx, GLenum func, GLint ref, GLuint mask)
 
void gl_save_StencilMask (GLcontext *ctx, GLuint mask)
 
void gl_save_StencilOp (GLcontext *ctx, GLenum fail, GLenum zfail, GLenum zpass)
 
void gl_save_TexCoord2f (GLcontext *ctx, GLfloat s, GLfloat t)
 
void gl_save_TexCoord4f (GLcontext *ctx, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
 
void gl_save_TexEnvfv (GLcontext *ctx, GLenum target, GLenum pname, const GLfloat *params)
 
void gl_save_TexGenfv (GLcontext *ctx, GLenum coord, GLenum pname, const GLfloat *params)
 
void gl_save_TexParameterfv (GLcontext *ctx, GLenum target, GLenum pname, const GLfloat *params)
 
void gl_save_TexImage1D (GLcontext *ctx, GLenum target, GLint level, GLint components, GLsizei width, GLint border, GLenum format, GLenum type, struct gl_image *teximage)
 
void gl_save_TexImage2D (GLcontext *ctx, GLenum target, GLint level, GLint components, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, struct gl_image *teximage)
 
void gl_save_TexSubImage1D (GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, struct gl_image *image)
 
void gl_save_TexSubImage2D (GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, struct gl_image *image)
 
void gl_save_Translatef (GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z)
 
void gl_save_Vertex2f (GLcontext *ctx, GLfloat x, GLfloat y)
 
void gl_save_Vertex3f (GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z)
 
void gl_save_Vertex4f (GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 
void gl_save_Vertex3fv (GLcontext *ctx, const GLfloat v[3])
 
void gl_save_Viewport (GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height)
 
static void execute_list (GLcontext *ctx, GLuint list)
 
GLboolean gl_IsList (GLcontext *ctx, GLuint list)
 
void gl_DeleteLists (GLcontext *ctx, GLuint list, GLsizei range)
 
GLuint gl_GenLists (GLcontext *ctx, GLsizei range)
 
void gl_NewList (GLcontext *ctx, GLuint list, GLenum mode)
 
void gl_EndList (GLcontext *ctx)
 
void gl_CallList (GLcontext *ctx, GLuint list)
 
void gl_CallLists (GLcontext *ctx, GLsizei n, GLenum type, const GLvoid *lists)
 
void gl_ListBase (GLcontext *ctx, GLuint base)
 

Variables

static GLuint InstSize [OPCODE_END_OF_LIST+1]
 

Macro Definition Documentation

◆ BLOCK_SIZE

#define BLOCK_SIZE   500

Definition at line 220 of file dlist.c.

Enumeration Type Documentation

◆ OpCode

Enumerator
OPCODE_ACCUM 
OPCODE_ALPHA_FUNC 
OPCODE_BEGIN 
OPCODE_BIND_TEXTURE 
OPCODE_BITMAP 
OPCODE_BLEND_FUNC 
OPCODE_CALL_LIST 
OPCODE_CALL_LIST_OFFSET 
OPCODE_CLEAR 
OPCODE_CLEAR_ACCUM 
OPCODE_CLEAR_COLOR 
OPCODE_CLEAR_DEPTH 
OPCODE_CLEAR_INDEX 
OPCODE_CLEAR_STENCIL 
OPCODE_CLIP_PLANE 
OPCODE_COLOR_3F 
OPCODE_COLOR_4F 
OPCODE_COLOR_4UB 
OPCODE_COLOR_MASK 
OPCODE_COLOR_MATERIAL 
OPCODE_COLOR_TABLE 
OPCODE_COLOR_SUB_TABLE 
OPCODE_COPY_PIXELS 
OPCODE_COPY_TEX_IMAGE1D 
OPCODE_COPY_TEX_IMAGE2D 
OPCODE_COPY_TEX_IMAGE3D 
OPCODE_COPY_TEX_SUB_IMAGE1D 
OPCODE_COPY_TEX_SUB_IMAGE2D 
OPCODE_CULL_FACE 
OPCODE_DEPTH_FUNC 
OPCODE_DEPTH_MASK 
OPCODE_DEPTH_RANGE 
OPCODE_DISABLE 
OPCODE_DRAW_BUFFER 
OPCODE_DRAW_PIXELS 
OPCODE_EDGE_FLAG 
OPCODE_ENABLE 
OPCODE_END 
OPCODE_EVALCOORD1 
OPCODE_EVALCOORD2 
OPCODE_EVALMESH1 
OPCODE_EVALMESH2 
OPCODE_EVALPOINT1 
OPCODE_EVALPOINT2 
OPCODE_FOG 
OPCODE_FRONT_FACE 
OPCODE_FRUSTUM 
OPCODE_HINT 
OPCODE_INDEX 
OPCODE_INDEX_MASK 
OPCODE_INIT_NAMES 
OPCODE_LIGHT 
OPCODE_LIGHT_MODEL 
OPCODE_LINE_STIPPLE 
OPCODE_LINE_WIDTH 
OPCODE_LIST_BASE 
OPCODE_LOAD_IDENTITY 
OPCODE_LOAD_MATRIX 
OPCODE_LOAD_NAME 
OPCODE_LOGIC_OP 
OPCODE_MAP1 
OPCODE_MAP2 
OPCODE_MAPGRID1 
OPCODE_MAPGRID2 
OPCODE_MATERIAL 
OPCODE_MATRIX_MODE 
OPCODE_MULT_MATRIX 
OPCODE_NORMAL 
OPCODE_ORTHO 
OPCODE_PASSTHROUGH 
OPCODE_PIXEL_MAP 
OPCODE_PIXEL_TRANSFER 
OPCODE_PIXEL_ZOOM 
OPCODE_POINT_SIZE 
OPCODE_POLYGON_MODE 
OPCODE_POLYGON_STIPPLE 
OPCODE_POLYGON_OFFSET 
OPCODE_POP_ATTRIB 
OPCODE_POP_MATRIX 
OPCODE_POP_NAME 
OPCODE_PRIORITIZE_TEXTURE 
OPCODE_PUSH_ATTRIB 
OPCODE_PUSH_MATRIX 
OPCODE_PUSH_NAME 
OPCODE_RASTER_POS 
OPCODE_RECTF 
OPCODE_READ_BUFFER 
OPCODE_SCALE 
OPCODE_SCISSOR 
OPCODE_SHADE_MODEL 
OPCODE_STENCIL_FUNC 
OPCODE_STENCIL_MASK 
OPCODE_STENCIL_OP 
OPCODE_TEXCOORD2 
OPCODE_TEXCOORD4 
OPCODE_TEXENV 
OPCODE_TEXGEN 
OPCODE_TEXPARAMETER 
OPCODE_TEX_IMAGE1D 
OPCODE_TEX_IMAGE2D 
OPCODE_TEX_SUB_IMAGE1D 
OPCODE_TEX_SUB_IMAGE2D 
OPCODE_TRANSLATE 
OPCODE_VERTEX2 
OPCODE_VERTEX3 
OPCODE_VERTEX4 
OPCODE_VIEWPORT 
OPCODE_CONTINUE 
OPCODE_END_OF_LIST 

Definition at line 229 of file dlist.c.

229  {
230  OPCODE_ACCUM,
232  OPCODE_BEGIN,
238  OPCODE_CLEAR,
267  OPCODE_END,
274  OPCODE_FOG,
277  OPCODE_HINT,
278  OPCODE_INDEX,
281  OPCODE_LIGHT,
290  OPCODE_MAP1,
291  OPCODE_MAP2,
298  OPCODE_ORTHO,
315  OPCODE_RECTF,
317  OPCODE_SCALE,
337  /* The following two are meta instructions */
340 } OpCode;
OpCode
Definition: dlist.c:229

Function Documentation

◆ alloc_instruction()

static Node* alloc_instruction ( GLcontext ctx,
OpCode  opcode,
GLint  argcount 
)
static

Definition at line 381 of file dlist.c.

382 {
383  Node *n, *newblock;
384  GLuint count = InstSize[opcode];
385 
386  assert( count == argcount+1 );
387 
388  if (ctx->CurrentPos + count + 2 > BLOCK_SIZE) {
389  /* This block is full. Allocate a new block and chain to it */
390  n = ctx->CurrentBlock + ctx->CurrentPos;
391  n[0].opcode = OPCODE_CONTINUE;
392  newblock = (Node *) malloc( sizeof(Node) * BLOCK_SIZE );
393  if (!newblock) {
394  gl_error( ctx, GL_OUT_OF_MEMORY, "Building display list" );
395  return NULL;
396  }
397  n[1].next = (Node *) newblock;
398  ctx->CurrentBlock = newblock;
399  ctx->CurrentPos = 0;
400  }
401 
402  n = ctx->CurrentBlock + ctx->CurrentPos;
403  ctx->CurrentPos += count;
404 
405  n[0].opcode = opcode;
406 
407  return n;
408 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLdouble n
Definition: glext.h:7729
#define assert(x)
Definition: debug.h:53
GLuint CurrentPos
Definition: types.h:1311
smooth NULL
Definition: ftsmooth.c:416
#define BLOCK_SIZE
Definition: dlist.c:220
Node * CurrentBlock
Definition: types.h:1310
void gl_error(GLcontext *ctx, GLenum error, const char *s)
Definition: context.c:1421
unsigned int GLuint
Definition: gl.h:159
static GLuint InstSize[OPCODE_END_OF_LIST+1]
Definition: dlist.c:366
#define GL_OUT_OF_MEMORY
Definition: gl.h:699
#define malloc
Definition: debug_ros.c:4
Definition: dlist.c:348

Referenced by gl_EndList(), gl_save_Accum(), gl_save_AlphaFunc(), gl_save_Begin(), gl_save_BindTexture(), gl_save_Bitmap(), gl_save_BlendFunc(), gl_save_CallList(), gl_save_CallLists(), gl_save_Clear(), gl_save_ClearAccum(), gl_save_ClearColor(), gl_save_ClearDepth(), gl_save_ClearIndex(), gl_save_ClearStencil(), gl_save_ClipPlane(), gl_save_Color3f(), gl_save_Color3fv(), gl_save_Color4f(), gl_save_Color4fv(), gl_save_Color4ub(), gl_save_Color4ubv(), gl_save_ColorMask(), gl_save_ColorMaterial(), gl_save_ColorSubTable(), gl_save_ColorTable(), gl_save_CopyPixels(), gl_save_CopyTexImage1D(), gl_save_CopyTexImage2D(), gl_save_CopyTexSubImage1D(), gl_save_CopyTexSubImage2D(), gl_save_CullFace(), gl_save_DepthFunc(), gl_save_DepthMask(), gl_save_DepthRange(), gl_save_Disable(), gl_save_DrawBuffer(), gl_save_DrawPixels(), gl_save_EdgeFlag(), gl_save_Enable(), gl_save_End(), gl_save_EvalCoord1f(), gl_save_EvalCoord2f(), gl_save_EvalMesh1(), gl_save_EvalMesh2(), gl_save_EvalPoint1(), gl_save_EvalPoint2(), gl_save_Fogfv(), gl_save_FrontFace(), gl_save_Frustum(), gl_save_Hint(), gl_save_Indexf(), gl_save_Indexi(), gl_save_IndexMask(), gl_save_InitNames(), gl_save_Lightfv(), gl_save_LightModelfv(), gl_save_LineStipple(), gl_save_LineWidth(), gl_save_ListBase(), gl_save_LoadIdentity(), gl_save_LoadMatrixf(), gl_save_LoadName(), gl_save_LogicOp(), gl_save_Map1f(), gl_save_Map2f(), gl_save_MapGrid1f(), gl_save_MapGrid2f(), gl_save_Materialfv(), gl_save_MatrixMode(), gl_save_MultMatrixf(), gl_save_Normal3f(), gl_save_Normal3fv(), gl_save_Ortho(), gl_save_PassThrough(), gl_save_PixelMapfv(), gl_save_PixelTransferf(), gl_save_PixelZoom(), gl_save_PointSize(), gl_save_PolygonMode(), gl_save_PolygonOffset(), gl_save_PolygonStipple(), gl_save_PopAttrib(), gl_save_PopMatrix(), gl_save_PopName(), gl_save_PrioritizeTextures(), gl_save_PushAttrib(), gl_save_PushMatrix(), gl_save_PushName(), gl_save_RasterPos4f(), gl_save_ReadBuffer(), gl_save_Rectf(), gl_save_Scalef(), gl_save_Scissor(), gl_save_ShadeModel(), gl_save_StencilFunc(), gl_save_StencilMask(), gl_save_StencilOp(), gl_save_TexCoord2f(), gl_save_TexCoord4f(), gl_save_TexEnvfv(), gl_save_TexGenfv(), gl_save_TexImage1D(), gl_save_TexImage2D(), gl_save_TexParameterfv(), gl_save_TexSubImage1D(), gl_save_TexSubImage2D(), gl_save_Translatef(), gl_save_Vertex2f(), gl_save_Vertex3f(), gl_save_Vertex3fv(), gl_save_Vertex4f(), and gl_save_Viewport().

◆ execute_list()

static void execute_list ( GLcontext ctx,
GLuint  list 
)
static

Definition at line 2397 of file dlist.c.

2398 {
2399  Node *n;
2400  GLboolean done;
2401  OpCode opcode;
2402 
2403  if (!gl_IsList(ctx,list))
2404  return;
2405 
2406  ctx->CallDepth++;
2407 
2408  n = (Node *) HashLookup(ctx->Shared->DisplayList, list);
2409 
2410  done = GL_FALSE;
2411  while (!done) {
2412  opcode = n[0].opcode;
2413 
2414  switch (opcode) {
2415  /* Frequently called functions: */
2416  case OPCODE_VERTEX2:
2417  (*ctx->Exec.Vertex2f)( ctx, n[1].f, n[2].f );
2418  break;
2419  case OPCODE_VERTEX3:
2420  (*ctx->Exec.Vertex3f)( ctx, n[1].f, n[2].f, n[3].f );
2421  break;
2422  case OPCODE_VERTEX4:
2423  (*ctx->Exec.Vertex4f)( ctx, n[1].f, n[2].f, n[3].f, n[4].f );
2424  break;
2425  case OPCODE_NORMAL:
2426  ctx->Current.Normal[0] = n[1].f;
2427  ctx->Current.Normal[1] = n[2].f;
2428  ctx->Current.Normal[2] = n[3].f;
2429  ctx->VB->MonoNormal = GL_FALSE;
2430  break;
2431  case OPCODE_COLOR_4UB:
2432  (*ctx->Exec.Color4ub)( ctx, n[1].ub, n[2].ub, n[3].ub, n[4].ub );
2433  break;
2434  case OPCODE_COLOR_3F:
2435  (*ctx->Exec.Color3f)( ctx, n[1].f, n[2].f, n[3].f );
2436  break;
2437  case OPCODE_COLOR_4F:
2438  (*ctx->Exec.Color4f)( ctx, n[1].f, n[2].f, n[3].f, n[4].f );
2439  break;
2440  case OPCODE_INDEX:
2441  ctx->Current.Index = n[1].ui;
2442  ctx->VB->MonoColor = GL_FALSE;
2443  break;
2444  case OPCODE_BEGIN:
2445  gl_Begin( ctx, n[1].e );
2446  break;
2447  case OPCODE_END:
2448  gl_End( ctx );
2449  break;
2450  case OPCODE_TEXCOORD2:
2451  ctx->Current.TexCoord[0] = n[1].f;
2452  ctx->Current.TexCoord[1] = n[2].f;
2453  if (ctx->VB->TexCoordSize==4) {
2454  ctx->Current.TexCoord[2] = 0.0F;
2455  ctx->Current.TexCoord[3] = 1.0F;
2456  }
2457  break;
2458  case OPCODE_TEXCOORD4:
2459  ctx->Current.TexCoord[0] = n[1].f;
2460  ctx->Current.TexCoord[1] = n[2].f;
2461  ctx->Current.TexCoord[2] = n[3].f;
2462  ctx->Current.TexCoord[3] = n[4].f;
2463  if (ctx->VB->TexCoordSize==2) {
2464  /* Switch to 4-component texcoords */
2465  ctx->VB->TexCoordSize = 4;
2467  }
2468  break;
2469 
2470  /* Everything Else: */
2471  case OPCODE_ACCUM:
2472  gl_Accum( ctx, n[1].e, n[2].f );
2473  break;
2474  case OPCODE_ALPHA_FUNC:
2475  gl_AlphaFunc( ctx, n[1].e, n[2].f );
2476  break;
2477  case OPCODE_BIND_TEXTURE:
2478  gl_BindTexture( ctx, n[1].e, n[2].ui );
2479  break;
2480  case OPCODE_BITMAP:
2481  gl_Bitmap( ctx, (GLsizei) n[1].i, (GLsizei) n[2].i,
2482  n[3].f, n[4].f,
2483  n[5].f, n[6].f,
2484  (struct gl_image *) n[7].data );
2485  break;
2486  case OPCODE_BLEND_FUNC:
2487  gl_BlendFunc( ctx, n[1].e, n[2].e );
2488  break;
2489  case OPCODE_CALL_LIST:
2490  /* Generated by glCallList(), don't add ListBase */
2491  if (ctx->CallDepth<MAX_LIST_NESTING) {
2492  execute_list( ctx, n[1].ui );
2493  }
2494  break;
2496  /* Generated by glCallLists() so we must add ListBase */
2497  if (ctx->CallDepth<MAX_LIST_NESTING) {
2498  execute_list( ctx, ctx->List.ListBase + n[1].ui );
2499  }
2500  break;
2501  case OPCODE_CLEAR:
2502  gl_Clear( ctx, n[1].bf );
2503  break;
2504  case OPCODE_CLEAR_COLOR:
2505  gl_ClearColor( ctx, n[1].f, n[2].f, n[3].f, n[4].f );
2506  break;
2507  case OPCODE_CLEAR_ACCUM:
2508  gl_ClearAccum( ctx, n[1].f, n[2].f, n[3].f, n[4].f );
2509  break;
2510  case OPCODE_CLEAR_DEPTH:
2511  gl_ClearDepth( ctx, (GLclampd) n[1].f );
2512  break;
2513  case OPCODE_CLEAR_INDEX:
2514  gl_ClearIndex( ctx, n[1].ui );
2515  break;
2516  case OPCODE_CLEAR_STENCIL:
2517  gl_ClearStencil( ctx, n[1].i );
2518  break;
2519  case OPCODE_CLIP_PLANE:
2520  {
2521  GLfloat equ[4];
2522  equ[0] = n[2].f;
2523  equ[1] = n[3].f;
2524  equ[2] = n[4].f;
2525  equ[3] = n[5].f;
2526  gl_ClipPlane( ctx, n[1].e, equ );
2527  }
2528  break;
2529  case OPCODE_COLOR_MASK:
2530  gl_ColorMask( ctx, n[1].b, n[2].b, n[3].b, n[4].b );
2531  break;
2532  case OPCODE_COLOR_MATERIAL:
2533  gl_ColorMaterial( ctx, n[1].e, n[2].e );
2534  break;
2535  case OPCODE_COLOR_TABLE:
2536  gl_ColorTable( ctx, n[1].e, n[2].e, (struct gl_image *) n[3].data);
2537  break;
2539  gl_ColorSubTable( ctx, n[1].e, n[2].i,
2540  (struct gl_image *) n[3].data);
2541  break;
2542  case OPCODE_COPY_PIXELS:
2543  gl_CopyPixels( ctx, n[1].i, n[2].i,
2544  (GLsizei) n[3].i, (GLsizei) n[4].i, n[5].e );
2545  break;
2547  gl_CopyTexImage1D( ctx, n[1].e, n[2].i, n[3].e, n[4].i,
2548  n[5].i, n[6].i, n[7].i );
2549  break;
2551  gl_CopyTexImage2D( ctx, n[1].e, n[2].i, n[3].e, n[4].i,
2552  n[5].i, n[6].i, n[7].i, n[8].i );
2553  break;
2555  gl_CopyTexSubImage1D( ctx, n[1].e, n[2].i, n[3].i, n[4].i,
2556  n[5].i, n[6].i );
2557  break;
2559  gl_CopyTexSubImage2D( ctx, n[1].e, n[2].i, n[3].i, n[4].i,
2560  n[5].i, n[6].i, n[7].i, n[8].i );
2561  break;
2562  case OPCODE_CULL_FACE:
2563  gl_CullFace( ctx, n[1].e );
2564  break;
2565  case OPCODE_DEPTH_FUNC:
2566  gl_DepthFunc( ctx, n[1].e );
2567  break;
2568  case OPCODE_DEPTH_MASK:
2569  gl_DepthMask( ctx, n[1].b );
2570  break;
2571  case OPCODE_DEPTH_RANGE:
2572  gl_DepthRange( ctx, (GLclampd) n[1].f, (GLclampd) n[2].f );
2573  break;
2574  case OPCODE_DISABLE:
2575  gl_Disable( ctx, n[1].e );
2576  break;
2577  case OPCODE_DRAW_BUFFER:
2578  gl_DrawBuffer( ctx, n[1].e );
2579  break;
2580  case OPCODE_DRAW_PIXELS:
2581  gl_DrawPixels( ctx, (GLsizei) n[1].i, (GLsizei) n[2].i,
2582  n[3].e, n[4].e, n[5].data );
2583  break;
2584  case OPCODE_EDGE_FLAG:
2585  ctx->Current.EdgeFlag = n[1].b;
2586  break;
2587  case OPCODE_ENABLE:
2588  gl_Enable( ctx, n[1].e );
2589  break;
2590  case OPCODE_EVALCOORD1:
2591  gl_EvalCoord1f( ctx, n[1].f );
2592  break;
2593  case OPCODE_EVALCOORD2:
2594  gl_EvalCoord2f( ctx, n[1].f, n[2].f );
2595  break;
2596  case OPCODE_EVALMESH1:
2597  gl_EvalMesh1( ctx, n[1].e, n[2].i, n[3].i );
2598  break;
2599  case OPCODE_EVALMESH2:
2600  gl_EvalMesh2( ctx, n[1].e, n[2].i, n[3].i, n[4].i, n[5].i );
2601  break;
2602  case OPCODE_EVALPOINT1:
2603  gl_EvalPoint1( ctx, n[1].i );
2604  break;
2605  case OPCODE_EVALPOINT2:
2606  gl_EvalPoint2( ctx, n[1].i, n[2].i );
2607  break;
2608  case OPCODE_FOG:
2609  {
2610  GLfloat p[4];
2611  p[0] = n[2].f;
2612  p[1] = n[3].f;
2613  p[2] = n[4].f;
2614  p[3] = n[5].f;
2615  gl_Fogfv( ctx, n[1].e, p );
2616  }
2617  break;
2618  case OPCODE_FRONT_FACE:
2619  gl_FrontFace( ctx, n[1].e );
2620  break;
2621  case OPCODE_FRUSTUM:
2622  gl_Frustum( ctx, n[1].f, n[2].f, n[3].f, n[4].f, n[5].f, n[6].f );
2623  break;
2624  case OPCODE_HINT:
2625  gl_Hint( ctx, n[1].e, n[2].e );
2626  break;
2627  case OPCODE_INDEX_MASK:
2628  gl_IndexMask( ctx, n[1].ui );
2629  break;
2630  case OPCODE_INIT_NAMES:
2631  gl_InitNames( ctx );
2632  break;
2633  case OPCODE_LIGHT:
2634  {
2635  GLfloat p[4];
2636  p[0] = n[3].f;
2637  p[1] = n[4].f;
2638  p[2] = n[5].f;
2639  p[3] = n[6].f;
2640  gl_Lightfv( ctx, n[1].e, n[2].e, p, 4 );
2641  }
2642  break;
2643  case OPCODE_LIGHT_MODEL:
2644  {
2645  GLfloat p[4];
2646  p[0] = n[2].f;
2647  p[1] = n[3].f;
2648  p[2] = n[4].f;
2649  p[3] = n[5].f;
2650  gl_LightModelfv( ctx, n[1].e, p );
2651  }
2652  break;
2653  case OPCODE_LINE_STIPPLE:
2654  gl_LineStipple( ctx, n[1].i, n[2].us );
2655  break;
2656  case OPCODE_LINE_WIDTH:
2657  gl_LineWidth( ctx, n[1].f );
2658  break;
2659  case OPCODE_LIST_BASE:
2660  gl_ListBase( ctx, n[1].ui );
2661  break;
2662  case OPCODE_LOAD_IDENTITY:
2663  gl_LoadIdentity( ctx );
2664  break;
2665  case OPCODE_LOAD_MATRIX:
2666  if (sizeof(Node)==sizeof(GLfloat)) {
2667  gl_LoadMatrixf( ctx, &n[1].f );
2668  }
2669  else {
2670  GLfloat m[16];
2671  GLuint i;
2672  for (i=0;i<16;i++) {
2673  m[i] = n[1+i].f;
2674  }
2675  gl_LoadMatrixf( ctx, m );
2676  }
2677  break;
2678  case OPCODE_LOAD_NAME:
2679  gl_LoadName( ctx, n[1].ui );
2680  break;
2681  case OPCODE_LOGIC_OP:
2682  gl_LogicOp( ctx, n[1].e );
2683  break;
2684  case OPCODE_MAP1:
2685  gl_Map1f( ctx, n[1].e, n[2].f, n[3].f,
2686  n[4].i, n[5].i, (GLfloat *) n[6].data, GL_TRUE );
2687  break;
2688  case OPCODE_MAP2:
2689  gl_Map2f( ctx, n[1].e,
2690  n[2].f, n[3].f, /* u1, u2 */
2691  n[6].i, n[8].i, /* ustride, uorder */
2692  n[4].f, n[5].f, /* v1, v2 */
2693  n[7].i, n[9].i, /* vstride, vorder */
2694  (GLfloat *) n[10].data,
2695  GL_TRUE);
2696  break;
2697  case OPCODE_MAPGRID1:
2698  gl_MapGrid1f( ctx, n[1].i, n[2].f, n[3].f );
2699  break;
2700  case OPCODE_MAPGRID2:
2701  gl_MapGrid2f( ctx, n[1].i, n[2].f, n[3].f, n[4].i, n[5].f, n[6].f);
2702  break;
2703  case OPCODE_MATERIAL:
2704  {
2705  GLfloat params[4];
2706  params[0] = n[3].f;
2707  params[1] = n[4].f;
2708  params[2] = n[5].f;
2709  params[3] = n[6].f;
2710  gl_Materialfv( ctx, n[1].e, n[2].e, params );
2711  }
2712  break;
2713  case OPCODE_MATRIX_MODE:
2714  gl_MatrixMode( ctx, n[1].e );
2715  break;
2716  case OPCODE_MULT_MATRIX:
2717  if (sizeof(Node)==sizeof(GLfloat)) {
2718  gl_MultMatrixf( ctx, &n[1].f );
2719  }
2720  else {
2721  GLfloat m[16];
2722  GLuint i;
2723  for (i=0;i<16;i++) {
2724  m[i] = n[1+i].f;
2725  }
2726  gl_MultMatrixf( ctx, m );
2727  }
2728  break;
2729  case OPCODE_ORTHO:
2730  gl_Ortho( ctx, n[1].f, n[2].f, n[3].f, n[4].f, n[5].f, n[6].f );
2731  break;
2732  case OPCODE_PASSTHROUGH:
2733  gl_PassThrough( ctx, n[1].f );
2734  break;
2735  case OPCODE_PIXEL_MAP:
2736  gl_PixelMapfv( ctx, n[1].e, n[2].i, (GLfloat *) n[3].data );
2737  break;
2738  case OPCODE_PIXEL_TRANSFER:
2739  gl_PixelTransferf( ctx, n[1].e, n[2].f );
2740  break;
2741  case OPCODE_PIXEL_ZOOM:
2742  gl_PixelZoom( ctx, n[1].f, n[2].f );
2743  break;
2744  case OPCODE_POINT_SIZE:
2745  gl_PointSize( ctx, n[1].f );
2746  break;
2747  case OPCODE_POLYGON_MODE:
2748  gl_PolygonMode( ctx, n[1].e, n[2].e );
2749  break;
2751  gl_PolygonStipple( ctx, (GLubyte *) n[1].data );
2752  break;
2753  case OPCODE_POLYGON_OFFSET:
2754  gl_PolygonOffset( ctx, n[1].f, n[2].f );
2755  break;
2756  case OPCODE_POP_ATTRIB:
2757  gl_PopAttrib( ctx );
2758  break;
2759  case OPCODE_POP_MATRIX:
2760  gl_PopMatrix( ctx );
2761  break;
2762  case OPCODE_POP_NAME:
2763  gl_PopName( ctx );
2764  break;
2766  gl_PrioritizeTextures( ctx, 1, &n[1].ui, &n[2].f );
2767  break;
2768  case OPCODE_PUSH_ATTRIB:
2769  gl_PushAttrib( ctx, n[1].bf );
2770  break;
2771  case OPCODE_PUSH_MATRIX:
2772  gl_PushMatrix( ctx );
2773  break;
2774  case OPCODE_PUSH_NAME:
2775  gl_PushName( ctx, n[1].ui );
2776  break;
2777  case OPCODE_RASTER_POS:
2778  gl_RasterPos4f( ctx, n[1].f, n[2].f, n[3].f, n[4].f );
2779  break;
2780  case OPCODE_READ_BUFFER:
2781  gl_ReadBuffer( ctx, n[1].e );
2782  break;
2783  case OPCODE_RECTF:
2784  gl_Rectf( ctx, n[1].f, n[2].f, n[3].f, n[4].f );
2785  break;
2786  case OPCODE_SCALE:
2787  gl_Scalef( ctx, n[1].f, n[2].f, n[3].f );
2788  break;
2789  case OPCODE_SCISSOR:
2790  gl_Scissor( ctx, n[1].i, n[2].i, n[3].i, n[4].i );
2791  break;
2792  case OPCODE_SHADE_MODEL:
2793  gl_ShadeModel( ctx, n[1].e );
2794  break;
2795  case OPCODE_STENCIL_FUNC:
2796  gl_StencilFunc( ctx, n[1].e, n[2].i, n[3].ui );
2797  break;
2798  case OPCODE_STENCIL_MASK:
2799  gl_StencilMask( ctx, n[1].ui );
2800  break;
2801  case OPCODE_STENCIL_OP:
2802  gl_StencilOp( ctx, n[1].e, n[2].e, n[3].e );
2803  break;
2804  case OPCODE_TEXENV:
2805  {
2806  GLfloat params[4];
2807  params[0] = n[3].f;
2808  params[1] = n[4].f;
2809  params[2] = n[5].f;
2810  params[3] = n[6].f;
2811  gl_TexEnvfv( ctx, n[1].e, n[2].e, params );
2812  }
2813  break;
2814  case OPCODE_TEXGEN:
2815  {
2816  GLfloat params[4];
2817  params[0] = n[3].f;
2818  params[1] = n[4].f;
2819  params[2] = n[5].f;
2820  params[3] = n[6].f;
2821  gl_TexGenfv( ctx, n[1].e, n[2].e, params );
2822  }
2823  break;
2824  case OPCODE_TEXPARAMETER:
2825  {
2826  GLfloat params[4];
2827  params[0] = n[3].f;
2828  params[1] = n[4].f;
2829  params[2] = n[5].f;
2830  params[3] = n[6].f;
2831  gl_TexParameterfv( ctx, n[1].e, n[2].e, params );
2832  }
2833  break;
2834  case OPCODE_TEX_IMAGE1D:
2835  gl_TexImage1D( ctx,
2836  n[1].e, /* target */
2837  n[2].i, /* level */
2838  n[3].i, /* components */
2839  n[4].i, /* width */
2840  n[5].e, /* border */
2841  n[6].e, /* format */
2842  n[7].e, /* type */
2843  (struct gl_image *) n[8].data );
2844  break;
2845  case OPCODE_TEX_IMAGE2D:
2846  gl_TexImage2D( ctx,
2847  n[1].e, /* target */
2848  n[2].i, /* level */
2849  n[3].i, /* components */
2850  n[4].i, /* width */
2851  n[5].i, /* height */
2852  n[6].e, /* border */
2853  n[7].e, /* format */
2854  n[8].e, /* type */
2855  (struct gl_image *) n[9].data );
2856  break;
2858  gl_TexSubImage1D( ctx, n[1].e, n[2].i, n[3].i, n[4].i, n[5].e,
2859  n[6].e, (struct gl_image *) n[7].data );
2860  break;
2862  gl_TexSubImage2D( ctx, n[1].e, n[2].i, n[3].i, n[4].i, n[5].e,
2863  n[6].i, n[7].e, n[8].e,
2864  (struct gl_image *) n[9].data );
2865  break;
2866  case OPCODE_TRANSLATE:
2867  gl_Translatef( ctx, n[1].f, n[2].f, n[3].f );
2868  break;
2869  case OPCODE_VIEWPORT:
2870  gl_Viewport( ctx,
2871  n[1].i, n[2].i, (GLsizei) n[3].i, (GLsizei) n[4].i );
2872  break;
2873  case OPCODE_CONTINUE:
2874  n = (Node *) n[1].next;
2875  break;
2876  case OPCODE_END_OF_LIST:
2877  done = GL_TRUE;
2878  break;
2879  default:
2880  {
2881  char msg[1000];
2882  sprintf(msg, "Error in execute_list: opcode=%d", (int) opcode);
2883  gl_problem( ctx, msg );
2884  }
2885  done = GL_TRUE;
2886  }
2887 
2888  /* increment n to point to next compiled command */
2889  if (opcode!=OPCODE_CONTINUE) {
2890  n += InstSize[opcode];
2891  }
2892 
2893  }
2894  ctx->CallDepth--;
2895 }
void gl_DepthFunc(GLcontext *ctx, GLenum func)
Definition: depth.c:98
GLuint CallDepth
Definition: types.h:1305
void gl_TexSubImage2D(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, struct gl_image *image)
Definition: teximage.c:1356
void gl_LogicOp(GLcontext *ctx, GLenum opcode)
Definition: logic.c:66
void gl_Viewport(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height)
Definition: matrix.c:1014
void gl_ReadBuffer(GLcontext *ctx, GLenum mode)
Definition: misc.c:455
void gl_CopyTexSubImage2D(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
Definition: teximage.c:1830
void gl_EvalMesh2(GLcontext *ctx, GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
Definition: eval.c:2374
void gl_AlphaFunc(GLcontext *ctx, GLenum func, GLclampf ref)
Definition: alpha.c:56
void gl_set_vertex_function(GLcontext *ctx)
Definition: vbfill.c:1154
void gl_EvalMesh1(GLcontext *ctx, GLenum mode, GLint i1, GLint i2)
Definition: eval.c:2330
unsigned char GLubyte
Definition: gl.h:157
void gl_CopyTexImage2D(GLcontext *ctx, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
Definition: teximage.c:1648
static const BYTE us[]
Definition: encode.c:689
void gl_Disable(GLcontext *ctx, GLenum cap)
Definition: enable.c:469
#define GL_FALSE
Definition: gl.h:173
void gl_PushAttrib(GLcontext *ctx, GLbitfield mask)
Definition: attrib.c:87
void gl_ColorTable(GLcontext *ctx, GLenum target, GLenum internalFormat, struct gl_image *table)
Definition: colortab.c:129
UINT ui
Definition: oleauto.h:49
void gl_StencilOp(GLcontext *ctx, GLenum fail, GLenum zfail, GLenum zpass)
Definition: stencil.c:127
void gl_ClearAccum(GLcontext *ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
Definition: accum.c:79
void gl_PopAttrib(GLcontext *ctx)
Definition: attrib.c:364
void gl_PopMatrix(GLcontext *ctx)
Definition: matrix.c:653
void gl_ClearIndex(GLcontext *ctx, GLfloat c)
Definition: misc.c:117
void gl_TexSubImage1D(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, struct gl_image *image)
Definition: teximage.c:1249
GLdouble n
Definition: glext.h:7729
void gl_MapGrid1f(GLcontext *ctx, GLint un, GLfloat u1, GLfloat u2)
Definition: eval.c:2236
void gl_DepthMask(GLcontext *ctx, GLboolean flag)
Definition: depth.c:124
struct gl_current_attrib Current
Definition: types.h:1320
void gl_ClearColor(GLcontext *ctx, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
Definition: misc.c:132
void gl_PolygonStipple(GLcontext *ctx, const GLubyte *mask)
Definition: polygon.c:130
#define MAX_LIST_NESTING
Definition: config.h:81
const GLfloat * m
Definition: glext.h:10848
void gl_Clear(GLcontext *ctx, GLbitfield mask)
Definition: misc.c:260
void gl_LoadIdentity(GLcontext *ctx)
Definition: matrix.c:709
void gl_Scalef(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z)
Definition: matrix.c:940
#define sprintf(buf, format,...)
Definition: sprintf.c:55
void gl_LineStipple(GLcontext *ctx, GLint factor, GLushort pattern)
Definition: lines.c:120
void gl_TexEnvfv(GLcontext *ctx, GLenum target, GLenum pname, const GLfloat *param)
Definition: texstate.c:90
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
void gl_Accum(GLcontext *ctx, GLenum op, GLfloat value)
Definition: accum.c:95
void gl_Frustum(GLcontext *ctx, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble nearval, GLdouble farval)
Definition: matrix.c:511
void gl_Ortho(GLcontext *ctx, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble nearval, GLdouble farval)
Definition: matrix.c:553
GLenum const GLfloat * params
Definition: glext.h:5645
void gl_EvalCoord1f(GLcontext *ctx, GLfloat u)
Definition: eval.c:1978
void gl_BlendFunc(GLcontext *ctx, GLenum sfactor, GLenum dfactor)
Definition: blend.c:76
#define e
Definition: ke_i.h:82
int GLsizei
Definition: gl.h:160
unsigned char GLboolean
Definition: gl.h:151
static void execute_list(GLcontext *ctx, GLuint list)
Definition: dlist.c:2397
void * HashLookup(const struct HashTable *table, GLuint key)
Definition: hash.c:110
void gl_ListBase(GLcontext *ctx, GLuint base)
Definition: dlist.c:3089
void gl_TexImage1D(GLcontext *ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, struct gl_image *image)
Definition: teximage.c:1049
GLboolean gl_IsList(GLcontext *ctx, GLuint list)
Definition: dlist.c:2908
void gl_CullFace(GLcontext *ctx, GLenum mode)
Definition: polygon.c:64
void gl_PointSize(GLcontext *ctx, GLfloat size)
Definition: points.c:91
void gl_ShadeModel(GLcontext *ctx, GLenum mode)
Definition: light.c:92
void gl_Translatef(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z)
Definition: matrix.c:976
void gl_Lightfv(GLcontext *ctx, GLenum light, GLenum pname, const GLfloat *params, GLint nparams)
Definition: light.c:114
double GLclampd
Definition: gl.h:164
void gl_IndexMask(GLcontext *ctx, GLuint mask)
Definition: masking.c:64
void gl_Hint(GLcontext *ctx, GLenum target, GLenum mode)
Definition: misc.c:374
GLfloat f
Definition: glext.h:7540
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
void gl_PushMatrix(GLcontext *ctx)
Definition: matrix.c:603
void gl_EvalCoord2f(GLcontext *ctx, GLfloat u, GLfloat v)
Definition: eval.c:2084
void gl_CopyPixels(GLcontext *ctx, GLint srcx, GLint srcy, GLsizei width, GLsizei height, GLenum type)
Definition: copypix.c:454
void gl_PixelZoom(GLcontext *ctx, GLfloat xfactor, GLfloat yfactor)
Definition: pixel.c:112
void gl_LoadMatrixf(GLcontext *ctx, const GLfloat *m)
Definition: matrix.c:738
void gl_MultMatrixf(GLcontext *ctx, const GLfloat *m)
Definition: matrix.c:785
void gl_ClipPlane(GLcontext *ctx, GLenum plane, const GLfloat *equation)
Definition: clip.c:204
void gl_EvalPoint1(GLcontext *ctx, GLint i)
Definition: eval.c:2276
void gl_Enable(GLcontext *ctx, GLenum cap)
Definition: enable.c:462
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
void gl_DrawBuffer(GLcontext *ctx, GLenum mode)
Definition: misc.c:408
void gl_Bitmap(GLcontext *ctx, GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const struct gl_image *bitmap)
Definition: bitmap.c:161
void gl_TexParameterfv(GLcontext *ctx, GLenum target, GLenum pname, const GLfloat *params)
Definition: texstate.c:188
void gl_TexGenfv(GLcontext *ctx, GLenum coord, GLenum pname, const GLfloat *params)
Definition: texstate.c:587
void gl_Fogfv(GLcontext *ctx, GLenum pname, const GLfloat *params)
Definition: fog.c:70
void gl_PolygonMode(GLcontext *ctx, GLenum face, GLenum mode)
Definition: polygon.c:95
void gl_Map1f(GLcontext *ctx, GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points, GLboolean retain)
Definition: eval.c:836
void gl_Materialfv(GLcontext *ctx, GLenum face, GLenum pname, const GLfloat *params)
Definition: light.c:523
struct gl_api_table Exec
Definition: types.h:1270
void gl_InitNames(GLcontext *ctx)
Definition: feedback.c:219
void gl_ColorMask(GLcontext *ctx, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
Definition: masking.c:76
Definition: _list.h:228
void gl_ColorSubTable(GLcontext *ctx, GLenum target, GLsizei start, struct gl_image *data)
Definition: colortab.c:187
void gl_PolygonOffset(GLcontext *ctx, GLfloat factor, GLfloat units)
Definition: polygon.c:161
void gl_problem(const GLcontext *ctx, const char *s)
Definition: context.c:1394
void gl_DepthRange(GLcontext *ctx, GLclampd nearval, GLclampd farval)
Definition: depth.c:141
void gl_DrawPixels(GLcontext *ctx, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
Definition: drawpix.c:1145
static unsigned __int64 next
Definition: rand_nt.c:6
void gl_LineWidth(GLcontext *ctx, GLfloat width)
Definition: lines.c:104
void gl_ClearDepth(GLcontext *ctx, GLclampd depth)
Definition: depth.c:87
unsigned int GLuint
Definition: gl.h:159
void gl_End(GLcontext *ctx)
Definition: vbfill.c:1424
void gl_StencilMask(GLcontext *ctx, GLuint mask)
Definition: stencil.c:116
void gl_StencilFunc(GLcontext *ctx, GLenum func, GLint ref, GLuint mask)
Definition: stencil.c:84
void gl_MatrixMode(GLcontext *ctx, GLenum mode)
Definition: matrix.c:584
#define GL_TRUE
Definition: gl.h:174
static GLuint InstSize[OPCODE_END_OF_LIST+1]
Definition: dlist.c:366
void gl_ColorMaterial(GLcontext *ctx, GLenum face, GLenum mode)
Definition: light.c:485
void gl_RasterPos4f(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Definition: rastpos.c:62
void gl_PopName(GLcontext *ctx)
Definition: feedback.c:327
void gl_PixelMapfv(GLcontext *ctx, GLenum map, GLint mapsize, const GLfloat *values)
Definition: pixel.c:520
void gl_PrioritizeTextures(GLcontext *ctx, GLsizei n, const GLuint *texName, const GLclampf *priorities)
Definition: texobj.c:511
void gl_Rectf(GLcontext *ctx, GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
Definition: rect.c:58
float GLfloat
Definition: gl.h:161
#define msg(x)
Definition: auth_time.c:54
void gl_EvalPoint2(GLcontext *ctx, GLint i, GLint j)
Definition: eval.c:2296
struct gl_list_attrib List
Definition: types.h:1327
void gl_ClearStencil(GLcontext *ctx, GLint s)
Definition: stencil.c:73
void gl_TexImage2D(GLcontext *ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, struct gl_image *image)
Definition: teximage.c:1133
void gl_Map2f(GLcontext *ctx, GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points, GLboolean retain)
Definition: eval.c:988
void gl_Begin(GLcontext *ctx, GLenum p)
Definition: vbfill.c:1341
OpCode
Definition: dlist.c:229
void gl_CopyTexSubImage1D(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
Definition: teximage.c:1783
void gl_LoadName(GLcontext *ctx, GLuint name)
Definition: feedback.c:280
void gl_PushName(GLcontext *ctx, GLuint name)
Definition: feedback.c:305
void gl_Scissor(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height)
Definition: scissor.c:58
struct gl_shared_state * Shared
Definition: types.h:1265
void gl_FrontFace(GLcontext *ctx, GLenum mode)
Definition: polygon.c:80
GLfloat GLfloat p
Definition: glext.h:8902
void gl_LightModelfv(GLcontext *ctx, GLenum pname, const GLfloat *params)
Definition: light.c:327
void gl_MapGrid2f(GLcontext *ctx, GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
Definition: eval.c:2252
struct vertex_buffer * VB
Definition: types.h:1380
void gl_CopyTexImage1D(GLcontext *ctx, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
Definition: teximage.c:1599
void gl_PassThrough(GLcontext *ctx, GLfloat token)
Definition: feedback.c:143
void gl_BindTexture(GLcontext *ctx, GLenum target, GLuint texName)
Definition: texobj.c:402
Definition: dlist.c:348
void gl_PixelTransferf(GLcontext *ctx, GLenum pname, GLfloat param)
Definition: pixel.c:806

Referenced by gl_CallList(), and gl_CallLists().

◆ gl_CallList()

void gl_CallList ( GLcontext ctx,
GLuint  list 
)

Definition at line 3048 of file dlist.c.

3049 {
3050  /* VERY IMPORTANT: Save the CompileFlag status, turn it off, */
3051  /* execute the display list, and restore the CompileFlag. */
3052  GLboolean save_compile_flag;
3053  save_compile_flag = ctx->CompileFlag;
3054  ctx->CompileFlag = GL_FALSE;
3055  execute_list( ctx, list );
3056  ctx->CompileFlag = save_compile_flag;
3057 }
#define GL_FALSE
Definition: gl.h:173
unsigned char GLboolean
Definition: gl.h:151
static void execute_list(GLcontext *ctx, GLuint list)
Definition: dlist.c:2397
GLboolean CompileFlag
Definition: types.h:1307
Definition: _list.h:228

Referenced by init_exec_pointers().

◆ gl_CallLists()

void gl_CallLists ( GLcontext ctx,
GLsizei  n,
GLenum  type,
const GLvoid lists 
)

Definition at line 3064 of file dlist.c.

3066 {
3067  GLuint i, list;
3068  GLboolean save_compile_flag;
3069 
3070  /* Save the CompileFlag status, turn it off, execute display list,
3071  * and restore the CompileFlag.
3072  */
3073  save_compile_flag = ctx->CompileFlag;
3074  ctx->CompileFlag = GL_FALSE;
3075 
3076  for (i=0;i<n;i++) {
3077  list = translate_id( i, type, lists );
3078  execute_list( ctx, ctx->List.ListBase + list );
3079  }
3080 
3081  ctx->CompileFlag = save_compile_flag;
3082 }
static GLuint translate_id(GLsizei n, GLenum type, const GLvoid *list)
Definition: dlist.c:515
#define GL_FALSE
Definition: gl.h:173
GLdouble n
Definition: glext.h:7729
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLsizei GLenum const GLvoid * lists
Definition: glfuncs.h:14
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
unsigned char GLboolean
Definition: gl.h:151
static void execute_list(GLcontext *ctx, GLuint list)
Definition: dlist.c:2397
GLboolean CompileFlag
Definition: types.h:1307
Definition: _list.h:228
unsigned int GLuint
Definition: gl.h:159
#define list
Definition: rosglue.h:35
struct gl_list_attrib List
Definition: types.h:1327

Referenced by init_exec_pointers().

◆ gl_DeleteLists()

void gl_DeleteLists ( GLcontext ctx,
GLuint  list,
GLsizei  range 
)

Definition at line 2923 of file dlist.c.

2924 {
2925  GLuint i;
2926 
2927  if (INSIDE_BEGIN_END(ctx)) {
2928  gl_error( ctx, GL_INVALID_OPERATION, "glDeleteLists" );
2929  return;
2930  }
2931  if (range<0) {
2932  gl_error( ctx, GL_INVALID_VALUE, "glDeleteLists" );
2933  return;
2934  }
2935  for (i=list;i<list+range;i++) {
2936  gl_destroy_list( ctx, i );
2937  }
2938 }
#define INSIDE_BEGIN_END(CTX)
Definition: macros.h:135
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define GL_INVALID_VALUE
Definition: gl.h:695
#define GL_INVALID_OPERATION
Definition: gl.h:696
Definition: _list.h:228
void gl_error(GLcontext *ctx, GLenum error, const char *s)
Definition: context.c:1421
GLenum GLint * range
Definition: glext.h:7539
void gl_destroy_list(GLcontext *ctx, GLuint list)
Definition: dlist.c:429
unsigned int GLuint
Definition: gl.h:159

Referenced by init_dlist_pointers(), and init_exec_pointers().

◆ gl_destroy_list()

void gl_destroy_list ( GLcontext ctx,
GLuint  list 
)

Definition at line 429 of file dlist.c.

430 {
431  Node *n, *block;
432  GLboolean done;
433 
434  block = (Node *) HashLookup(ctx->Shared->DisplayList, list);
435  n = block;
436 
437  done = block ? GL_FALSE : GL_TRUE;
438  while (!done) {
439  switch (n[0].opcode) {
440  /* special cases first */
441  case OPCODE_MAP1:
442  gl_free_control_points( ctx, n[1].e, (GLfloat *) n[6].data );
443  n += InstSize[n[0].opcode];
444  break;
445  case OPCODE_MAP2:
446  gl_free_control_points( ctx, n[1].e, (GLfloat *) n[10].data );
447  n += InstSize[n[0].opcode];
448  break;
449  case OPCODE_DRAW_PIXELS:
450  free( n[5].data );
451  n += InstSize[n[0].opcode];
452  break;
453  case OPCODE_BITMAP:
454  gl_free_image( (struct gl_image *) n[7].data );
455  n += InstSize[n[0].opcode];
456  break;
457  case OPCODE_COLOR_TABLE:
458  gl_free_image( (struct gl_image *) n[3].data );
459  n += InstSize[n[0].opcode];
460  break;
462  gl_free_image( (struct gl_image *) n[3].data );
463  n += InstSize[n[0].opcode];
464  break;
466  free( n[1].data );
467  n += InstSize[n[0].opcode];
468  break;
469  case OPCODE_TEX_IMAGE1D:
470  gl_free_image( (struct gl_image *) n[8].data );
471  n += InstSize[n[0].opcode];
472  break;
473  case OPCODE_TEX_IMAGE2D:
474  gl_free_image( (struct gl_image *) n[9].data );
475  n += InstSize[n[0].opcode];
476  break;
478  {
479  struct gl_image *image;
480  image = (struct gl_image *) n[7].data;
481  gl_free_image( image );
482  }
483  break;
485  {
486  struct gl_image *image;
487  image = (struct gl_image *) n[9].data;
488  gl_free_image( image );
489  }
490  break;
491  case OPCODE_CONTINUE:
492  n = (Node *) n[1].next;
493  free( block );
494  block = n;
495  break;
496  case OPCODE_END_OF_LIST:
497  free( block );
498  done = GL_TRUE;
499  break;
500  default:
501  /* Most frequent case */
502  n += InstSize[n[0].opcode];
503  break;
504  }
505  }
506 
507  HashRemove(ctx->Shared->DisplayList, list);
508 }
static unsigned int block
Definition: xmlmemory.c:118
GLeglImageOES image
Definition: gl.h:2204
#define GL_FALSE
Definition: gl.h:173
#define free
Definition: debug_ros.c:5
GLdouble n
Definition: glext.h:7729
#define e
Definition: ke_i.h:82
unsigned char GLboolean
Definition: gl.h:151
void gl_free_image(struct gl_image *image)
Definition: image.c:661
void * HashLookup(const struct HashTable *table, GLuint key)
Definition: hash.c:110
void HashRemove(struct HashTable *table, GLuint key)
Definition: hash.c:176
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
Definition: _list.h:228
static unsigned __int64 next
Definition: rand_nt.c:6
void gl_free_control_points(GLcontext *ctx, GLenum target, GLfloat *data)
Definition: eval.c:732
#define GL_TRUE
Definition: gl.h:174
static GLuint InstSize[OPCODE_END_OF_LIST+1]
Definition: dlist.c:366
float GLfloat
Definition: gl.h:161
struct gl_shared_state * Shared
Definition: types.h:1265
Definition: dlist.c:348

Referenced by free_shared_state(), gl_DeleteLists(), and gl_EndList().

◆ gl_EndList()

void gl_EndList ( GLcontext ctx)

Definition at line 3020 of file dlist.c.

3021 {
3022  Node *n;
3023 
3024  /* Check that a list is under construction */
3025  if (!ctx->CurrentListPtr) {
3026  gl_error( ctx, GL_INVALID_OPERATION, "glEndList" );
3027  return;
3028  }
3029 
3030  n = alloc_instruction( ctx, OPCODE_END_OF_LIST, 0 );
3031  (void)n;
3032 
3033  /* Destroy old list, if any */
3034  gl_destroy_list(ctx, ctx->CurrentListNum);
3035  /* Install the list */
3036  HashInsert(ctx->Shared->DisplayList, ctx->CurrentListNum, ctx->CurrentListPtr);
3037 
3038  ctx->CurrentListNum = 0;
3039  ctx->CurrentListPtr = NULL;
3040  ctx->ExecuteFlag = GL_TRUE;
3041  ctx->CompileFlag = GL_FALSE;
3042 
3043  ctx->API = ctx->Exec; /* Switch the API function pointers */
3044 }
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
GLboolean ExecuteFlag
Definition: types.h:1306
#define GL_FALSE
Definition: gl.h:173
GLuint CurrentListNum
Definition: types.h:1309
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
smooth NULL
Definition: ftsmooth.c:416
Node * CurrentListPtr
Definition: types.h:1308
void HashInsert(struct HashTable *table, GLuint key, void *data)
Definition: hash.c:138
#define GL_INVALID_OPERATION
Definition: gl.h:696
GLboolean CompileFlag
Definition: types.h:1307
struct gl_api_table Exec
Definition: types.h:1270
void gl_error(GLcontext *ctx, GLenum error, const char *s)
Definition: context.c:1421
void gl_destroy_list(GLcontext *ctx, GLuint list)
Definition: dlist.c:429
struct gl_api_table API
Definition: types.h:1268
#define GL_TRUE
Definition: gl.h:174
struct gl_shared_state * Shared
Definition: types.h:1265
Definition: dlist.c:348

Referenced by init_dlist_pointers(), and init_exec_pointers().

◆ gl_GenLists()

GLuint gl_GenLists ( GLcontext ctx,
GLsizei  range 
)

Definition at line 2946 of file dlist.c.

2947 {
2948  GLuint base;
2949 
2950  if (INSIDE_BEGIN_END(ctx)) {
2951  gl_error( ctx, GL_INVALID_OPERATION, "glGenLists" );
2952  return 0;
2953  }
2954  if (range<0) {
2955  gl_error( ctx, GL_INVALID_VALUE, "glGenLists" );
2956  return 0;
2957  }
2958  if (range==0) {
2959  return 0;
2960  }
2961 
2962  base = HashFindFreeKeyBlock(ctx->Shared->DisplayList, range);
2963  if (base) {
2964  /* reserve the list IDs by with empty/dummy lists */
2965  GLuint i;
2966  for (i=0; i<range; i++) {
2967  HashInsert(ctx->Shared->DisplayList, base+i, make_empty_list());
2968  }
2969  }
2970  return base;
2971 }
GLuint HashFindFreeKeyBlock(const struct HashTable *table, GLuint numKeys)
Definition: hash.c:248
static Node * make_empty_list(void)
Definition: dlist.c:416
#define INSIDE_BEGIN_END(CTX)
Definition: macros.h:135
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
GLuint base
Definition: 3dtext.c:35
void HashInsert(struct HashTable *table, GLuint key, void *data)
Definition: hash.c:138
#define GL_INVALID_VALUE
Definition: gl.h:695
#define GL_INVALID_OPERATION
Definition: gl.h:696
void gl_error(GLcontext *ctx, GLenum error, const char *s)
Definition: context.c:1421
GLenum GLint * range
Definition: glext.h:7539
unsigned int GLuint
Definition: gl.h:159
struct gl_shared_state * Shared
Definition: types.h:1265

Referenced by init_dlist_pointers(), and init_exec_pointers().

◆ gl_init_lists()

void gl_init_lists ( void  )

Definition at line 573 of file dlist.c.

574 {
575  static int init_flag = 0;
576 
577  if (init_flag==0) {
578  InstSize[OPCODE_ACCUM] = 3;
580  InstSize[OPCODE_BEGIN] = 2;
582  InstSize[OPCODE_BITMAP] = 8;
586  InstSize[OPCODE_CLEAR] = 2;
612  InstSize[OPCODE_ENABLE] = 2;
614  InstSize[OPCODE_END] = 1;
621  InstSize[OPCODE_FOG] = 6;
624  InstSize[OPCODE_HINT] = 3;
625  InstSize[OPCODE_INDEX] = 2;
628  InstSize[OPCODE_LIGHT] = 7;
637  InstSize[OPCODE_MAP1] = 7;
638  InstSize[OPCODE_MAP2] = 11;
644  InstSize[OPCODE_NORMAL] = 4;
645  InstSize[OPCODE_ORTHO] = 7;
662  InstSize[OPCODE_RECTF] = 5;
664  InstSize[OPCODE_SCALE] = 4;
672  InstSize[OPCODE_TEXENV] = 7;
673  InstSize[OPCODE_TEXGEN] = 7;
686  }
687  init_flag = 1;
688 }
static GLuint InstSize[OPCODE_END_OF_LIST+1]
Definition: dlist.c:366

Referenced by gl_create_context().

◆ gl_IsList()

GLboolean gl_IsList ( GLcontext ctx,
GLuint  list 
)

Definition at line 2908 of file dlist.c.

2909 {
2910  if (list > 0 && HashLookup(ctx->Shared->DisplayList, list)) {
2911  return GL_TRUE;
2912  }
2913  else {
2914  return GL_FALSE;
2915  }
2916 }
#define GL_FALSE
Definition: gl.h:173
void * HashLookup(const struct HashTable *table, GLuint key)
Definition: hash.c:110
Definition: _list.h:228
#define GL_TRUE
Definition: gl.h:174
struct gl_shared_state * Shared
Definition: types.h:1265

Referenced by execute_list(), init_dlist_pointers(), and init_exec_pointers().

◆ gl_ListBase()

void gl_ListBase ( GLcontext ctx,
GLuint  base 
)

Definition at line 3089 of file dlist.c.

3090 {
3091  if (INSIDE_BEGIN_END(ctx)) {
3092  gl_error( ctx, GL_INVALID_OPERATION, "glListBase" );
3093  return;
3094  }
3095  ctx->List.ListBase = base;
3096 }
#define INSIDE_BEGIN_END(CTX)
Definition: macros.h:135
GLuint base
Definition: 3dtext.c:35
#define GL_INVALID_OPERATION
Definition: gl.h:696
void gl_error(GLcontext *ctx, GLenum error, const char *s)
Definition: context.c:1421
struct gl_list_attrib List
Definition: types.h:1327

Referenced by execute_list(), and init_exec_pointers().

◆ gl_NewList()

void gl_NewList ( GLcontext ctx,
GLuint  list,
GLenum  mode 
)

Definition at line 2978 of file dlist.c.

2979 {
2980  if (INSIDE_BEGIN_END(ctx)) {
2981  gl_error( ctx, GL_INVALID_OPERATION, "glNewList" );
2982  return;
2983  }
2984  if (list==0) {
2985  gl_error( ctx, GL_INVALID_VALUE, "glNewList" );
2986  return;
2987  }
2989  gl_error( ctx, GL_INVALID_ENUM, "glNewList" );
2990  return;
2991  }
2992  if (ctx->CurrentListPtr) {
2993  /* already compiling a display list */
2994  gl_error( ctx, GL_INVALID_OPERATION, "glNewList" );
2995  return;
2996  }
2997 
2998  /* Allocate new display list */
2999  ctx->CurrentListNum = list;
3000  ctx->CurrentListPtr = ctx->CurrentBlock = (Node *) malloc( sizeof(Node) * BLOCK_SIZE );
3001  ctx->CurrentPos = 0;
3002 
3003  ctx->CompileFlag = GL_TRUE;
3004  if (mode==GL_COMPILE) {
3005  ctx->ExecuteFlag = GL_FALSE;
3006  }
3007  else {
3008  /* Compile and execute */
3009  ctx->ExecuteFlag = GL_TRUE;
3010  }
3011 
3012  ctx->API = ctx->Save; /* Switch the API function pointers */
3013 }
GLboolean ExecuteFlag
Definition: types.h:1306
#define GL_FALSE
Definition: gl.h:173
GLuint CurrentListNum
Definition: types.h:1309
struct gl_api_table Save
Definition: types.h:1269
#define INSIDE_BEGIN_END(CTX)
Definition: macros.h:135
GLuint CurrentPos
Definition: types.h:1311
Node * CurrentListPtr
Definition: types.h:1308
#define BLOCK_SIZE
Definition: dlist.c:220
Node * CurrentBlock
Definition: types.h:1310
#define GL_COMPILE_AND_EXECUTE
Definition: gl.h:287
#define GL_INVALID_VALUE
Definition: gl.h:695
#define GL_INVALID_OPERATION
Definition: gl.h:696
GLboolean CompileFlag
Definition: types.h:1307
Definition: _list.h:228
GLenum mode
Definition: glext.h:6217
void gl_error(GLcontext *ctx, GLenum error, const char *s)
Definition: context.c:1421
struct gl_api_table API
Definition: types.h:1268
#define GL_TRUE
Definition: gl.h:174
#define list
Definition: rosglue.h:35
#define GL_INVALID_ENUM
Definition: gl.h:694
#define GL_COMPILE
Definition: gl.h:286
#define malloc
Definition: debug_ros.c:4
Definition: dlist.c:348

Referenced by init_exec_pointers().

◆ gl_save_Accum()

void gl_save_Accum ( GLcontext ctx,
GLenum  op,
GLfloat  value 
)

Definition at line 696 of file dlist.c.

697 {
698  Node *n = alloc_instruction( ctx, OPCODE_ACCUM, 2 );
699  if (n) {
700  n[1].e = op;
701  n[2].f = value;
702  }
703  if (ctx->ExecuteFlag) {
704  (*ctx->Exec.Accum)( ctx, op, value );
705  }
706 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
GLsizei const GLfloat * value
Definition: glext.h:6069
UINT op
Definition: effect.c:223
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_AlphaFunc()

void gl_save_AlphaFunc ( GLcontext ctx,
GLenum  func,
GLclampf  ref 
)

Definition at line 709 of file dlist.c.

710 {
712  if (n) {
713  n[1].e = func;
714  n[2].f = (GLfloat) ref;
715  }
716  if (ctx->ExecuteFlag) {
717  (*ctx->Exec.AlphaFunc)( ctx, func, ref );
718  }
719 }
GLenum func
Definition: glext.h:6028
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
Definition: send.c:47
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
float GLfloat
Definition: gl.h:161
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_Begin()

void gl_save_Begin ( GLcontext ctx,
GLenum  mode 
)

Definition at line 722 of file dlist.c.

723 {
724  Node *n = alloc_instruction( ctx, OPCODE_BEGIN, 1 );
725  if (n) {
726  n[1].e = mode;
727  }
728  if (ctx->ExecuteFlag) {
729  (*ctx->Exec.Begin)( ctx, mode );
730  }
731 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
GLenum mode
Definition: glext.h:6217
Definition: dlist.c:348

Referenced by gl_save_DrawArrays(), gl_save_DrawElements(), and init_dlist_pointers().

◆ gl_save_BindTexture()

void gl_save_BindTexture ( GLcontext ctx,
GLenum  target,
GLuint  texture 
)

Definition at line 734 of file dlist.c.

735 {
737  if (n) {
738  n[1].e = target;
739  n[2].ui = texture;
740  }
741  if (ctx->ExecuteFlag) {
742  (*ctx->Exec.BindTexture)( ctx, target, texture );
743  }
744 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLenum GLuint texture
Definition: glext.h:6295
struct gl_api_table Exec
Definition: types.h:1270
GLenum target
Definition: glext.h:7315
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_Bitmap()

void gl_save_Bitmap ( GLcontext ctx,
GLsizei  width,
GLsizei  height,
GLfloat  xorig,
GLfloat  yorig,
GLfloat  xmove,
GLfloat  ymove,
const struct gl_image bitmap 
)

Definition at line 747 of file dlist.c.

752 {
753  Node *n = alloc_instruction( ctx, OPCODE_BITMAP, 7 );
754  if (n) {
755  n[1].i = (GLint) width;
756  n[2].i = (GLint) height;
757  n[3].f = xorig;
758  n[4].f = yorig;
759  n[5].f = xmove;
760  n[6].f = ymove;
761  n[7].data = (void *) bitmap;
762  }
763  if (ctx->ExecuteFlag) {
764  (*ctx->Exec.Bitmap)( ctx, width, height,
765  xorig, yorig, xmove, ymove, bitmap );
766  }
767 }
GLint GLint GLsizei width
Definition: gl.h:1546
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
Definition: uimain.c:88
struct gl_api_table Exec
Definition: types.h:1270
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
int GLint
Definition: gl.h:156
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_BlendFunc()

void gl_save_BlendFunc ( GLcontext ctx,
GLenum  sfactor,
GLenum  dfactor 
)

Definition at line 770 of file dlist.c.

771 {
773  if (n) {
774  n[1].e = sfactor;
775  n[2].e = dfactor;
776  }
777  if (ctx->ExecuteFlag) {
778  (*ctx->Exec.BlendFunc)( ctx, sfactor, dfactor );
779  }
780 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint GLenum sfactor
Definition: glfuncs.h:252
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint GLenum GLenum dfactor
Definition: glfuncs.h:252
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_CallList()

void gl_save_CallList ( GLcontext ctx,
GLuint  list 
)

Definition at line 783 of file dlist.c.

784 {
786  if (n) {
787  n[1].ui = list;
788  }
789  if (ctx->ExecuteFlag) {
790  (*ctx->Exec.CallList)( ctx, list );
791  }
792 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
Definition: _list.h:228
#define list
Definition: rosglue.h:35
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_CallLists()

void gl_save_CallLists ( GLcontext ctx,
GLsizei  n,
GLenum  type,
const GLvoid lists 
)

Definition at line 795 of file dlist.c.

797 {
798  GLuint i;
799 
800  for (i=0;i<n;i++) {
803  if (n) {
804  n[1].ui = list;
805  }
806  }
807  if (ctx->ExecuteFlag) {
808  (*ctx->Exec.CallLists)( ctx, n, type, lists );
809  }
810 }
static GLuint translate_id(GLsizei n, GLenum type, const GLvoid *list)
Definition: dlist.c:515
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLsizei GLenum const GLvoid * lists
Definition: glfuncs.h:14
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
Definition: _list.h:228
unsigned int GLuint
Definition: gl.h:159
#define list
Definition: rosglue.h:35
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_Clear()

void gl_save_Clear ( GLcontext ctx,
GLbitfield  mask 
)

Definition at line 813 of file dlist.c.

814 {
815  Node *n = alloc_instruction( ctx, OPCODE_CLEAR, 1 );
816  if (n) {
817  n[1].bf = mask;
818  }
819  if (ctx->ExecuteFlag) {
820  (*ctx->Exec.Clear)( ctx, mask );
821  }
822 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
GLenum GLint GLuint mask
Definition: glext.h:6028
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_ClearAccum()

void gl_save_ClearAccum ( GLcontext ctx,
GLfloat  red,
GLfloat  green,
GLfloat  blue,
GLfloat  alpha 
)

Definition at line 825 of file dlist.c.

827 {
829  if (n) {
830  n[1].f = red;
831  n[2].f = green;
832  n[3].f = blue;
833  n[4].f = alpha;
834  }
835  if (ctx->ExecuteFlag) {
836  (*ctx->Exec.ClearAccum)( ctx, red, green, blue, alpha );
837  }
838 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLclampf GLclampf blue
Definition: gl.h:1740
GLclampf green
Definition: gl.h:1740
#define red
Definition: linetest.c:67
struct gl_api_table Exec
Definition: types.h:1270
GLclampf GLclampf GLclampf alpha
Definition: gl.h:1740
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_ClearColor()

void gl_save_ClearColor ( GLcontext ctx,
GLclampf  red,
GLclampf  green,
GLclampf  blue,
GLclampf  alpha 
)

Definition at line 841 of file dlist.c.

843 {
845  if (n) {
846  n[1].f = red;
847  n[2].f = green;
848  n[3].f = blue;
849  n[4].f = alpha;
850  }
851  if (ctx->ExecuteFlag) {
852  (*ctx->Exec.ClearColor)( ctx, red, green, blue, alpha );
853  }
854 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLclampf GLclampf blue
Definition: gl.h:1740
GLclampf green
Definition: gl.h:1740
#define red
Definition: linetest.c:67
struct gl_api_table Exec
Definition: types.h:1270
GLclampf GLclampf GLclampf alpha
Definition: gl.h:1740
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_ClearDepth()

void gl_save_ClearDepth ( GLcontext ctx,
GLclampd  depth 
)

Definition at line 857 of file dlist.c.

858 {
860  if (n) {
861  n[1].f = (GLfloat) depth;
862  }
863  if (ctx->ExecuteFlag) {
864  (*ctx->Exec.ClearDepth)( ctx, depth );
865  }
866 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLint GLint GLsizei GLsizei GLsizei depth
Definition: gl.h:1546
struct gl_api_table Exec
Definition: types.h:1270
float GLfloat
Definition: gl.h:161
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_ClearIndex()

void gl_save_ClearIndex ( GLcontext ctx,
GLfloat  c 
)

Definition at line 869 of file dlist.c.

870 {
872  if (n) {
873  n[1].f = c;
874  }
875  if (ctx->ExecuteFlag) {
876  (*ctx->Exec.ClearIndex)( ctx, c );
877  }
878 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
const GLubyte * c
Definition: glext.h:8905
struct gl_api_table Exec
Definition: types.h:1270
#define c
Definition: ke_i.h:80
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_ClearStencil()

void gl_save_ClearStencil ( GLcontext ctx,
GLint  s 
)

Definition at line 881 of file dlist.c.

882 {
884  if (n) {
885  n[1].i = s;
886  }
887  if (ctx->ExecuteFlag) {
888  (*ctx->Exec.ClearStencil)( ctx, s );
889  }
890 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
GLdouble s
Definition: gl.h:2039
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_ClipPlane()

void gl_save_ClipPlane ( GLcontext ctx,
GLenum  plane,
const GLfloat equ 
)

Definition at line 893 of file dlist.c.

894 {
896  if (n) {
897  n[1].e = plane;
898  n[2].f = equ[0];
899  n[3].f = equ[1];
900  n[4].f = equ[2];
901  n[5].f = equ[3];
902  }
903  if (ctx->ExecuteFlag) {
904  (*ctx->Exec.ClipPlane)( ctx, plane, equ );
905  }
906 }
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum GLint const GLfloat GLenum GLint const GLushort GLint GLint GLsizei GLsizei GLenum GLsizei GLsizei GLenum GLenum const GLvoid GLenum plane
Definition: glfuncs.h:270
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_Color3f()

void gl_save_Color3f ( GLcontext ctx,
GLfloat  r,
GLfloat  g,
GLfloat  b 
)

Definition at line 909 of file dlist.c.

910 {
911  Node *n = alloc_instruction( ctx, OPCODE_COLOR_3F, 3 );
912  if (n) {
913  n[1].f = r;
914  n[2].f = g;
915  n[3].f = b;
916  }
917  if (ctx->ExecuteFlag) {
918  (*ctx->Exec.Color3f)( ctx, r, g, b );
919  }
920 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
#define b
Definition: ke_i.h:79
GLboolean GLboolean g
Definition: glext.h:6204
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
struct gl_api_table Exec
Definition: types.h:1270
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_Color3fv()

void gl_save_Color3fv ( GLcontext ctx,
const GLfloat c 
)

Definition at line 923 of file dlist.c.

924 {
925  Node *n = alloc_instruction( ctx, OPCODE_COLOR_3F, 3 );
926  if (n) {
927  n[1].f = c[0];
928  n[2].f = c[1];
929  n[3].f = c[2];
930  }
931  if (ctx->ExecuteFlag) {
932  (*ctx->Exec.Color3fv)( ctx, c );
933  }
934 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
const GLubyte * c
Definition: glext.h:8905
struct gl_api_table Exec
Definition: types.h:1270
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_Color4f()

void gl_save_Color4f ( GLcontext ctx,
GLfloat  r,
GLfloat  g,
GLfloat  b,
GLfloat  a 
)

Definition at line 937 of file dlist.c.

939 {
940  Node *n = alloc_instruction( ctx, OPCODE_COLOR_4F, 4 );
941  if (n) {
942  n[1].f = r;
943  n[2].f = g;
944  n[3].f = b;
945  n[4].f = a;
946  }
947  if (ctx->ExecuteFlag) {
948  (*ctx->Exec.Color4f)( ctx, r, g, b, a );
949  }
950 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
#define a
Definition: ke_i.h:78
#define b
Definition: ke_i.h:79
GLboolean GLboolean g
Definition: glext.h:6204
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
struct gl_api_table Exec
Definition: types.h:1270
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_Color4fv()

void gl_save_Color4fv ( GLcontext ctx,
const GLfloat c 
)

Definition at line 953 of file dlist.c.

954 {
955  Node *n = alloc_instruction( ctx, OPCODE_COLOR_4F, 4 );
956  if (n) {
957  n[1].f = c[0];
958  n[2].f = c[1];
959  n[3].f = c[2];
960  n[4].f = c[3];
961  }
962  if (ctx->ExecuteFlag) {
963  (*ctx->Exec.Color4fv)( ctx, c );
964  }
965 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
const GLubyte * c
Definition: glext.h:8905
struct gl_api_table Exec
Definition: types.h:1270
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_Color4ub()

void gl_save_Color4ub ( GLcontext ctx,
GLubyte  r,
GLubyte  g,
GLubyte  b,
GLubyte  a 
)

Definition at line 968 of file dlist.c.

970 {
972  if (n) {
973  n[1].ub = r;
974  n[2].ub = g;
975  n[3].ub = b;
976  n[4].ub = a;
977  }
978  if (ctx->ExecuteFlag) {
979  (*ctx->Exec.Color4ub)( ctx, r, g, b, a );
980  }
981 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
#define a
Definition: ke_i.h:78
#define b
Definition: ke_i.h:79
GLboolean GLboolean g
Definition: glext.h:6204
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
struct gl_api_table Exec
Definition: types.h:1270
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_Color4ubv()

void gl_save_Color4ubv ( GLcontext ctx,
const GLubyte c 
)

Definition at line 984 of file dlist.c.

985 {
987  if (n) {
988  n[1].ub = c[0];
989  n[2].ub = c[1];
990  n[3].ub = c[2];
991  n[4].ub = c[3];
992  }
993  if (ctx->ExecuteFlag) {
994  (*ctx->Exec.Color4ubv)( ctx, c );
995  }
996 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
const GLubyte * c
Definition: glext.h:8905
struct gl_api_table Exec
Definition: types.h:1270
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_ColorMask()

void gl_save_ColorMask ( GLcontext ctx,
GLboolean  red,
GLboolean  green,
GLboolean  blue,
GLboolean  alpha 
)

Definition at line 999 of file dlist.c.

1001 {
1002  Node *n = alloc_instruction( ctx, OPCODE_COLOR_MASK, 4 );
1003  if (n) {
1004  n[1].b = red;
1005  n[2].b = green;
1006  n[3].b = blue;
1007  n[4].b = alpha;
1008  }
1009  if (ctx->ExecuteFlag) {
1010  (*ctx->Exec.ColorMask)( ctx, red, green, blue, alpha );
1011  }
1012 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLclampf GLclampf blue
Definition: gl.h:1740
GLclampf green
Definition: gl.h:1740
#define red
Definition: linetest.c:67
struct gl_api_table Exec
Definition: types.h:1270
GLclampf GLclampf GLclampf alpha
Definition: gl.h:1740
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_ColorMaterial()

void gl_save_ColorMaterial ( GLcontext ctx,
GLenum  face,
GLenum  mode 
)

Definition at line 1015 of file dlist.c.

1016 {
1018  if (n) {
1019  n[1].e = face;
1020  n[2].e = mode;
1021  }
1022  if (ctx->ExecuteFlag) {
1023  (*ctx->Exec.ColorMaterial)( ctx, face, mode );
1024  }
1025 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
WORD face[3]
Definition: mesh.c:4747
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
GLenum mode
Definition: glext.h:6217
GLenum GLuint GLint GLenum face
Definition: glext.h:7025
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_ColorSubTable()

void gl_save_ColorSubTable ( GLcontext ctx,
GLenum  target,
GLsizei  start,
struct gl_image data 
)

Definition at line 1047 of file dlist.c.

1049 {
1051  if (n) {
1052  n[1].e = target;
1053  n[2].i = start;
1054  n[3].data = (GLvoid *) data;
1055  if (data) {
1056  /* must retain this image */
1057  data->RefCount = 1;
1058  }
1059  }
1060  if (ctx->ExecuteFlag) {
1061  (*ctx->Exec.ColorSubTable)( ctx, target, start, data );
1062  }
1063 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
struct gl_api_table Exec
Definition: types.h:1270
GLuint start
Definition: gl.h:1545
GLenum target
Definition: glext.h:7315
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_ColorTable()

void gl_save_ColorTable ( GLcontext ctx,
GLenum  target,
GLenum  internalFormat,
struct gl_image table 
)

Definition at line 1028 of file dlist.c.

1030 {
1032  if (n) {
1033  n[1].e = target;
1034  n[2].e = internalFormat;
1035  n[3].data = (GLvoid *) table;
1036  if (table) {
1037  /* must retain this image */
1038  table->RefCount = 1;
1039  }
1040  }
1041  if (ctx->ExecuteFlag) {
1042  (*ctx->Exec.ColorTable)( ctx, target, internalFormat, table );
1043  }
1044 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLenum internalFormat
Definition: glext.h:8404
struct gl_api_table Exec
Definition: types.h:1270
GLenum target
Definition: glext.h:7315
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_CopyPixels()

void gl_save_CopyPixels ( GLcontext ctx,
GLint  x,
GLint  y,
GLsizei  width,
GLsizei  height,
GLenum  type 
)

Definition at line 1067 of file dlist.c.

1069 {
1071  if (n) {
1072  n[1].i = x;
1073  n[2].i = y;
1074  n[3].i = (GLint) width;
1075  n[4].i = (GLint) height;
1076  n[5].e = type;
1077  }
1078  if (ctx->ExecuteFlag) {
1079  (*ctx->Exec.CopyPixels)( ctx, x, y, width, height, type );
1080  }
1081 }
GLint GLint GLsizei width
Definition: gl.h:1546
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
int GLint
Definition: gl.h:156
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_CopyTexImage1D()

void gl_save_CopyTexImage1D ( GLcontext ctx,
GLenum  target,
GLint  level,
GLenum  internalformat,
GLint  x,
GLint  y,
GLsizei  width,
GLint  border 
)

Definition at line 1085 of file dlist.c.

1090 {
1092  if (n) {
1093  n[1].e = target;
1094  n[2].i = level;
1095  n[3].e = internalformat;
1096  n[4].i = x;
1097  n[5].i = y;
1098  n[6].i = width;
1099  n[7].i = border;
1100  }
1101  if (ctx->ExecuteFlag) {
1102  (*ctx->Exec.CopyTexImage1D)( ctx, target, level, internalformat,
1103  x, y, width, border );
1104  }
1105 }
GLint level
Definition: gl.h:1546
GLint GLint GLsizei width
Definition: gl.h:1546
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLint GLint GLsizei GLsizei GLsizei GLint border
Definition: gl.h:1546
struct gl_api_table Exec
Definition: types.h:1270
GLint GLint internalformat
Definition: gl.h:1546
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLenum target
Definition: glext.h:7315
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_CopyTexImage2D()

void gl_save_CopyTexImage2D ( GLcontext ctx,
GLenum  target,
GLint  level,
GLenum  internalformat,
GLint  x,
GLint  y,
GLsizei  width,
GLsizei  height,
GLint  border 
)

Definition at line 1108 of file dlist.c.

1113 {
1115  if (n) {
1116  n[1].e = target;
1117  n[2].i = level;
1118  n[3].e = internalformat;
1119  n[4].i = x;
1120  n[5].i = y;
1121  n[6].i = width;
1122  n[7].i = height;
1123  n[8].i = border;
1124  }
1125  if (ctx->ExecuteFlag) {
1126  (*ctx->Exec.CopyTexImage2D)( ctx, target, level, internalformat,
1127  x, y, width, height, border );
1128  }
1129 }
GLint level
Definition: gl.h:1546
GLint GLint GLsizei width
Definition: gl.h:1546
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLint GLint GLsizei GLsizei GLsizei GLint border
Definition: gl.h:1546
struct gl_api_table Exec
Definition: types.h:1270
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLint GLint internalformat
Definition: gl.h:1546
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLenum target
Definition: glext.h:7315
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_CopyTexSubImage1D()

void gl_save_CopyTexSubImage1D ( GLcontext ctx,
GLenum  target,
GLint  level,
GLint  xoffset,
GLint  x,
GLint  y,
GLsizei  width 
)

Definition at line 1133 of file dlist.c.

1137 {
1139  if (n) {
1140  n[1].e = target;
1141  n[2].i = level;
1142  n[3].i = xoffset;
1143  n[4].i = x;
1144  n[5].i = y;
1145  n[6].i = width;
1146  }
1147  if (ctx->ExecuteFlag) {
1148  (*ctx->Exec.CopyTexSubImage1D)( ctx, target, level, xoffset, x, y, width );
1149  }
1150 }
GLint level
Definition: gl.h:1546
GLint GLint GLsizei width
Definition: gl.h:1546
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLint GLint xoffset
Definition: gl.h:1547
struct gl_api_table Exec
Definition: types.h:1270
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLenum target
Definition: glext.h:7315
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_CopyTexSubImage2D()

void gl_save_CopyTexSubImage2D ( GLcontext ctx,
GLenum  target,
GLint  level,
GLint  xoffset,
GLint  yoffset,
GLint  x,
GLint  y,
GLsizei  width,
GLint  height 
)

Definition at line 1153 of file dlist.c.

1158 {
1160  if (n) {
1161  n[1].e = target;
1162  n[2].i = level;
1163  n[3].i = xoffset;
1164  n[4].i = yoffset;
1165  n[5].i = x;
1166  n[6].i = y;
1167  n[7].i = width;
1168  n[8].i = height;
1169  }
1170  if (ctx->ExecuteFlag) {
1171  (*ctx->Exec.CopyTexSubImage2D)( ctx, target, level, xoffset, yoffset,
1172  x, y, width, height );
1173  }
1174 }
GLint level
Definition: gl.h:1546
GLint GLint GLsizei width
Definition: gl.h:1546
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint yoffset
Definition: gl.h:1547
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLint GLint xoffset
Definition: gl.h:1547
struct gl_api_table Exec
Definition: types.h:1270
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLenum target
Definition: glext.h:7315
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_CullFace()

void gl_save_CullFace ( GLcontext ctx,
GLenum  mode 
)

Definition at line 1176 of file dlist.c.

1177 {
1178  Node *n = alloc_instruction( ctx, OPCODE_CULL_FACE, 1 );
1179  if (n) {
1180  n[1].e = mode;
1181  }
1182  if (ctx->ExecuteFlag) {
1183  (*ctx->Exec.CullFace)( ctx, mode );
1184  }
1185 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
GLenum mode
Definition: glext.h:6217
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_DepthFunc()

void gl_save_DepthFunc ( GLcontext ctx,
GLenum  func 
)

Definition at line 1188 of file dlist.c.

1189 {
1190  Node *n = alloc_instruction( ctx, OPCODE_DEPTH_FUNC, 1 );
1191  if (n) {
1192  n[1].e = func;
1193  }
1194  if (ctx->ExecuteFlag) {
1195  (*ctx->Exec.DepthFunc)( ctx, func );
1196  }
1197 }
GLenum func
Definition: glext.h:6028
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_DepthMask()

void gl_save_DepthMask ( GLcontext ctx,
GLboolean  mask 
)

Definition at line 1200 of file dlist.c.

1201 {
1202  Node *n = alloc_instruction( ctx, OPCODE_DEPTH_MASK, 1 );
1203  if (n) {
1204  n[1].b = mask;
1205  }
1206  if (ctx->ExecuteFlag) {
1207  (*ctx->Exec.DepthMask)( ctx, mask );
1208  }
1209 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
GLenum GLint GLuint mask
Definition: glext.h:6028
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_DepthRange()

void gl_save_DepthRange ( GLcontext ctx,
GLclampd  nearval,
GLclampd  farval 
)

Definition at line 1212 of file dlist.c.

1213 {
1215  if (n) {
1216  n[1].f = (GLfloat) nearval;
1217  n[2].f = (GLfloat) farval;
1218  }
1219  if (ctx->ExecuteFlag) {
1220  (*ctx->Exec.DepthRange)( ctx, nearval, farval );
1221  }
1222 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
float GLfloat
Definition: gl.h:161
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_Disable()

void gl_save_Disable ( GLcontext ctx,
GLenum  cap 
)

Definition at line 1225 of file dlist.c.

1226 {
1227  Node *n = alloc_instruction( ctx, OPCODE_DISABLE, 1 );
1228  if (n) {
1229  n[1].e = cap;
1230  }
1231  if (ctx->ExecuteFlag) {
1232  (*ctx->Exec.Disable)( ctx, cap );
1233  }
1234 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLenum cap
Definition: glext.h:9639
struct gl_api_table Exec
Definition: types.h:1270
#define cap
Definition: glfuncs.h:226
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_DrawBuffer()

void gl_save_DrawBuffer ( GLcontext ctx,
GLenum  mode 
)

Definition at line 1237 of file dlist.c.

1238 {
1240  if (n) {
1241  n[1].e = mode;
1242  }
1243  if (ctx->ExecuteFlag) {
1244  (*ctx->Exec.DrawBuffer)( ctx, mode );
1245  }
1246 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
GLenum mode
Definition: glext.h:6217
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_DrawPixels()

void gl_save_DrawPixels ( GLcontext ctx,
GLsizei  width,
GLsizei  height,
GLenum  format,
GLenum  type,
const GLvoid pixels 
)

Definition at line 1249 of file dlist.c.

1251 {
1253  if (n) {
1254  n[1].i = (GLint) width;
1255  n[2].i = (GLint) height;
1256  n[3].e = format;
1257  n[4].e = type;
1258  n[5].data = (GLvoid *) pixels;
1259  }
1260 /* Special case: gl_DrawPixels takes care of GL_COMPILE_AND_EXECUTE case!
1261  if (ctx->ExecuteFlag) {
1262  (*ctx->Exec.DrawPixels)( ctx, width, height, format, type, pixels );
1263  }
1264 */
1265 }
GLint GLint GLsizei width
Definition: gl.h:1546
GLdouble n
Definition: glext.h:7729
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
Definition: gl.h:1546
int GLint
Definition: gl.h:156
Definition: dlist.c:348

Referenced by gl_DrawPixels().

◆ gl_save_EdgeFlag()

void gl_save_EdgeFlag ( GLcontext ctx,
GLboolean  flag 
)

Definition at line 1268 of file dlist.c.

1269 {
1270  Node *n = alloc_instruction( ctx, OPCODE_EDGE_FLAG, 1 );
1271  if (n) {
1272  n[1].b = flag;
1273  }
1274  if (ctx->ExecuteFlag) {
1275  (*ctx->Exec.EdgeFlag)( ctx, flag );
1276  }
1277 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
Definition: glfuncs.h:52
struct gl_api_table Exec
Definition: types.h:1270
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_Enable()

void gl_save_Enable ( GLcontext ctx,
GLenum  cap 
)

Definition at line 1280 of file dlist.c.

1281 {
1282  Node *n = alloc_instruction( ctx, OPCODE_ENABLE, 1 );
1283  if (n) {
1284  n[1].e = cap;
1285  }
1286  if (ctx->ExecuteFlag) {
1287  (*ctx->Exec.Enable)( ctx, cap );
1288  }
1289 }
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
GLenum cap
Definition: glext.h:9639
struct gl_api_table Exec
Definition: types.h:1270
#define cap
Definition: glfuncs.h:226
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_End()

void gl_save_End ( GLcontext ctx)

Definition at line 1292 of file dlist.c.

1293 {
1294  (void) alloc_instruction( ctx, OPCODE_END, 0 );
1295  if (ctx->ExecuteFlag) {
1296  (*ctx->Exec.End)( ctx );
1297  }
1298 }
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
GLboolean ExecuteFlag
Definition: types.h:1306
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270

Referenced by gl_save_DrawArrays(), gl_save_DrawElements(), and init_dlist_pointers().

◆ gl_save_EvalCoord1f()

void gl_save_EvalCoord1f ( GLcontext ctx,
GLfloat  u 
)

Definition at line 1301 of file dlist.c.

1302 {
1303  Node *n = alloc_instruction( ctx, OPCODE_EVALCOORD1, 1 );
1304  if (n) {
1305  n[1].f = u;
1306  }
1307  if (ctx->ExecuteFlag) {
1308  (*ctx->Exec.EvalCoord1f)( ctx, u );
1309  }
1310 }
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
Definition: glfuncs.h:240
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381
struct gl_api_table Exec
Definition: types.h:1270
Definition: dlist.c:348

Referenced by init_dlist_pointers().

◆ gl_save_EvalCoord2f()

void gl_save_EvalCoord2f ( GLcontext ctx,
GLfloat  u,
GLfloat  v 
)

Definition at line 1313 of file dlist.c.

1314 {
1315  Node *n = alloc_instruction( ctx, OPCODE_EVALCOORD2, 2 );
1316  if (n) {
1317  n[1].f = u;
1318  n[2].f = v;
1319  }
1320  if (ctx->ExecuteFlag) {
1321  (*ctx->Exec.EvalCoord2f)( ctx, u, v );
1322  }
1323 }
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
Definition: glfuncs.h:240
GLboolean ExecuteFlag
Definition: types.h:1306
GLdouble n
Definition: glext.h:7729
static Node * alloc_instruction(GLcontext *ctx, OpCode opcode, GLint argcount)
Definition: dlist.c:381