282#include <sys/times.h>
305 if (
time>prev_time) {
321 ctx->BeginEndCount = 0;
322 ctx->BeginEndTime = 0.0;
323 ctx->VertexCount = 0;
324 ctx->VertexTime = 0.0;
326 ctx->PointTime = 0.0;
329 ctx->PolygonCount = 0;
330 ctx->PolygonTime = 0.0;
332 ctx->ClearTime = 0.0;
354 if (
ctx->BeginEndTime>0.0) {
355 beginendrate =
ctx->BeginEndCount /
ctx->BeginEndTime;
360 if (
ctx->VertexTime>0.0) {
361 vertexrate =
ctx->VertexCount /
ctx->VertexTime;
366 if (
ctx->PointTime>0.0) {
367 pointrate =
ctx->PointCount /
ctx->PointTime;
372 if (
ctx->LineTime>0.0) {
373 linerate =
ctx->LineCount /
ctx->LineTime;
378 if (
ctx->PolygonTime>0.0) {
379 polygonrate =
ctx->PolygonCount /
ctx->PolygonTime;
384 if (
ctx->ClearTime>0.0) {
385 clearrate =
ctx->ClearCount /
ctx->ClearTime;
390 if (
ctx->SwapTime>0.0) {
391 swaprate =
ctx->SwapCount /
ctx->SwapTime;
397 if (
ctx->BeginEndCount>0) {
404 overhead =
ctx->BeginEndTime -
ctx->VertexTime -
ctx->PointTime
405 -
ctx->LineTime -
ctx->PolygonTime;
408 printf(
" Count Time (s) Rate (/s) \n");
409 printf(
"--------------------------------------------------------\n");
410 printf(
"glBegin/glEnd %7d %8.3f %10.3f\n",
411 ctx->BeginEndCount,
ctx->BeginEndTime, beginendrate);
412 printf(
" vertexes transformed %7d %8.3f %10.3f\n",
413 ctx->VertexCount,
ctx->VertexTime, vertexrate );
414 printf(
" points rasterized %7d %8.3f %10.3f\n",
415 ctx->PointCount,
ctx->PointTime, pointrate );
416 printf(
" lines rasterized %7d %8.3f %10.3f\n",
417 ctx->LineCount,
ctx->LineTime, linerate );
418 printf(
" polygons rasterized %7d %8.3f %10.3f\n",
419 ctx->PolygonCount,
ctx->PolygonTime, polygonrate );
420 printf(
" overhead %8.3f\n", overhead );
421 printf(
"glClear %7d %8.3f %10.3f\n",
422 ctx->ClearCount,
ctx->ClearTime, clearrate );
423 printf(
"SwapBuffers %7d %8.3f %10.3f\n",
424 ctx->SwapCount,
ctx->SwapTime, swaprate );
427 printf(
"Average number of vertices per begin/end: %8.3f\n", avgvertices );
459 if (!
ss->DisplayList || !
ss->TexObjects
460 || !
ss->Default1D || !
ss->Default2D) {
462 if (!
ss->DisplayList)
497 while (
ss->TexObjectList)
527 l->SpotExponent = 0.0;
529 l->SpotCutoff = 180.0;
531 l->ConstantAttenuation = 1.0;
532 l->LinearAttenuation = 0.0;
533 l->QuadraticAttenuation = 0.0;
549 ASSIGN_4V(
m->Ambient, 0.2f, 0.2f, 0.2f, 1.0f );
550 ASSIGN_4V(
m->Diffuse, 0.8f, 0.8f, 0.8f, 1.0f );
551 ASSIGN_4V(
m->Specular, 0.0f, 0.0f, 0.0f, 1.0f );
552 ASSIGN_4V(
m->Emission, 0.0f, 0.0f, 0.0f, 1.0f );
556 m->SpecularIndex = 1;
581 ctx->ModelViewStackDepth = 0;
587 ctx->ProjectionStackDepth = 0;
588 ctx->NearFarStack[0][0] = 1.0;
589 ctx->NearFarStack[0][1] = 0.0;
595 ctx->TextureStackDepth = 0;
601 ctx->Color.IndexMask = 0xffffffff;
602 ctx->Color.ColorMask = 0xf;
604 ctx->Color.ClearIndex = 0;
609 ctx->Color.AlphaRef = 0.0;
610 ctx->Color.AlphaRefUbyte = 0;
621 ctx->Current.Index = 1;
623 ctx->Current.ByteColor[0] = (
GLint)
ctx->Visual->RedScale;
624 ctx->Current.ByteColor[1] = (
GLint)
ctx->Visual->GreenScale;
625 ctx->Current.ByteColor[2] = (
GLint)
ctx->Visual->BlueScale;
626 ctx->Current.ByteColor[3] = (
GLint)
ctx->Visual->AlphaScale;
627 ASSIGN_4V(
ctx->Current.RasterPos, 0.0, 0.0, 0.0, 1.0 );
629 ctx->Current.RasterIndex = 1;
631 ASSIGN_4V(
ctx->Current.RasterColor, 1.0, 1.0, 1.0, 1.0 );
636 ctx->Depth.Clear = 1.0;
660 ctx->Eval.MapGrid1un = 1;
661 ctx->Eval.MapGrid1u1 = 0.0;
662 ctx->Eval.MapGrid1u2 = 1.0;
663 ctx->Eval.MapGrid2un = 1;
664 ctx->Eval.MapGrid2vn = 1;
665 ctx->Eval.MapGrid2u1 = 0.0;
666 ctx->Eval.MapGrid2u2 = 1.0;
667 ctx->Eval.MapGrid2v1 = 0.0;
668 ctx->Eval.MapGrid2v2 = 1.0;
674 ctx->Fog.Index = 0.0;
675 ctx->Fog.Density = 1.0;
676 ctx->Fog.Start = 0.0;
697 ctx->Light.ColorMaterialBitmask
705 ctx->Line.Width = 1.0;
706 ctx->Line.StipplePattern = 0xffff;
707 ctx->Line.StippleFactor = 1;
710 ctx->List.ListBase = 0;
713 ctx->Pixel.RedBias = 0.0;
714 ctx->Pixel.RedScale = 1.0;
715 ctx->Pixel.GreenBias = 0.0;
716 ctx->Pixel.GreenScale = 1.0;
717 ctx->Pixel.BlueBias = 0.0;
718 ctx->Pixel.BlueScale = 1.0;
719 ctx->Pixel.AlphaBias = 0.0;
720 ctx->Pixel.AlphaScale = 1.0;
721 ctx->Pixel.DepthBias = 0.0;
722 ctx->Pixel.DepthScale = 1.0;
723 ctx->Pixel.IndexOffset = 0;
724 ctx->Pixel.IndexShift = 0;
725 ctx->Pixel.ZoomX = 1.0;
726 ctx->Pixel.ZoomY = 1.0;
729 ctx->Pixel.MapStoSsize = 1;
730 ctx->Pixel.MapItoIsize = 1;
731 ctx->Pixel.MapItoRsize = 1;
732 ctx->Pixel.MapItoGsize = 1;
733 ctx->Pixel.MapItoBsize = 1;
734 ctx->Pixel.MapItoAsize = 1;
735 ctx->Pixel.MapRtoRsize = 1;
736 ctx->Pixel.MapGtoGsize = 1;
737 ctx->Pixel.MapBtoBsize = 1;
738 ctx->Pixel.MapAtoAsize = 1;
739 ctx->Pixel.MapStoS[0] = 0;
740 ctx->Pixel.MapItoI[0] = 0;
741 ctx->Pixel.MapItoR[0] = 0.0;
742 ctx->Pixel.MapItoG[0] = 0.0;
743 ctx->Pixel.MapItoB[0] = 0.0;
744 ctx->Pixel.MapItoA[0] = 0.0;
745 ctx->Pixel.MapRtoR[0] = 0.0;
746 ctx->Pixel.MapGtoG[0] = 0.0;
747 ctx->Pixel.MapBtoB[0] = 0.0;
748 ctx->Pixel.MapAtoA[0] = 0.0;
752 ctx->Point.Size = 1.0;
763 ctx->Polygon.OffsetFactor = 0.0F;
764 ctx->Polygon.OffsetUnits = 0.0F;
777 ctx->Scissor.Width = 0;
778 ctx->Scissor.Height = 0;
786 ctx->Stencil.Ref = 0;
787 ctx->Stencil.ValueMask = 0xff;
788 ctx->Stencil.Clear = 0;
789 ctx->Stencil.WriteMask = 0xff;
792 ctx->Texture.Enabled = 0;
795 ctx->Texture.TexGenEnabled = 0;
800 ASSIGN_4V(
ctx->Texture.ObjectPlaneS, 1.0, 0.0, 0.0, 0.0 );
801 ASSIGN_4V(
ctx->Texture.ObjectPlaneT, 0.0, 1.0, 0.0, 0.0 );
802 ASSIGN_4V(
ctx->Texture.ObjectPlaneR, 0.0, 0.0, 0.0, 0.0 );
803 ASSIGN_4V(
ctx->Texture.ObjectPlaneQ, 0.0, 0.0, 0.0, 0.0 );
804 ASSIGN_4V(
ctx->Texture.EyePlaneS, 1.0, 0.0, 0.0, 0.0 );
805 ASSIGN_4V(
ctx->Texture.EyePlaneT, 0.0, 1.0, 0.0, 0.0 );
806 ASSIGN_4V(
ctx->Texture.EyePlaneR, 0.0, 0.0, 0.0, 0.0 );
807 ASSIGN_4V(
ctx->Texture.EyePlaneQ, 0.0, 0.0, 0.0, 0.0 );
809 ctx->Texture.Current1D =
ctx->Shared->Default1D;
810 ctx->Texture.Current2D =
ctx->Shared->Default2D;
819 ASSIGN_4V(
ctx->Transform.ClipEquation[
i], 0.0, 0.0, 0.0, 0.0 );
826 ctx->Viewport.Width = 0;
827 ctx->Viewport.Height = 0;
828 ctx->Viewport.Near = 0.0;
829 ctx->Viewport.Far = 1.0;
830 ctx->Viewport.Sx = 0.0;
831 ctx->Viewport.Tx = 0.0;
832 ctx->Viewport.Sy = 0.0;
833 ctx->Viewport.Ty = 0.0;
838 ctx->Pack.Alignment = 4;
839 ctx->Pack.RowLength = 0;
840 ctx->Pack.SkipPixels = 0;
841 ctx->Pack.SkipRows = 0;
844 ctx->Unpack.Alignment = 4;
845 ctx->Unpack.RowLength = 0;
846 ctx->Unpack.SkipPixels = 0;
847 ctx->Unpack.SkipRows = 0;
854 ctx->Feedback.BufferSize = 0;
855 ctx->Feedback.Count = 0;
859 ctx->Select.BufferSize = 0;
860 ctx->Select.BufferCount = 0;
861 ctx->Select.Hits = 0;
862 ctx->Select.NameStackDepth = 0;
865 ctx->AttribStackDepth = 0;
866 ctx->ClientAttribStackDepth = 0;
873 ctx->StippleCounter = 0;
876 if (
ctx->Visual->RedScale==255.0F
877 &&
ctx->Visual->GreenScale==255.0F
878 &&
ctx->Visual->BlueScale==255.0F
879 &&
ctx->Visual->AlphaScale==255.0F) {
885 ctx->FastDrawPixels =
ctx->Visual->RGBAflag &&
ctx->Visual->EightBitColor;
901 ctx->CurrentListNum = 0;
912 TRACE(
"MESA_NO_DITHER set - dithering disabled\n");
955 assert( red_scale<=255.0 );
956 assert( green_scale<=255.0 );
957 assert( blue_scale<=255.0 );
958 assert( alpha_scale<=255.0 );
960 if (depth_bits > 8*
sizeof(
GLdepth)) {
964 if (stencil_bits > 8*
sizeof(
GLstencil)) {
968 if (accum_bits > 8*
sizeof(
GLaccum)) {
1007 if (red_scale==255.0F && green_scale==255.0F
1008 && blue_scale==255.0F && alpha_scale==255.0F) {
1047 if (!
ctx->Texture.Proxy1D) {
1052 if (!
ctx->Texture.Proxy2D) {
1061 if (!
ctx->Texture.Proxy1D->Image[
i]
1062 || !
ctx->Texture.Proxy2D->Image[
i]) {
1068 if (
ctx->Texture.Proxy1D->Image[
i]) {
1071 if (
ctx->Texture.Proxy2D->Image[
i]) {
1117 ctx->DriverCtx = driver_ctx;
1118 ctx->Visual = visual;
1148 ctx->Shared->RefCount++;
1162 init_timings(
ctx );
1165#ifdef GL_VERSION_1_1
1191 if (
getenv(
"MESA_PROFILE")) {
1192 print_timings(
ctx );
1199 ctx->Shared->RefCount--;
1201 if (
ctx->Shared->RefCount==0) {
1261 if (
buffer->FrontAlpha) {
1342 for (
i=0;
i<32;
i++) {
1343 dst->PolygonStipple[
i] =
src->PolygonStipple[
i];
1428 if (
getenv(
"MESA_DEBUG")) {
1473 if (
ctx->Driver.Error) {
1474 (*
ctx->Driver.Error)(
ctx );
1490 e =
ctx->ErrorValue;
1500 GLuint buf_width, buf_height;
1505 (*
ctx->Driver.GetBufferSize)(
ctx, &buf_width, &buf_height );
1508 newsize =
ctx->Buffer->Width!=buf_width ||
ctx->Buffer->Height!=buf_height;
1511 ctx->Buffer->Width = buf_width;
1512 ctx->Buffer->Height = buf_height;
1515 if (newsize &&
ctx->Visual->DepthBits>0) {
1517 (*
ctx->Driver.AllocDepthBuffer)(
ctx );
1521 if (newsize &&
ctx->Visual->StencilBits>0) {
1525 if (newsize &&
ctx->Visual->AccumBits>0) {
1530 && (
ctx->Visual->FrontAlphaEnabled ||
ctx->Visual->BackAlphaEnabled)) {
1550 if (
ctx->Visual->RGBAflag) {
1552 if (
ctx->Color.ColorLogicOpEnabled) {
1553 if (
ctx->Driver.LogicOp
1554 && (*
ctx->Driver.LogicOp)(
ctx,
ctx->Color.LogicOp )) {
1565 if (
ctx->Driver.LogicOp) {
1573 if (
ctx->Color.IndexLogicOpEnabled) {
1574 if (
ctx->Driver.LogicOp
1575 && (*
ctx->Driver.LogicOp)(
ctx,
ctx->Color.LogicOp )) {
1586 if (
ctx->Driver.LogicOp) {
1601 if (
ctx->Visual->RGBAflag) {
1602 if (
ctx->Color.ColorMask==0xf) {
1604 if (
ctx->Driver.ColorMask) {
1617 if (
ctx->Driver.ColorMask
1627 if (
ctx->Color.IndexMask==0xffffffff) {
1629 if (
ctx->Driver.IndexMask) {
1630 (
void) (*
ctx->Driver.IndexMask)(
ctx, 0xffffffff );
1638 if (
ctx->Driver.IndexMask
1639 && (*
ctx->Driver.IndexMask)(
ctx,
ctx->Color.IndexMask )) {
1657 ctx->RasterMask = 0;
1670 if (
ctx->Viewport.X<0
1671 ||
ctx->Viewport.X +
ctx->Viewport.Width >
ctx->Buffer->Width
1672 ||
ctx->Viewport.Y<0
1673 ||
ctx->Viewport.Y +
ctx->Viewport.Height >
ctx->Buffer->Height) {
1686 else if (
ctx->Visual->RGBAflag &&
ctx->Color.ColorMask==0) {
1689 else if (!
ctx->Visual->RGBAflag &&
ctx->Color.IndexMask==0) {
1703 if (
ctx->Texture.Enabled) {
1707 if (
ctx->Visual->RGBAflag) {
1709 if (
ctx->Light.Model.TwoSide) {
1715 if (
ctx->Light.Model.TwoSide) {
1721 switch(
ctx->ClipMask) {
1723 if(
ctx->VB->TexCoordSize==2)
1729 if(
ctx->VB->TexCoordSize==2)
1755 if (
ctx->Driver.Dither) {
1756 (*
ctx->Driver.Dither)(
ctx,
ctx->Color.DitherFlag );
1777 && (
ctx->Texture.TexGenEnabled &
S_BIT))
1779 && (
ctx->Texture.TexGenEnabled &
T_BIT)));
1780 if (
ctx->Light.Enabled || sphereGen) {
1790 if (
ctx->Fog.Enabled ||
1791 ctx->Texture.Enabled ||
1792 ctx->Color.BlendEnabled ||
1793 ctx->Color.SWmasking ||
1794 ctx->Color.SWLogicOpEnabled) {
1805 ctx->Light.Enabled ||
1807 ctx->Texture.Enabled ||
1808 ctx->Color.BlendEnabled ||
1809 ctx->Color.SWmasking ||
1810 ctx->Color.SWLogicOpEnabled) {
1823 ctx->Polygon.CullBits = 0;
1824 if (
ctx->Polygon.CullFlag) {
1827 ctx->Polygon.CullBits |= 1;
1831 ctx->Polygon.CullBits |= 2;
1835 ctx->Polygon.OffsetAny =
ctx->Polygon.OffsetPoint ||
1836 ctx->Polygon.OffsetLine ||
1837 ctx->Polygon.OffsetFill;
1839 ctx->PointZoffset = 0.0;
1840 ctx->LineZoffset = 0.0;
1841 ctx->PolygonZoffset = 0.0;
1846 if (
ctx->Polygon.Unfilled
1847 ||
ctx->Polygon.OffsetAny
1848 ||
ctx->Polygon.CullFlag
1849 ||
ctx->Light.Model.TwoSide
1859 ctx->Buffer->Xmin = 0;
1860 ctx->Buffer->Ymin = 0;
1861 ctx->Buffer->Xmax =
ctx->Buffer->Width-1;
1862 ctx->Buffer->Ymax =
ctx->Buffer->Height-1;
1863 if (
ctx->Scissor.Enabled) {
1864 if (
ctx->Scissor.X >
ctx->Buffer->Xmin) {
1865 ctx->Buffer->Xmin =
ctx->Scissor.X;
1867 if (
ctx->Scissor.Y >
ctx->Buffer->Ymin) {
1868 ctx->Buffer->Ymin =
ctx->Scissor.Y;
1870 if (
ctx->Scissor.X +
ctx->Scissor.Width - 1 <
ctx->Buffer->Xmax) {
1871 ctx->Buffer->Xmax =
ctx->Scissor.X +
ctx->Scissor.Width - 1;
1873 if (
ctx->Scissor.Y +
ctx->Scissor.Height - 1 <
ctx->Buffer->Ymax) {
1874 ctx->Buffer->Ymax =
ctx->Scissor.Y +
ctx->Scissor.Height - 1;
1884 if (
ctx->Depth.Mask) {
1885 switch (
ctx->Depth.Func) {
1907 ctx->Driver.PointsFunc =
NULL;
1909 ctx->Driver.TriangleFunc =
NULL;
1913 if (
ctx->Driver.UpdateState) {
1914 (*
ctx->Driver.UpdateState)(
ctx);
char * strcpy(char *DstString, const char *SrcString)
void gl_alloc_accum_buffer(GLcontext *ctx)
void gl_alloc_alpha_buffers(GLcontext *ctx)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void gl_depth_test_pixels_greater(GLcontext *ctx, GLuint n, const GLint x[], const GLint y[], const GLdepth z[], GLubyte mask[])
GLuint gl_depth_test_span_generic(GLcontext *ctx, GLuint n, GLint x, GLint y, const GLdepth z[], GLubyte mask[])
void gl_alloc_depth_buffer(GLcontext *ctx)
GLuint gl_depth_test_span_less(GLcontext *ctx, GLuint n, GLint x, GLint y, const GLdepth z[], GLubyte mask[])
void gl_depth_test_pixels_generic(GLcontext *ctx, GLuint n, const GLint x[], const GLint y[], const GLdepth z[], GLubyte mask[])
void gl_read_depth_span_float(GLcontext *ctx, GLuint n, GLint x, GLint y, GLfloat depth[])
void gl_depth_test_pixels_less(GLcontext *ctx, GLuint n, const GLint x[], const GLint y[], const GLdepth z[], GLubyte mask[])
GLuint gl_depth_test_span_greater(GLcontext *ctx, GLuint n, GLint x, GLint y, const GLdepth z[], GLubyte mask[])
void gl_read_depth_span_int(GLcontext *ctx, GLuint n, GLint x, GLint y, GLdepth depth[])
void gl_clear_depth_buffer(GLcontext *ctx)
void gl_destroy_list(GLcontext *ctx, GLuint list)
void interpolate_aux_color_tex2(GLcontext *ctx, GLuint space, GLuint dst, GLfloat t, GLuint in, GLuint out)
void interpolate_aux(GLcontext *ctx, GLuint space, GLuint dst, GLfloat t, GLuint in, GLuint out)
void interpolate_aux_color(GLcontext *ctx, GLuint space, GLuint dst, GLfloat t, GLuint in, GLuint out)
void interpolate_aux_tex2(GLcontext *ctx, GLuint space, GLuint dst, GLfloat t, GLuint in, GLuint out)
#define MAX_TEXTURE_LEVELS
void gl_set_api_table(GLcontext *ctx, const struct gl_api_table *api)
GLenum gl_GetError(GLcontext *ctx)
static GLboolean alloc_proxy_textures(GLcontext *ctx)
void gl_copy_context(const GLcontext *src, GLcontext *dst, GLuint mask)
static void update_clipmask(GLcontext *ctx)
static void update_pixel_logic(GLcontext *ctx)
GLvisual * gl_create_visual(GLboolean rgb_flag, GLboolean alpha_flag, GLboolean db_flag, GLint depth_bits, GLint stencil_bits, GLint accum_bits, GLint index_bits, GLfloat red_scale, GLfloat green_scale, GLfloat blue_scale, GLfloat alpha_scale, GLint red_bits, GLint green_bits, GLint blue_bits, GLint alpha_bits)
void gl_ResizeBuffersMESA(GLcontext *ctx)
static void update_pixel_masking(GLcontext *ctx)
static void initialize_context(GLcontext *ctx)
static void init_light(struct gl_light *l, GLuint n)
static void update_rasterflags(GLcontext *ctx)
GLframebuffer * gl_create_framebuffer(GLvisual *visual)
GLcontext * gl_create_context(GLvisual *visual, GLcontext *share_list, void *driver_ctx)
void gl_destroy_framebuffer(GLframebuffer *buffer)
static struct gl_shared_state * alloc_shared_state(void)
void gl_make_current(GLcontext *ctx, GLframebuffer *buffer)
void gl_problem(const GLcontext *ctx, const char *s)
static void free_shared_state(GLcontext *ctx, struct gl_shared_state *ss)
void gl_warning(const GLcontext *ctx, const char *s)
static void init_lightmodel(struct gl_lightmodel *lm)
void gl_error(GLcontext *ctx, GLenum error, const char *s)
void gl_update_state(GLcontext *ctx)
void gl_destroy_context(GLcontext *ctx)
static void init_material(struct gl_material *m)
void gl_destroy_visual(GLvisual *vis)
GLuint HashFirstEntry(const struct HashTable *table)
struct HashTable * NewHashTable(void)
void DeleteHashTable(struct HashTable *table)
void gl_set_line_function(GLcontext *ctx)
#define FRONT_AND_BACK_BIT
#define GL_ACCUM_BUFFER_BIT
#define GL_AMBIENT_AND_DIFFUSE
#define GL_FRONT_AND_BACK
#define GL_INVALID_OPERATION
GLclampf GLclampf GLclampf alpha
#define GL_STACK_OVERFLOW
#define GL_POLYGON_STIPPLE_BIT
#define GL_PIXEL_MODE_BIT
#define GL_COLOR_BUFFER_BIT
#define GL_STENCIL_BUFFER_BIT
#define GL_DEPTH_BUFFER_BIT
#define GL_STACK_UNDERFLOW
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
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
out_of_memory(j_common_ptr cinfo, int which)
#define ASSIGN_4V(V, V0, V1, V2, V3)
#define MEMSET(DST, VAL, N)
#define MEMCPY(DST, SRC, BYTES)
#define INSIDE_BEGIN_END(CTX)
#define ASSIGN_3V(V, V0, V1, V2)
static const struct encodedFiletime times[]
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
GLuint gl_material_bitmask(GLenum face, GLenum pname)
void gl_compute_spot_exp_table(struct gl_light *l)
void gl_update_lighting(GLcontext *ctx)
void gl_compute_material_shine_table(struct gl_material *m)
struct pixel_buffer * gl_alloc_pb(void)
void gl_init_api_function_pointers(GLcontext *ctx)
void gl_set_point_function(GLcontext *ctx)
void gl_set_quad_function(GLcontext *ctx)
const char int int int static __inline const char * wine_dbgstr_a(const char *s)
void gl_alloc_stencil_buffer(GLcontext *ctx)
struct gl_shared_state * Shared
GLboolean FrontAlphaEnabled
GLboolean BackAlphaEnabled
struct gl_texture_image * gl_alloc_texture_image(void)
void gl_free_texture_image(struct gl_texture_image *teximage)
void gl_free_texture_object(struct gl_shared_state *shared, struct gl_texture_object *t)
struct gl_texture_object * gl_alloc_texture_object(struct gl_shared_state *shared, GLuint name, GLuint dimensions)
void gl_update_texture_state(GLcontext *ctx)
void gl_set_triangle_function(GLcontext *ctx)
struct vertex_buffer * gl_alloc_vb(void)
void gl_set_color_function(GLcontext *ctx)
void gl_set_vertex_function(GLcontext *ctx)
const char * errstr(int errcode)