CHECK_EXTENSION_B(NV_point_sprite, pname);
*params = ENUM_TO_BOOL(ctx->Point.SpriteRMode);
break;
-#if GL_VERSION_2_0
case GL_POINT_SPRITE_COORD_ORIGIN:
CHECK_EXTENSION_B(ARB_point_sprite, pname);
*params = ENUM_TO_BOOL(ctx->Point.SpriteOrigin);
break;
-#endif
/* GL_SGIS_generate_mipmap */
case GL_GENERATE_MIPMAP_HINT_SGIS:
break;
#endif
+#if FEATURE_ARB_vertex_program
+ /* GL_NV_vertex_program and GL_ARB_fragment_program define others */
+ case GL_MAX_VERTEX_ATTRIBS_ARB:
+ CHECK_EXTENSION_B(ARB_vertex_program, pname);
+ *params = (ctx->Const.MaxVertexProgramAttribs > 0) ? GL_TRUE : GL_FALSE;
+ break;
+#endif
+
#if FEATURE_ARB_fragment_program
case GL_FRAGMENT_PROGRAM_ARB:
CHECK_EXTENSION_B(ARB_fragment_program, pname);
CHECK_EXTENSION_D(NV_point_sprite, pname);
*params = (GLdouble) ctx->Point.SpriteRMode;
break;
-#if GL_VERSION_2_0
case GL_POINT_SPRITE_COORD_ORIGIN:
CHECK_EXTENSION_D(ARB_point_sprite, pname);
*params = (GLdouble) ctx->Point.SpriteOrigin;
break;
-#endif
/* GL_SGIS_generate_mipmap */
case GL_GENERATE_MIPMAP_HINT_SGIS:
break;
#endif
+#if FEATURE_ARB_vertex_program
+ /* GL_NV_vertex_program and GL_ARB_fragment_program define others */
+ case GL_MAX_VERTEX_ATTRIBS_ARB:
+ CHECK_EXTENSION_D(ARB_vertex_program, pname);
+ *params = (GLdouble) ctx->Const.MaxVertexProgramAttribs;
+ break;
+#endif
+
#if FEATURE_ARB_fragment_program
case GL_FRAGMENT_PROGRAM_ARB:
CHECK_EXTENSION_D(ARB_fragment_program, pname);
CHECK_EXTENSION_F(NV_point_sprite, pname);
*params = (GLfloat) ctx->Point.SpriteRMode;
break;
-#if GL_VERSION_2_0
case GL_POINT_SPRITE_COORD_ORIGIN:
CHECK_EXTENSION_F(ARB_point_sprite, pname);
*params = (GLfloat) ctx->Point.SpriteOrigin;
break;
-#endif
/* GL_SGIS_generate_mipmap */
case GL_GENERATE_MIPMAP_HINT_SGIS:
break;
#endif
+#if FEATURE_ARB_vertex_program
+ /* GL_NV_vertex_program and GL_ARB_fragment_program define others */
+ case GL_MAX_VERTEX_ATTRIBS_ARB:
+ CHECK_EXTENSION_F(ARB_vertex_program, pname);
+ *params = (GLfloat) ctx->Const.MaxVertexProgramAttribs;
+ break;
+#endif
+
#if FEATURE_ARB_fragment_program
case GL_FRAGMENT_PROGRAM_ARB:
CHECK_EXTENSION_F(ARB_fragment_program, pname);
CHECK_EXTENSION_I(NV_point_sprite, pname);
*params = (GLint) ctx->Point.SpriteRMode;
break;
-#if GL_VERSION_2_0
case GL_POINT_SPRITE_COORD_ORIGIN:
CHECK_EXTENSION_I(ARB_point_sprite, pname);
*params = (GLint) ctx->Point.SpriteOrigin;
break;
-#endif
/* GL_SGIS_generate_mipmap */
case GL_GENERATE_MIPMAP_HINT_SGIS:
break;
#endif
+#if FEATURE_ARB_vertex_program
+ /* GL_NV_vertex_program and GL_ARB_fragment_program define others */
+ case GL_MAX_VERTEX_ATTRIBS_ARB:
+ CHECK_EXTENSION_I(ARB_vertex_program, pname);
+ *params = (GLint) ctx->Const.MaxVertexProgramAttribs;
+ break;
+#endif
+
#if FEATURE_ARB_fragment_program
case GL_FRAGMENT_PROGRAM_ARB:
CHECK_EXTENSION_I(ARB_fragment_program, pname);
/*
* Mesa 3-D graphics library
- * Version: 6.1
+ * Version: 6.2
*
* Copyright (C) 1999-2004 Brian Paul All Rights Reserved.
*
#include <GL/internal/glcore.h>
-/* XXX temporary hack */
-#ifndef GL_PIXEL_PACK_BUFFER_EXT
-#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB
-#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF
-#endif
-
-
-/* XXX temporary hack */
+/* XXX temporary hack - remove when glext.h is updated */
#ifndef GL_ARB_half_float_pixel
#define GL_ARB_half_float_pixel 1
#define GL_HALF_FLOAT_ARB 0x140B
typedef GLushort GLhalfARB;
#endif
-
-/* XXX temporary hack */
+/* XXX temporary hack - remove when glext.h is updated */
#ifndef GL_ARB_texture_float
#define GL_ARB_texture_float 1
#define GL_TEXTURE_RED_TYPE_ARB 0x9000
#define GL_LUMINANCE_ALPHA16F_ARB 0x881F
#endif
+/* XXX temporary hack - remove when glext.h is updated */
+#ifndef GL_POINT_SPRITE_COORD_ORIGIN
+#define GL_POINT_SPRITE_COORD_ORIGIN 0x10000
+#define GL_LOWER_LEFT 0x10001
+#define GL_UPPER_LEFT 0x10002
+#endif
/*
* Mesa 3-D graphics library
- * Version: 5.1
+ * Version: 6.2
*
- * Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
+ * Copyright (C) 1999-2004 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
return;
}
break;
-#if GL_VERSION_2_0
case GL_POINT_SPRITE_COORD_ORIGIN:
if (ctx->Extensions.ARB_point_sprite) {
GLenum value = (GLenum) params[0];
return;
}
break;
-#endif
default:
_mesa_error( ctx, GL_INVALID_ENUM,
"glPointParameterf[v]{EXT,ARB}(pname)" );
ctx->Point.Threshold = 1.0;
ctx->Point.PointSprite = GL_FALSE; /* GL_ARB_point_sprite / GL_NV_point_sprite */
ctx->Point.SpriteRMode = GL_ZERO; /* GL_NV_point_sprite (only!) */
-#if GL_VERSION_2_0
ctx->Point.SpriteOrigin = GL_UPPER_LEFT; /* GL_ARB_point_sprite */
-#endif
for (i = 0; i < MAX_TEXTURE_UNITS; i++) {
ctx->Point.CoordReplace[i] = GL_FALSE; /* GL_ARB_point_sprite / GL_NV_point_sprite */
}