ReactOS  0.4.15-dev-309-g7c8d563
dd.h
Go to the documentation of this file.
1 /* $Id: dd.h,v 1.15 1997/12/05 04:38:28 brianp Exp $ */
2 
3 /*
4  * Mesa 3-D graphics library
5  * Version: 2.6
6  * Copyright (C) 1995-1997 Brian Paul
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public
19  * License along with this library; if not, write to the Free
20  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  */
22 
23 
24 /*
25  * $Log: dd.h,v $
26  * Revision 1.15 1997/12/05 04:38:28 brianp
27  * added ClearColorAndDepth() function pointer (David Bucciarelli)
28  *
29  * Revision 1.14 1997/11/25 03:39:41 brianp
30  * added TexSubImage() function pointer (David Bucciarelli)
31  *
32  * Revision 1.13 1997/10/29 02:23:54 brianp
33  * added UseGlobalTexturePalette() dd function (David Bucciarelli v20 3dfx)
34  *
35  * Revision 1.12 1997/10/16 02:27:53 brianp
36  * more comments
37  *
38  * Revision 1.11 1997/10/14 00:07:40 brianp
39  * added DavidB's fxmesa v19 changes
40  *
41  * Revision 1.10 1997/09/29 23:26:50 brianp
42  * new texture functions
43  *
44  * Revision 1.9 1997/04/29 01:31:07 brianp
45  * added RasterSetup() function to device driver
46  *
47  * Revision 1.8 1997/04/20 19:47:27 brianp
48  * added RenderVB to device driver
49  *
50  * Revision 1.7 1997/04/20 16:31:08 brianp
51  * added NearFar device driver function
52  *
53  * Revision 1.6 1997/04/12 12:27:31 brianp
54  * added QuadFunc and RectFunc
55  *
56  * Revision 1.5 1997/03/21 01:57:07 brianp
57  * added RendererString() function
58  *
59  * Revision 1.4 1997/02/10 19:22:47 brianp
60  * added device driver Error() function
61  *
62  * Revision 1.3 1997/01/16 03:34:33 brianp
63  * added preliminary texture mapping functions and cleaned up documentation
64  *
65  * Revision 1.2 1996/11/13 03:51:59 brianp
66  * updated comments
67  *
68  * Revision 1.1 1996/09/13 01:38:16 brianp
69  * Initial revision
70  *
71  */
72 
73 
74 #ifndef DD_INCLUDED
75 #define DD_INCLUDED
76 
77 
78 /* THIS FILE ONLY INCLUDED BY types.h !!!!! */
79 
80 
81 /*
82  * Device Driver (DD) interface
83  *
84  *
85  * All device driver functions are accessed through pointers in the
86  * dd_function_table struct (defined below) which is stored in the GLcontext
87  * struct. Since the device driver is strictly accessed trough a table of
88  * function pointers we can:
89  * 1. switch between a number of different device drivers at runtime.
90  * 2. use optimized functions dependant on current rendering state or
91  * frame buffer configuration.
92  *
93  * The function pointers in the dd_function_table struct are divided into
94  * two groups: mandatory and optional.
95  * Mandatory functions have to be implemented by every device driver.
96  * Optional functions may or may not be implemented by the device driver.
97  * The optional functions provide ways to take advantage of special hardware
98  * or optimized algorithms.
99  *
100  * The function pointers in the dd_function_table struct are first
101  * initialized in the "MakeCurrent" function. The "MakeCurrent" function
102  * is a little different in each device driver. See the X/Mesa, GLX, or
103  * OS/Mesa drivers for examples.
104  *
105  * Later, Mesa may call the dd_function_table's UpdateState() function.
106  * This function should initialize the dd_function_table's pointers again.
107  * The UpdateState() function is called whenever the core (GL) rendering
108  * state is changed in a way which may effect rasterization. For example,
109  * the TriangleFunc() pointer may have to point to different functions
110  * depending on whether smooth or flat shading is enabled.
111  *
112  * Note that the first argument to every device driver function is a
113  * GLcontext *. In turn, the GLcontext->DriverCtx pointer points to
114  * the driver-specific context struct. See the X/Mesa or OS/Mesa interface
115  * for an example.
116  *
117  * For more information about writing a device driver see the ddsample.c
118  * file and other device drivers (xmesa[123].c, osmesa.c, etc) for examples.
119  *
120  *
121  * Look below in the dd_function_table struct definition for descriptions
122  * of each device driver function.
123  *
124  *
125  * In the future more function pointers may be added for glReadPixels
126  * glCopyPixels, etc.
127  *
128  *
129  * Notes:
130  * ------
131  * RGBA = red/green/blue/alpha
132  * CI = color index (color mapped mode)
133  * mono = all pixels have the same color or index
134  *
135  * The write_ functions all take an array of mask flags which indicate
136  * whether or not the pixel should be written. One special case exists
137  * in the write_color_span function: if the mask array is NULL, then
138  * draw all pixels. This is an optimization used for glDrawPixels().
139  *
140  * IN ALL CASES:
141  * X coordinates start at 0 at the left and increase to the right
142  * Y coordinates start at 0 at the bottom and increase upward
143  *
144  */
145 
146 
147 
148 
149 
150 /*
151  * Device Driver function table.
152  */
154 
155  /**********************************************************************
156  *** Mandatory functions: these functions must be implemented by ***
157  *** every device driver. ***
158  **********************************************************************/
159 
160  const char * (*RendererString)(void);
161  /*
162  * Return a string which uniquely identifies this device driver.
163  * The string should contain no whitespace. Examples: "X11" "OffScreen"
164  * "MSWindows" "SVGA".
165  */
166 
168  /*
169  * UpdateState() is called whenver Mesa thinks the device driver should
170  * update its state and/or the other pointers (such as PointsFunc,
171  * LineFunc, or TriangleFunc).
172  */
173 
175  /*
176  * Called whenever glClearIndex() is called. Set the index for clearing
177  * the color buffer.
178  */
179 
182  /*
183  * Called whenever glClearColor() is called. Set the color for clearing
184  * the color buffer.
185  */
186 
187  void (*Clear)( GLcontext *ctx,
189  /*
190  * Clear the current color buffer. If 'all' is set the clear the whole
191  * buffer, else clear the region defined by (x,y,width,height).
192  */
193 
195  /*
196  * Sets current color index for drawing flat-shaded primitives.
197  */
198 
199  void (*Color)( GLcontext *ctx,
201  /*
202  * Sets current color for drawing flat-shaded primitives.
203  */
204 
206  /*
207  * Selects either the front or back color buffer for reading and writing.
208  * mode is either GL_FRONT or GL_BACK.
209  */
210 
212  GLuint *width, GLuint *height );
213  /*
214  * Returns the width and height of the current color buffer.
215  */
216 
217 
218  /***
219  *** Functions for writing pixels to the frame buffer:
220  ***/
222  GLuint n, GLint x, GLint y,
223  const GLubyte red[], const GLubyte green[],
224  const GLubyte blue[], const GLubyte alpha[],
225  const GLubyte mask[] );
226  /*
227  * Write a horizontal run of RGBA pixels.
228  */
229 
231  GLuint n, GLint x, GLint y,
232  const GLubyte mask[] );
233  /*
234  * Write a horizontal run of mono-RGBA pixels.
235  */
236 
238  GLuint n, const GLint x[], const GLint y[],
239  const GLubyte red[], const GLubyte green[],
240  const GLubyte blue[], const GLubyte alpha[],
241  const GLubyte mask[] );
242  /*
243  * Write an array of RGBA pixels at random locations.
244  */
245 
247  GLuint n, const GLint x[], const GLint y[],
248  const GLubyte mask[] );
249  /*
250  * Write an array of mono-RGBA pixels at random locations.
251  */
252 
254  GLuint n, GLint x, GLint y, const GLuint index[],
255  const GLubyte mask[] );
256  /*
257  * Write a horizontal run of CI pixels.
258  */
259 
261  GLuint n, GLint x, GLint y,
262  const GLubyte mask[] );
263  /*
264  * Write a horizontal run of mono-CI pixels.
265  */
266 
268  GLuint n, const GLint x[], const GLint y[],
269  const GLuint index[], const GLubyte mask[] );
270  /*
271  * Write a random array of CI pixels.
272  */
273 
275  GLuint n, const GLint x[], const GLint y[],
276  const GLubyte mask[] );
277  /*
278  * Write a random array of mono-CI pixels.
279  */
280 
281  /***
282  *** Functions to read pixels from frame buffer:
283  ***/
285  GLuint n, GLint x, GLint y, GLuint index[] );
286  /*
287  * Read a horizontal run of color index pixels.
288  */
289 
291  GLuint n, GLint x, GLint y,
292  GLubyte red[], GLubyte green[],
293  GLubyte blue[], GLubyte alpha[] );
294  /*
295  * Read a horizontal run of RGBA pixels.
296  */
297 
299  GLuint n, const GLint x[], const GLint y[],
300  GLuint indx[], const GLubyte mask[] );
301  /*
302  * Read a random array of CI pixels.
303  */
304 
306  GLuint n, const GLint x[], const GLint y[],
307  GLubyte red[], GLubyte green[],
308  GLubyte blue[], GLubyte alpha[],
309  const GLubyte mask[] );
310  /*
311  * Read a random array of RGBA pixels.
312  */
313 
314 
315  /**********************************************************************
316  *** Optional functions: these functions may or may not be ***
317  *** implemented by the device driver. If the device driver ***
318  *** doesn't implement them it should never touch these pointers ***
319  *** since Mesa will either set them to NULL or point them at a ***
320  *** fall-back function. ***
321  **********************************************************************/
322 
323  void (*Finish)( GLcontext *ctx );
324  /*
325  * Called whenever glFinish() is called.
326  */
327 
328  void (*Flush)( GLcontext *ctx );
329  /*
330  * Called whenever glFlush() is called.
331  */
332 
334  /*
335  * Implements glIndexMask() if possible, else return GL_FALSE.
336  */
337 
341  /*
342  * Implements glColorMask() if possible, else return GL_FALSE.
343  */
344 
346  /*
347  * Implements glLogicOp() if possible, else return GL_FALSE.
348  */
349 
351  /*
352  * Enable/disable dithering.
353  */
354 
355  void (*Error)( GLcontext *ctx );
356  /*
357  * Called whenever an error is generated. ctx->ErrorValue contains
358  * the error value.
359  */
360 
361  void (*NearFar)( GLcontext *ctx, GLfloat nearVal, GLfloat farVal );
362  /*
363  * Called from glFrustum and glOrtho to tell device driver the
364  * near and far clipping plane Z values. The 3Dfx driver, for example,
365  * uses this.
366  */
367 
368 
369  /***
370  *** For supporting hardware Z buffers:
371  ***/
372 
374  /*
375  * Called when the depth buffer must be allocated or possibly resized.
376  */
377 
379  /*
380  * Clear the depth buffer to depth specified by CC.Depth.Clear value.
381  */
382 
384  GLuint n, GLint x, GLint y, const GLdepth z[],
385  GLubyte mask[] );
387  GLuint n, const GLint x[], const GLint y[],
388  const GLdepth z[], GLubyte mask[] );
389  /*
390  * Apply the depth buffer test to an span/array of pixels and return
391  * an updated pixel mask. This function is not used when accelerated
392  * point, line, polygon functions are used.
393  */
394 
396  GLuint n, GLint x, GLint y, GLfloat depth[]);
398  GLuint n, GLint x, GLint y, GLdepth depth[] );
399  /*
400  * Return depth values as integers for glReadPixels.
401  * Floats should be returned in the range [0,1].
402  * Ints (GLdepth) values should be in the range [0,MAXDEPTH].
403  */
404 
405 
407  GLboolean all, GLint x, GLint y,
408  GLint width, GLint height );
409  /*
410  * If this function is implemented then it will be called when both the
411  * color and depth buffers are to be cleared.
412  */
413 
414 
415  /***
416  *** Accelerated point, line, polygon, glDrawPixels and glBitmap functions:
417  ***/
418 
420  /*
421  * Called to draw an array of points.
422  */
423 
425  /*
426  * Called to draw a line segment.
427  */
428 
430  /*
431  * Called to draw a filled triangle.
432  */
433 
435  /*
436  * Called to draw a filled quadrilateral.
437  */
438 
440  /*
441  * Called to draw a filled, screen-aligned 2-D rectangle.
442  */
443 
447  const GLvoid *pixels );
448  /*
449  * Called from glDrawPixels().
450  */
451 
453  GLfloat xorig, GLfloat yorig,
454  GLfloat xmove, GLfloat ymove,
455  const struct gl_image *bitmap );
456  /*
457  * Called from glBitmap().
458  */
459 
461  void (*End)( GLcontext *ctx );
462  /*
463  * These are called whenever glBegin() or glEnd() are called.
464  * The device driver may do some sort of window locking/unlocking here.
465  */
466 
467 
469  /*
470  * This function, if not NULL, is called whenever new window coordinates
471  * are put in the vertex buffer. The vertices in question are those n
472  * such that start <= n < end.
473  * The device driver can convert the window coords to its own specialized
474  * format. The 3Dfx driver uses this.
475  */
476 
477  GLboolean (*RenderVB)( GLcontext *ctx, GLboolean allDone );
478  /*
479  * This function allows the device driver to rasterize an entire
480  * buffer of primitives at once. See the gl_render_vb() function
481  * in vbrender.c for more details.
482  * Return GL_TRUE if vertex buffer successfully rendered.
483  * Return GL_FALSE if failure, let core Mesa render the vertex buffer.
484  */
485 
486  /***
487  *** Texture mapping functions:
488  ***/
489 
491  /*
492  * Called whenever glTexEnv*() is called.
493  * Pname will be one of GL_TEXTURE_ENV_MODE or GL_TEXTURE_ENV_COLOR.
494  * If pname is GL_TEXTURE_ENV_MODE then param will be one
495  * of GL_MODULATE, GL_BLEND, GL_DECAL, or GL_REPLACE.
496  */
497 
499  struct gl_texture_object *tObj, GLint level,
501  const struct gl_texture_image *image );
502  /*
503  * Called whenever a texture object's image is changed.
504  * texObject is the number of the texture object being changed.
505  * level indicates the mipmap level.
506  * internalFormat is the format in which the texture is to be stored.
507  * image is a pointer to a gl_texture_image struct which contains
508  * the actual image data.
509  */
510 
512  struct gl_texture_object *tObj, GLint level,
516  const struct gl_texture_image *image );
517  /*
518  * Called from glTexSubImage() to define a sub-region of a texture.
519  */
520 
522  struct gl_texture_object *tObj,
523  GLenum pname, const GLfloat *params );
524  /*
525  * Called whenever glTexParameter*() is called.
526  * target is GL_TEXTURE_1D or GL_TEXTURE_2D
527  * texObject is the texture object to modify
528  * pname is one of GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
529  * GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, or GL_TEXTURE_BORDER_COLOR.
530  * params is dependant on pname. See man glTexParameter.
531  */
532 
534  struct gl_texture_object *tObj );
535  /*
536  * Called whenever glBindTexture() is called. This specifies which
537  * texture is to be the current one.
538  */
539 
540  void (*DeleteTexture)( GLcontext *ctx, struct gl_texture_object *tObj );
541  /*
542  * Called when a texture object can be deallocated.
543  */
544 
546  struct gl_texture_object *tObj );
547  /*
548  * Called when the texture's color lookup table is changed.
549  * If tObj is NULL then the shared texture palette ctx->Texture.Palette
550  * was changed.
551  */
552 };
553 
554 
555 
556 #endif
557 
DWORD amask
Definition: surface.c:186
GLeglImageOES image
Definition: gl.h:2204
DWORD bmask
Definition: surface.c:185
GLint level
Definition: gl.h:1546
GLint GLint GLsizei width
Definition: gl.h:1546
void(* WriteIndexSpan)(GLcontext *ctx, GLuint n, GLint x, GLint y, const GLuint index[], const GLubyte mask[])
Definition: dd.h:253
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
GLuint GLenum GLsizei GLsizei GLint GLint GLboolean packed
Definition: glext.h:9271
void(* rect_func)(GLcontext *ctx, GLint x, GLint y, GLint width, GLint height)
Definition: types.h:247
void(* DepthTestPixels)(GLcontext *ctx, GLuint n, const GLint x[], const GLint y[], const GLdepth z[], GLubyte mask[])
Definition: dd.h:386
unsigned char GLubyte
Definition: gl.h:157
void(* WriteMonocolorSpan)(GLcontext *ctx, GLuint n, GLint x, GLint y, const GLubyte mask[])
Definition: dd.h:230
void(* TexImage)(GLcontext *ctx, GLenum target, struct gl_texture_object *tObj, GLint level, GLint internalFormat, const struct gl_texture_image *image)
Definition: dd.h:498
GLdouble n
Definition: glext.h:7729
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
void(* ClearDepthBuffer)(GLcontext *ctx)
Definition: dd.h:378
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
quad_func QuadFunc
Definition: dd.h:434
void(* ReadIndexPixels)(GLcontext *ctx, GLuint n, const GLint x[], const GLint y[], GLuint indx[], const GLubyte mask[])
Definition: dd.h:298
GLuint GLuint end
Definition: gl.h:1545
GLboolean(* ColorMask)(GLcontext *ctx, GLboolean rmask, GLboolean gmask, GLboolean bmask, GLboolean amask)
Definition: dd.h:338
void(* ReadColorPixels)(GLcontext *ctx, GLuint n, const GLint x[], const GLint y[], GLubyte red[], GLubyte green[], GLubyte blue[], GLubyte alpha[], const GLubyte mask[])
Definition: dd.h:305
void(* Finish)(GLcontext *ctx)
Definition: dd.h:323
GLint GLint GLint yoffset
Definition: gl.h:1547
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
void(* line_func)(GLcontext *ctx, GLuint v1, GLuint v2, GLuint pv)
Definition: types.h:239
void(* Clear)(GLcontext *ctx, GLboolean all, GLint x, GLint y, GLint width, GLint height)
Definition: dd.h:187
void(* GetBufferSize)(GLcontext *ctx, GLuint *width, GLuint *height)
Definition: dd.h:211
void(* quad_func)(GLcontext *ctx, GLuint v1, GLuint v2, GLuint v3, GLuint v4, GLuint pv)
Definition: types.h:244
void(* TexSubImage)(GLcontext *ctx, GLenum target, struct gl_texture_object *tObj, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLint internalFormat, const struct gl_texture_image *image)
Definition: dd.h:511
void(* Index)(GLcontext *ctx, GLuint index)
Definition: dd.h:194
GLenum pname
Definition: glext.h:5645
void(* ClearColorAndDepth)(GLcontext *ctx, GLboolean all, GLint x, GLint y, GLint width, GLint height)
Definition: dd.h:406
GLenum GLint GLuint mask
Definition: glext.h:6028
GLenum const GLfloat * params
Definition: glext.h:5645
void(* Error)(GLcontext *ctx)
Definition: dd.h:355
void(* WriteColorPixels)(GLcontext *ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte red[], const GLubyte green[], const GLubyte blue[], const GLubyte alpha[], const GLubyte mask[])
Definition: dd.h:237
int GLsizei
Definition: gl.h:160
GLint GLint xoffset
Definition: gl.h:1547
unsigned char GLboolean
Definition: gl.h:151
DWORD gmask
Definition: surface.c:184
GLdouble GLdouble z
Definition: glext.h:5874
void(* NearFar)(GLcontext *ctx, GLfloat nearVal, GLfloat farVal)
Definition: dd.h:361
void(* TexParameter)(GLcontext *ctx, GLenum target, struct gl_texture_object *tObj, GLenum pname, const GLfloat *params)
Definition: dd.h:521
triangle_func TriangleFunc
Definition: dd.h:429
GLuint index
Definition: glext.h:6031
GLclampf GLclampf blue
Definition: gl.h:1740
void(* ReadIndexSpan)(GLcontext *ctx, GLuint n, GLint x, GLint y, GLuint index[])
Definition: dd.h:284
void(* RasterSetup)(GLcontext *ctx, GLuint start, GLuint end)
Definition: dd.h:468
void(* ReadDepthSpanFloat)(GLcontext *ctx, GLuint n, GLint x, GLint y, GLfloat depth[])
Definition: dd.h:395
GLenum internalFormat
Definition: glext.h:8404
void(* AllocDepthBuffer)(GLcontext *ctx)
Definition: dd.h:373
void(* ClearIndex)(GLcontext *ctx, GLuint index)
Definition: dd.h:174
GLint GLdepth
Definition: types.h:218
GLfloat param
Definition: glext.h:5796
GLclampf green
Definition: gl.h:1740
void(* DeleteTexture)(GLcontext *ctx, struct gl_texture_object *tObj)
Definition: dd.h:540
void(* BindTexture)(GLcontext *ctx, GLenum target, struct gl_texture_object *tObj)
Definition: dd.h:533
UINT op
Definition: effect.c:224
#define red
Definition: linetest.c:67
void(* WriteIndexPixels)(GLcontext *ctx, GLuint n, const GLint x[], const GLint y[], const GLuint index[], const GLubyte mask[])
Definition: dd.h:267
void(* WriteMonoindexPixels)(GLcontext *ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte mask[])
Definition: dd.h:274
GLint GLint GLsizei GLsizei GLsizei depth
Definition: gl.h:1546
void(* Begin)(GLcontext *ctx, GLenum mode)
Definition: dd.h:460
GLuint(* DepthTestSpan)(GLcontext *ctx, GLuint n, GLint x, GLint y, const GLdepth z[], GLubyte mask[])
Definition: dd.h:383
#define index(s, c)
Definition: various.h:29
void(* WriteMonocolorPixels)(GLcontext *ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte mask[])
Definition: dd.h:246
unsigned int GLenum
Definition: gl.h:150
GLenum mode
Definition: glext.h:6217
GLboolean(* RenderVB)(GLcontext *ctx, GLboolean allDone)
Definition: dd.h:477
GLboolean(* SetBuffer)(GLcontext *ctx, GLenum mode)
Definition: dd.h:205
void(* End)(GLcontext *ctx)
Definition: dd.h:461
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLboolean(* LogicOp)(GLcontext *ctx, GLenum op)
Definition: dd.h:345
line_func LineFunc
Definition: dd.h:424
GLboolean enable
Definition: glext.h:11120
void(* Flush)(GLcontext *ctx)
Definition: dd.h:328
unsigned int GLuint
Definition: gl.h:159
void(* ClearColor)(GLcontext *ctx, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
Definition: dd.h:180
rect_func RectFunc
Definition: dd.h:439
GLuint start
Definition: gl.h:1545
void(* ReadColorSpan)(GLcontext *ctx, GLuint n, GLint x, GLint y, GLubyte red[], GLubyte green[], GLubyte blue[], GLubyte alpha[])
Definition: dd.h:290
void(* WriteMonoindexSpan)(GLcontext *ctx, GLuint n, GLint x, GLint y, const GLubyte mask[])
Definition: dd.h:260
void(* WriteColorSpan)(GLcontext *ctx, GLuint n, GLint x, GLint y, const GLubyte red[], const GLubyte green[], const GLubyte blue[], const GLubyte alpha[], const GLubyte mask[])
Definition: dd.h:221
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
Definition: gl.h:1546
GLboolean(* IndexMask)(GLcontext *ctx, GLuint mask)
Definition: dd.h:333
points_func PointsFunc
Definition: dd.h:419
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
void(* UpdateTexturePalette)(GLcontext *ctx, struct gl_texture_object *tObj)
Definition: dd.h:545
void(* Dither)(GLcontext *ctx, GLboolean enable)
Definition: dd.h:350
float GLfloat
Definition: gl.h:161
void(* ReadDepthSpanInt)(GLcontext *ctx, GLuint n, GLint x, GLint y, GLdepth depth[])
Definition: dd.h:397
GLclampf GLclampf GLclampf alpha
Definition: gl.h:1740
GLboolean(* DrawPixels)(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLboolean packed, const GLvoid *pixels)
Definition: dd.h:444
GLenum target
Definition: glext.h:7315
int GLint
Definition: gl.h:156
static HBITMAP bitmap
Definition: clipboard.c:1344
void(* UpdateState)(GLcontext *ctx)
Definition: dd.h:167
void(* TexEnv)(GLcontext *ctx, GLenum pname, const GLfloat *param)
Definition: dd.h:490
DWORD rmask
Definition: surface.c:183
void(* triangle_func)(GLcontext *ctx, GLuint v1, GLuint v2, GLuint v3, GLuint pv)
Definition: types.h:241
void(* points_func)(GLcontext *ctx, GLuint first, GLuint last)
Definition: types.h:237