vulkan: Update Vulkan XML and headers to 1.2.149
[mesa.git] / include / GL / gl.h
index 8e5f1383ffaadcd72e136f757173d4a582894c02..2518dfbb40deeb26bf1389c115fa293dc13e07fa 100644 (file)
@@ -1,6 +1,5 @@
 /*
  * Mesa 3-D graphics library
- * Version:  7.6
  *
  * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
  * Copyright (C) 2009  VMware, Inc.  All Rights Reserved.
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
  */
 
 
 #ifndef __gl_h_
 #define __gl_h_
 
-#if defined(USE_MGL_NAMESPACE)
-#include "gl_mangle.h"
-#endif
-
-
 /**********************************************************************
- * Begin system-specific stuff. Do not do any of this when building
- * for SciTech SNAP, as this is all done before this header file is
- * included. 
+ * Begin system-specific stuff.
  */
-#if !defined(__SCITECH_SNAP__)
-
-#if defined(__BEOS__)
-#include <stdlib.h>     /* to get some BeOS-isms */
-#endif
-
-#if !defined(OPENSTEP) && (defined(NeXT) || defined(NeXT_PDO))
-#define OPENSTEP
-#endif
 
 #if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__)
 #define __WIN32__
 #endif
 
-#if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__))
+#if defined(__WIN32__) && !defined(__CYGWIN__)
 #  if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
 #    define GLAPI __declspec(dllexport)
 #  elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
 #    define GLAPI __declspec(dllimport)
 #  else /* for use with static link lib build of Win32 edition only */
 #    define GLAPI extern
-#  endif /* _STATIC_MESA support */
+#  endif
 #  if defined(__MINGW32__) && defined(GL_NO_STDCALL) || defined(UNDER_CE)  /* The generated DLLs by MingW with STDCALL are not compatible with the ones done by Microsoft's compilers */
-#    define GLAPIENTRY 
+#    define GLAPIENTRY
 #  else
 #    define GLAPIENTRY __stdcall
 #  endif
 #elif defined(__CYGWIN__) && defined(USE_OPENGL32) /* use native windows opengl32 */
 #  define GLAPI extern
 #  define GLAPIENTRY __stdcall
-#elif defined(__GNUC__)        || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+#elif (defined(__GNUC__) && __GNUC__ >= 4) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
 #  define GLAPI __attribute__((visibility("default")))
 #  define GLAPIENTRY
 #endif /* WIN32 && !CYGWIN */
 
-#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
-#  define PRAGMA_EXPORT_SUPPORTED              1
-#endif
-
 /*
  * WINDOWS: Include windows.h here to define APIENTRY.
  * It is also useful when applications include this file by
 #include <windows.h>
 #endif
 
-#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_WIN32_WCE) \
-     && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) \
-     && !defined(__CYGWIN__) || defined(__MINGW32__)
-#include <GL/mesa_wgl.h>
-#endif
-
-#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
-#pragma import on
-#endif
-
 #ifndef GLAPI
 #define GLAPI extern
 #endif
 #define GLAPIENTRYP GLAPIENTRY *
 #endif
 
-#ifdef CENTERLINE_CLPP
-#define signed
-#endif
-
-#if defined(PRAGMA_EXPORT_SUPPORTED)
-#pragma export on
-#endif
-
-#endif /* !__SCITECH_SNAP__ */
 /*
  * End system-specific stuff.
  **********************************************************************/
@@ -175,8 +136,8 @@ typedef double              GLclampd;       /* double precision float in [0,1] */
  */
 
 /* Boolean values */
-#define GL_FALSE                               0x0
-#define GL_TRUE                                        0x1
+#define GL_FALSE                               0
+#define GL_TRUE                                        1
 
 /* Data types */
 #define GL_BYTE                                        0x1400
@@ -376,8 +337,8 @@ typedef double              GLclampd;       /* double precision float in [0,1] */
 #define GL_BLEND                               0x0BE2
 #define GL_BLEND_SRC                           0x0BE1
 #define GL_BLEND_DST                           0x0BE0
-#define GL_ZERO                                        0x0
-#define GL_ONE                                 0x1
+#define GL_ZERO                                        0
+#define GL_ONE                                 1
 #define GL_SRC_COLOR                           0x0300
 #define GL_ONE_MINUS_SRC_COLOR                 0x0301
 #define GL_SRC_ALPHA                           0x0302
@@ -467,7 +428,7 @@ typedef double              GLclampd;       /* double precision float in [0,1] */
 #define GL_DECR                                        0x1E03
 
 /* Buffers, Pixel Drawing/Reading */
-#define GL_NONE                                        0x0
+#define GL_NONE                                        0
 #define GL_LEFT                                        0x0406
 #define GL_RIGHT                               0x0407
 /*GL_FRONT                                     0x0404 */
@@ -655,6 +616,8 @@ typedef double              GLclampd;       /* double precision float in [0,1] */
 #define GL_TEXTURE_ENV_COLOR                   0x2201
 #define GL_TEXTURE_GEN_S                       0x0C60
 #define GL_TEXTURE_GEN_T                       0x0C61
+#define GL_TEXTURE_GEN_R                       0x0C62
+#define GL_TEXTURE_GEN_Q                       0x0C63
 #define GL_TEXTURE_GEN_MODE                    0x2500
 #define GL_TEXTURE_BORDER_COLOR                        0x1004
 #define GL_TEXTURE_WIDTH                       0x1000
@@ -685,8 +648,6 @@ typedef double              GLclampd;       /* double precision float in [0,1] */
 #define GL_T                                   0x2001
 #define GL_R                                   0x2002
 #define GL_Q                                   0x2003
-#define GL_TEXTURE_GEN_R                       0x0C62
-#define GL_TEXTURE_GEN_Q                       0x0C63
 
 /* Utility */
 #define GL_VENDOR                              0x1F00
@@ -695,7 +656,7 @@ typedef double              GLclampd;       /* double precision float in [0,1] */
 #define GL_EXTENSIONS                          0x1F03
 
 /* Errors */
-#define GL_NO_ERROR                            0x0
+#define GL_NO_ERROR                            0
 #define GL_INVALID_ENUM                                0x0500
 #define GL_INVALID_VALUE                       0x0501
 #define GL_INVALID_OPERATION                   0x0502
@@ -724,7 +685,7 @@ typedef double              GLclampd;       /* double precision float in [0,1] */
 #define GL_LIST_BIT                            0x00020000
 #define GL_TEXTURE_BIT                         0x00040000
 #define GL_SCISSOR_BIT                         0x00080000
-#define GL_ALL_ATTRIB_BITS                     0x000FFFFF
+#define GL_ALL_ATTRIB_BITS                     0xFFFFFFFF
 
 
 /* OpenGL 1.1 */
@@ -1742,8 +1703,6 @@ GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target,
 GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,
        GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
 
-typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
 
 
 
@@ -2094,26 +2053,6 @@ typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLsh
 
 
 
-#if GL_ARB_shader_objects
-
-#ifndef GL_MESA_shader_debug
-#define GL_MESA_shader_debug 1
-
-#define GL_DEBUG_OBJECT_MESA              0x8759
-#define GL_DEBUG_PRINT_MESA               0x875A
-#define GL_DEBUG_ASSERT_MESA              0x875B
-
-GLAPI GLhandleARB GLAPIENTRY glCreateDebugObjectMESA (void);
-GLAPI void GLAPIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
-GLAPI void GLAPIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength,
-                                         GLsizei *length, GLcharARB *debugLog);
-GLAPI GLsizei GLAPIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
-
-#endif /* GL_MESA_shader_debug */
-
-#endif /* GL_ARB_shader_objects */
-
-
 /*
  * ???. GL_MESA_packed_depth_stencil
  * XXX obsolete
@@ -2130,60 +2069,6 @@ GLAPI GLsizei GLAPIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logTyp
 #endif /* GL_MESA_packed_depth_stencil */
 
 
-#ifndef GL_MESA_program_debug
-#define GL_MESA_program_debug 1
-
-#define GL_FRAGMENT_PROGRAM_POSITION_MESA       0x8bb0
-#define GL_FRAGMENT_PROGRAM_CALLBACK_MESA       0x8bb1
-#define GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA  0x8bb2
-#define GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA  0x8bb3
-#define GL_VERTEX_PROGRAM_POSITION_MESA         0x8bb4
-#define GL_VERTEX_PROGRAM_CALLBACK_MESA         0x8bb5
-#define GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA    0x8bb6
-#define GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA    0x8bb7
-
-typedef void (*GLprogramcallbackMESA)(GLenum target, GLvoid *data);
-
-GLAPI void GLAPIENTRY glProgramCallbackMESA(GLenum target, GLprogramcallbackMESA callback, GLvoid *data);
-
-GLAPI void GLAPIENTRY glGetProgramRegisterfvMESA(GLenum target, GLsizei len, const GLubyte *name, GLfloat *v);
-
-#endif /* GL_MESA_program_debug */
-
-
-#ifndef GL_MESA_texture_array
-#define GL_MESA_texture_array 1
-
-/* GL_MESA_texture_array uses the same enum values as GL_EXT_texture_array.
- */
-#ifndef GL_EXT_texture_array
-
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFramebufferTextureLayerEXT(GLenum target,
-    GLenum attachment, GLuint texture, GLint level, GLint layer);
-#endif /* GL_GLEXT_PROTOTYPES */
-
-#if 0
-/* (temporarily) disabled because of collision with typedef in glext.h
- * that happens if apps include both gl.h and glext.h
- */
-typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target,
-    GLenum attachment, GLuint texture, GLint level, GLint layer);
-#endif
-
-#define GL_TEXTURE_1D_ARRAY_EXT         0x8C18
-#define GL_PROXY_TEXTURE_1D_ARRAY_EXT   0x8C19
-#define GL_TEXTURE_2D_ARRAY_EXT         0x8C1A
-#define GL_PROXY_TEXTURE_2D_ARRAY_EXT   0x8C1B
-#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
-#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
-#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
-#endif
-
-#endif
-
-
 #ifndef GL_ATI_blend_equation_separate
 #define GL_ATI_blend_equation_separate 1
 
@@ -2196,7 +2081,7 @@ typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum modeRGB, GLen
 
 
 /* GL_OES_EGL_image */
-#ifndef GL_OES_EGL_image
+#if !defined(GL_OES_EGL_image) && !defined(GL_EXT_EGL_image_storage)
 typedef void* GLeglImageOES;
 #endif
 
@@ -2211,29 +2096,6 @@ typedef void (APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum t
 #endif
 
 
-/**
- ** NOTE!!!!!  If you add new functions to this file, or update
- ** glext.h be sure to regenerate the gl_mangle.h file.  See comments
- ** in that file for details.
- **/
-
-
-
-/**********************************************************************
- * Begin system-specific stuff
- */
-#if defined(PRAGMA_EXPORT_SUPPORTED)
-#pragma export off
-#endif
-
-#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
-#pragma import off
-#endif
-/*
- * End system-specific stuff
- **********************************************************************/
-
-
 #ifdef __cplusplus
 }
 #endif