1 /* 2 ** Copyright (c) 2013-2015 The Khronos Group Inc. 3 ** 4 ** Permission is hereby granted, free of charge, to any person obtaining a 5 ** copy of this software and/or associated documentation files (the 6 ** "Materials"), to deal in the Materials without restriction, including 7 ** without limitation the rights to use, copy, modify, merge, publish, 8 ** distribute, sublicense, and/or sell copies of the Materials, and to 9 ** permit persons to whom the Materials are furnished to do so, subject to 10 ** the following conditions: 11 ** 12 ** The above copyright notice and this permission notice shall be included 13 ** in all copies or substantial portions of the Materials. 14 ** 15 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 19 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 20 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 21 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 22 */ 23 24 #include "Common/GL/GLExtensions/gl_common.h" 25 26 #define GL_BUFFER_SIZE 0x8764 27 #define GL_BUFFER_USAGE 0x8765 28 #define GL_QUERY_COUNTER_BITS 0x8864 29 #define GL_CURRENT_QUERY 0x8865 30 #define GL_QUERY_RESULT 0x8866 31 #define GL_QUERY_RESULT_AVAILABLE 0x8867 32 #define GL_ARRAY_BUFFER 0x8892 33 #define GL_ELEMENT_ARRAY_BUFFER 0x8893 34 #define GL_ARRAY_BUFFER_BINDING 0x8894 35 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 36 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F 37 #define GL_READ_ONLY 0x88B8 38 #define GL_WRITE_ONLY 0x88B9 39 #define GL_READ_WRITE 0x88BA 40 #define GL_BUFFER_ACCESS 0x88BB 41 #define GL_BUFFER_MAPPED 0x88BC 42 #define GL_BUFFER_MAP_POINTER 0x88BD 43 #define GL_STREAM_DRAW 0x88E0 44 #define GL_STREAM_READ 0x88E1 45 #define GL_STREAM_COPY 0x88E2 46 #define GL_STATIC_DRAW 0x88E4 47 #define GL_STATIC_READ 0x88E5 48 #define GL_STATIC_COPY 0x88E6 49 #define GL_DYNAMIC_DRAW 0x88E8 50 #define GL_DYNAMIC_READ 0x88E9 51 #define GL_DYNAMIC_COPY 0x88EA 52 #define GL_SAMPLES_PASSED 0x8914 53 #define GL_SRC1_ALPHA 0x8589 54 #define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 55 #define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 56 #define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 57 #define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 58 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A 59 #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B 60 #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C 61 #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D 62 #define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E 63 #define GL_FOG_COORD_SRC 0x8450 64 #define GL_FOG_COORD 0x8451 65 #define GL_CURRENT_FOG_COORD 0x8453 66 #define GL_FOG_COORD_ARRAY_TYPE 0x8454 67 #define GL_FOG_COORD_ARRAY_STRIDE 0x8455 68 #define GL_FOG_COORD_ARRAY_POINTER 0x8456 69 #define GL_FOG_COORD_ARRAY 0x8457 70 #define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D 71 #define GL_SRC0_RGB 0x8580 72 #define GL_SRC1_RGB 0x8581 73 #define GL_SRC2_RGB 0x8582 74 #define GL_SRC0_ALPHA 0x8588 75 #define GL_SRC2_ALPHA 0x858A 76 77 typedef void(APIENTRYP PFNDOLGENQUERIESPROC)(GLsizei n, GLuint* ids); 78 typedef void(APIENTRYP PFNDOLDELETEQUERIESPROC)(GLsizei n, const GLuint* ids); 79 typedef GLboolean(APIENTRYP PFNDOLISQUERYPROC)(GLuint id); 80 typedef void(APIENTRYP PFNDOLBEGINQUERYPROC)(GLenum target, GLuint id); 81 typedef void(APIENTRYP PFNDOLENDQUERYPROC)(GLenum target); 82 typedef void(APIENTRYP PFNDOLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint* params); 83 typedef void(APIENTRYP PFNDOLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint* params); 84 typedef void(APIENTRYP PFNDOLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint* params); 85 typedef void(APIENTRYP PFNDOLBINDBUFFERPROC)(GLenum target, GLuint buffer); 86 typedef void(APIENTRYP PFNDOLDELETEBUFFERSPROC)(GLsizei n, const GLuint* buffers); 87 typedef void(APIENTRYP PFNDOLGENBUFFERSPROC)(GLsizei n, GLuint* buffers); 88 typedef GLboolean(APIENTRYP PFNDOLISBUFFERPROC)(GLuint buffer); 89 typedef void(APIENTRYP PFNDOLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void* data, 90 GLenum usage); 91 typedef void(APIENTRYP PFNDOLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, 92 const void* data); 93 typedef void(APIENTRYP PFNDOLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, 94 void* data); 95 typedef void*(APIENTRYP PFNDOLMAPBUFFERPROC)(GLenum target, GLenum access); 96 typedef GLboolean(APIENTRYP PFNDOLUNMAPBUFFERPROC)(GLenum target); 97 typedef void(APIENTRYP PFNDOLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint* params); 98 typedef void(APIENTRYP PFNDOLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, void** params); 99 100 extern PFNDOLBEGINQUERYPROC dolBeginQuery; 101 extern PFNDOLBINDBUFFERPROC dolBindBuffer; 102 extern PFNDOLBUFFERDATAPROC dolBufferData; 103 extern PFNDOLBUFFERSUBDATAPROC dolBufferSubData; 104 extern PFNDOLDELETEBUFFERSPROC dolDeleteBuffers; 105 extern PFNDOLDELETEQUERIESPROC dolDeleteQueries; 106 extern PFNDOLENDQUERYPROC dolEndQuery; 107 extern PFNDOLGENBUFFERSPROC dolGenBuffers; 108 extern PFNDOLGENQUERIESPROC dolGenQueries; 109 extern PFNDOLGETBUFFERPARAMETERIVPROC dolGetBufferParameteriv; 110 extern PFNDOLGETBUFFERPOINTERVPROC dolGetBufferPointerv; 111 extern PFNDOLGETBUFFERSUBDATAPROC dolGetBufferSubData; 112 extern PFNDOLGETQUERYOBJECTIVPROC dolGetQueryObjectiv; 113 extern PFNDOLGETQUERYOBJECTUIVPROC dolGetQueryObjectuiv; 114 extern PFNDOLGETQUERYIVPROC dolGetQueryiv; 115 extern PFNDOLISBUFFERPROC dolIsBuffer; 116 extern PFNDOLISQUERYPROC dolIsQuery; 117 extern PFNDOLMAPBUFFERPROC dolMapBuffer; 118 extern PFNDOLUNMAPBUFFERPROC dolUnmapBuffer; 119 120 #define glBeginQuery dolBeginQuery 121 #define glBindBuffer dolBindBuffer 122 #define glBufferData dolBufferData 123 #define glBufferSubData dolBufferSubData 124 #define glDeleteBuffers dolDeleteBuffers 125 #define glDeleteQueries dolDeleteQueries 126 #define glEndQuery dolEndQuery 127 #define glGenBuffers dolGenBuffers 128 #define glGenQueries dolGenQueries 129 #define glGetBufferParameteriv dolGetBufferParameteriv 130 #define glGetBufferPointerv dolGetBufferPointerv 131 #define glGetBufferSubData dolGetBufferSubData 132 #define glGetQueryObjectiv dolGetQueryObjectiv 133 #define glGetQueryObjectuiv dolGetQueryObjectuiv 134 #define glGetQueryiv dolGetQueryiv 135 #define glIsBuffer dolIsBuffer 136 #define glIsQuery dolIsQuery 137 #define glMapBuffer dolMapBuffer 138 #define glUnmapBuffer dolUnmapBuffer 139