CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
Path: blob/master/Common/GPU/OpenGL/gl3stub.h
Views: 1401
#pragma once12/*3* stub gl3.h for dynamic loading, based on:4* gl3.h last updated on $Date: 2013-02-12 14:37:24 -0800 (Tue, 12 Feb 2013) $5*6* Changes:7* - Removed duplicate OpenGL ES 2.0 declarations8* - Converted OpenGL ES 3.0 function prototypes to function pointer9* declarations10* - Added gl3stubInit() declaration11*/1213#include "ppsspp_config.h"1415#if defined(USING_GLES2)1617#ifdef __cplusplus18extern "C" {19#endif2021/*22** Copyright (c) 2007-2013 The Khronos Group Inc.23**24** Permission is hereby granted, free of charge, to any person obtaining a25** copy of this software and/or associated documentation files (the26** "Materials"), to deal in the Materials without restriction, including27** without limitation the rights to use, copy, modify, merge, publish,28** distribute, sublicense, and/or sell copies of the Materials, and to29** permit persons to whom the Materials are furnished to do so, subject to30** the following conditions:31**32** The above copyright notice and this permission notice shall be included33** in all copies or substantial portions of the Materials.34**35** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,36** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF37** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.38** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY39** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,40** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE41** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.42*/4344/* Call this function before calling any OpenGL ES 3.0 functions. It will45* return GL_TRUE if the OpenGL ES 3.0 was successfully initialized, GL_FALSE46* otherwise. */47GLboolean gl3stubInit();4849#if !PPSSPP_PLATFORM(IOS)5051/*-------------------------------------------------------------------------52* Data type definitions53*-----------------------------------------------------------------------*/5455/* OpenGL ES 3.0 */5657typedef unsigned short GLhalf;58typedef khronos_int64_t GLint64;59typedef khronos_uint64_t GLuint64;60typedef struct __GLsync *GLsync;6162/*-------------------------------------------------------------------------63* Token definitions64*-----------------------------------------------------------------------*/6566/* OpenGL ES core versions */67#define GL_ES_VERSION_3_0 16869/* OpenGL ES 3.0 */7071#define GL_READ_BUFFER 0x0C0272#define GL_UNPACK_ROW_LENGTH 0x0CF273#define GL_UNPACK_SKIP_ROWS 0x0CF374#define GL_UNPACK_SKIP_PIXELS 0x0CF475#define GL_PACK_ROW_LENGTH 0x0D0276#define GL_PACK_SKIP_ROWS 0x0D0377#define GL_PACK_SKIP_PIXELS 0x0D0478#define GL_COLOR 0x180079#define GL_DEPTH 0x180180#define GL_STENCIL 0x180281#define GL_RED 0x190382#define GL_RGB8 0x805183#define GL_RGBA8 0x805884#define GL_RGB10_A2 0x805985#define GL_TEXTURE_BINDING_3D 0x806A86#define GL_UNPACK_SKIP_IMAGES 0x806D87#define GL_UNPACK_IMAGE_HEIGHT 0x806E88#define GL_TEXTURE_3D 0x806F89#define GL_TEXTURE_WRAP_R 0x807290#define GL_MAX_3D_TEXTURE_SIZE 0x807391#define GL_UNSIGNED_INT_2_10_10_10_REV 0x836892#define GL_MAX_ELEMENTS_VERTICES 0x80E893#define GL_MAX_ELEMENTS_INDICES 0x80E994#define GL_TEXTURE_MIN_LOD 0x813A95#define GL_TEXTURE_MAX_LOD 0x813B96#define GL_TEXTURE_BASE_LEVEL 0x813C97#define GL_TEXTURE_MAX_LEVEL 0x813D98#define GL_MIN 0x800799#define GL_MAX 0x8008100#define GL_DEPTH_COMPONENT24 0x81A6101#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD102#define GL_TEXTURE_COMPARE_MODE 0x884C103#define GL_TEXTURE_COMPARE_FUNC 0x884D104#define GL_CURRENT_QUERY 0x8865105#define GL_QUERY_RESULT 0x8866106#define GL_QUERY_RESULT_AVAILABLE 0x8867107#define GL_BUFFER_MAPPED 0x88BC108#define GL_BUFFER_MAP_POINTER 0x88BD109#define GL_STREAM_READ 0x88E1110#define GL_STREAM_COPY 0x88E2111#define GL_STATIC_READ 0x88E5112#define GL_STATIC_COPY 0x88E6113#define GL_DYNAMIC_READ 0x88E9114#define GL_DYNAMIC_COPY 0x88EA115#define GL_MAX_DRAW_BUFFERS 0x8824116#define GL_DRAW_BUFFER0 0x8825117#define GL_DRAW_BUFFER1 0x8826118#define GL_DRAW_BUFFER2 0x8827119#define GL_DRAW_BUFFER3 0x8828120#define GL_DRAW_BUFFER4 0x8829121#define GL_DRAW_BUFFER5 0x882A122#define GL_DRAW_BUFFER6 0x882B123#define GL_DRAW_BUFFER7 0x882C124#define GL_DRAW_BUFFER8 0x882D125#define GL_DRAW_BUFFER9 0x882E126#define GL_DRAW_BUFFER10 0x882F127#define GL_DRAW_BUFFER11 0x8830128#define GL_DRAW_BUFFER12 0x8831129#define GL_DRAW_BUFFER13 0x8832130#define GL_DRAW_BUFFER14 0x8833131#define GL_DRAW_BUFFER15 0x8834132#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49133#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A134#define GL_SAMPLER_3D 0x8B5F135#define GL_SAMPLER_2D_SHADOW 0x8B62136#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B137#define GL_PIXEL_PACK_BUFFER 0x88EB138#define GL_PIXEL_UNPACK_BUFFER 0x88EC139#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED140#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF141#define GL_FLOAT_MAT2x3 0x8B65142#define GL_FLOAT_MAT2x4 0x8B66143#define GL_FLOAT_MAT3x2 0x8B67144#define GL_FLOAT_MAT3x4 0x8B68145#define GL_FLOAT_MAT4x2 0x8B69146#define GL_FLOAT_MAT4x3 0x8B6A147#define GL_SRGB 0x8C40148#define GL_SRGB8 0x8C41149#define GL_SRGB8_ALPHA8 0x8C43150#define GL_COMPARE_REF_TO_TEXTURE 0x884E151#define GL_MAJOR_VERSION 0x821B152#define GL_MINOR_VERSION 0x821C153#define GL_NUM_EXTENSIONS 0x821D154#define GL_RGBA32F 0x8814155#define GL_RGB32F 0x8815156#define GL_RGBA16F 0x881A157#define GL_RGB16F 0x881B158#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD159#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF160#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904161#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905162#define GL_MAX_VARYING_COMPONENTS 0x8B4B163#define GL_TEXTURE_2D_ARRAY 0x8C1A164#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D165#define GL_R11F_G11F_B10F 0x8C3A166#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B167#define GL_RGB9_E5 0x8C3D168#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E169#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76170#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F171#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80172#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83173#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84174#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85175#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88176#define GL_RASTERIZER_DISCARD 0x8C89177#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A178#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B179#define GL_INTERLEAVED_ATTRIBS 0x8C8C180#define GL_SEPARATE_ATTRIBS 0x8C8D181#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E182#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F183#define GL_RGBA32UI 0x8D70184#define GL_RGB32UI 0x8D71185#define GL_RGBA16UI 0x8D76186#define GL_RGB16UI 0x8D77187#define GL_RGBA8UI 0x8D7C188#define GL_RGB8UI 0x8D7D189#define GL_RGBA32I 0x8D82190#define GL_RGB32I 0x8D83191#define GL_RGBA16I 0x8D88192#define GL_RGB16I 0x8D89193#define GL_RGBA8I 0x8D8E194#define GL_RGB8I 0x8D8F195#define GL_RED_INTEGER 0x8D94196#define GL_RGB_INTEGER 0x8D98197#define GL_RGBA_INTEGER 0x8D99198#define GL_SAMPLER_2D_ARRAY 0x8DC1199#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4200#define GL_SAMPLER_CUBE_SHADOW 0x8DC5201#define GL_UNSIGNED_INT_VEC2 0x8DC6202#define GL_UNSIGNED_INT_VEC3 0x8DC7203#define GL_UNSIGNED_INT_VEC4 0x8DC8204#define GL_INT_SAMPLER_2D 0x8DCA205#define GL_INT_SAMPLER_3D 0x8DCB206#define GL_INT_SAMPLER_CUBE 0x8DCC207#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF208#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2209#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3210#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4211#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7212#define GL_BUFFER_ACCESS_FLAGS 0x911F213#define GL_BUFFER_MAP_LENGTH 0x9120214#define GL_BUFFER_MAP_OFFSET 0x9121215#define GL_DEPTH_COMPONENT32F 0x8CAC216#define GL_DEPTH32F_STENCIL8 0x8CAD217#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD218#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210219#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211220#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212221#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213222#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214223#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215224#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216225#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217226#define GL_FRAMEBUFFER_DEFAULT 0x8218227#define GL_FRAMEBUFFER_UNDEFINED 0x8219228#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A229#define GL_DEPTH_STENCIL 0x84F9230#define GL_UNSIGNED_INT_24_8 0x84FA231#define GL_DEPTH24_STENCIL8 0x88F0232#define GL_UNSIGNED_NORMALIZED 0x8C17233#define GL_DRAW_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING234#define GL_READ_FRAMEBUFFER 0x8CA8235#define GL_DRAW_FRAMEBUFFER 0x8CA9236#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA237#define GL_RENDERBUFFER_SAMPLES 0x8CAB238#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4239#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF240#define GL_COLOR_ATTACHMENT1 0x8CE1241#define GL_COLOR_ATTACHMENT2 0x8CE2242#define GL_COLOR_ATTACHMENT3 0x8CE3243#define GL_COLOR_ATTACHMENT4 0x8CE4244#define GL_COLOR_ATTACHMENT5 0x8CE5245#define GL_COLOR_ATTACHMENT6 0x8CE6246#define GL_COLOR_ATTACHMENT7 0x8CE7247#define GL_COLOR_ATTACHMENT8 0x8CE8248#define GL_COLOR_ATTACHMENT9 0x8CE9249#define GL_COLOR_ATTACHMENT10 0x8CEA250#define GL_COLOR_ATTACHMENT11 0x8CEB251#define GL_COLOR_ATTACHMENT12 0x8CEC252#define GL_COLOR_ATTACHMENT13 0x8CED253#define GL_COLOR_ATTACHMENT14 0x8CEE254#define GL_COLOR_ATTACHMENT15 0x8CEF255#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56256#define GL_MAX_SAMPLES 0x8D57257#define GL_HALF_FLOAT 0x140B258#define GL_MAP_READ_BIT 0x0001259#define GL_MAP_WRITE_BIT 0x0002260#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004261#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008262#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010263#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020264#define GL_MAP_PERSISTENT_BIT_EXT 0x0040265#define GL_MAP_COHERENT_BIT_EXT 0x0080266#define GL_DYNAMIC_STORAGE_BIT_EXT 0x0100267#define GL_CLIENT_STORAGE_BIT_EXT 0x0200268#define GL_RG 0x8227269#define GL_RG_INTEGER 0x8228270#define GL_R8 0x8229271#define GL_RG8 0x822B272#define GL_R16F 0x822D273#define GL_R32F 0x822E274#define GL_RG16F 0x822F275#define GL_RG32F 0x8230276#define GL_R8I 0x8231277#define GL_R8UI 0x8232278#define GL_R16I 0x8233279#define GL_R16UI 0x8234280#define GL_R32I 0x8235281#define GL_R32UI 0x8236282#define GL_RG8I 0x8237283#define GL_RG8UI 0x8238284#define GL_RG16I 0x8239285#define GL_RG16UI 0x823A286#define GL_RG32I 0x823B287#define GL_RG32UI 0x823C288#define GL_VERTEX_ARRAY_BINDING 0x85B5289#define GL_R8_SNORM 0x8F94290#define GL_RG8_SNORM 0x8F95291#define GL_RGB8_SNORM 0x8F96292#define GL_RGBA8_SNORM 0x8F97293#define GL_SIGNED_NORMALIZED 0x8F9C294#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69295#define GL_COPY_READ_BUFFER 0x8F36296#define GL_COPY_WRITE_BUFFER 0x8F37297#define GL_COPY_READ_BUFFER_BINDING GL_COPY_READ_BUFFER298#define GL_COPY_WRITE_BUFFER_BINDING GL_COPY_WRITE_BUFFER299#define GL_UNIFORM_BUFFER 0x8A11300#define GL_UNIFORM_BUFFER_BINDING 0x8A28301#define GL_UNIFORM_BUFFER_START 0x8A29302#define GL_UNIFORM_BUFFER_SIZE 0x8A2A303#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B304#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D305#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E306#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F307#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30308#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31309#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33310#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34311#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35312#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36313#define GL_UNIFORM_TYPE 0x8A37314#define GL_UNIFORM_SIZE 0x8A38315#define GL_UNIFORM_NAME_LENGTH 0x8A39316#define GL_UNIFORM_BLOCK_INDEX 0x8A3A317#define GL_UNIFORM_OFFSET 0x8A3B318#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C319#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D320#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E321#define GL_UNIFORM_BLOCK_BINDING 0x8A3F322#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40323#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41324#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42325#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43326#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44327#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46328#define GL_INVALID_INDEX 0xFFFFFFFFu329#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122330#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125331#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111332#define GL_OBJECT_TYPE 0x9112333#define GL_SYNC_CONDITION 0x9113334#define GL_SYNC_STATUS 0x9114335#define GL_SYNC_FLAGS 0x9115336#define GL_SYNC_FENCE 0x9116337#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117338#define GL_UNSIGNALED 0x9118339#define GL_SIGNALED 0x9119340#define GL_ALREADY_SIGNALED 0x911A341#define GL_TIMEOUT_EXPIRED 0x911B342#define GL_CONDITION_SATISFIED 0x911C343#define GL_WAIT_FAILED 0x911D344#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001345#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull346#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE347#define GL_ANY_SAMPLES_PASSED 0x8C2F348#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A349#define GL_SAMPLER_BINDING 0x8919350#define GL_RGB10_A2UI 0x906F351#define GL_TEXTURE_SWIZZLE_R 0x8E42352#define GL_TEXTURE_SWIZZLE_G 0x8E43353#define GL_TEXTURE_SWIZZLE_B 0x8E44354#define GL_TEXTURE_SWIZZLE_A 0x8E45355#define GL_GREEN 0x1904356#define GL_BLUE 0x1905357#define GL_INT_2_10_10_10_REV 0x8D9F358#define GL_TRANSFORM_FEEDBACK 0x8E22359#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23360#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24361#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25362#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257363#define GL_PROGRAM_BINARY_LENGTH 0x8741364#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE365#define GL_PROGRAM_BINARY_FORMATS 0x87FF366#define GL_COMPRESSED_R11_EAC 0x9270367#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271368#define GL_COMPRESSED_RG11_EAC 0x9272369#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273370#define GL_COMPRESSED_RGB8_ETC2 0x9274371#define GL_COMPRESSED_SRGB8_ETC2 0x9275372#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276373#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277374#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278375#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279376#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F377#define GL_MAX_ELEMENT_INDEX 0x8D6B378#define GL_NUM_SAMPLE_COUNTS 0x9380379#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF380381/* EXT_blend_func_extended */382383#define GL_SRC1_COLOR_EXT 0x88F9384#define GL_SRC1_ALPHA_EXT 0x8589385#define GL_ONE_MINUS_SRC1_COLOR_EXT 0x88FA386#define GL_ONE_MINUS_SRC1_ALPHA_EXT 0x88FB387#define GL_SRC_ALPHA_SATURATE_EXT 0x0308388#define GL_LOCATION_INDEX_EXT 0x930F389#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT 0x88FC390391/*-------------------------------------------------------------------------392* Entrypoint definitions393*-----------------------------------------------------------------------*/394395/* OpenGL ES 3.0 */396397extern GL_APICALL void (* GL_APIENTRY glReadBuffer) (GLenum mode);398extern GL_APICALL void (* GL_APIENTRY glDrawRangeElements) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices);399extern GL_APICALL void (* GL_APIENTRY glTexImage3D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);400extern GL_APICALL void (* GL_APIENTRY glTexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);401extern GL_APICALL void (* GL_APIENTRY glCopyTexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);402extern GL_APICALL void (* GL_APIENTRY glCompressedTexImage3D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);403extern GL_APICALL void (* GL_APIENTRY glCompressedTexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);404extern GL_APICALL void (* GL_APIENTRY glGenQueries) (GLsizei n, GLuint* ids);405extern GL_APICALL void (* GL_APIENTRY glDeleteQueries) (GLsizei n, const GLuint* ids);406extern GL_APICALL GLboolean (* GL_APIENTRY glIsQuery) (GLuint id);407extern GL_APICALL void (* GL_APIENTRY glBeginQuery) (GLenum target, GLuint id);408extern GL_APICALL void (* GL_APIENTRY glEndQuery) (GLenum target);409extern GL_APICALL void (* GL_APIENTRY glGetQueryiv) (GLenum target, GLenum pname, GLint* params);410extern GL_APICALL void (* GL_APIENTRY glGetQueryObjectuiv) (GLuint id, GLenum pname, GLuint* params);411extern GL_APICALL GLboolean (* GL_APIENTRY glUnmapBuffer) (GLenum target);412extern GL_APICALL void (* GL_APIENTRY glGetBufferPointerv) (GLenum target, GLenum pname, GLvoid** params);413extern GL_APICALL void (* GL_APIENTRY glDrawBuffers) (GLsizei n, const GLenum* bufs);414extern GL_APICALL void (* GL_APIENTRY glUniformMatrix2x3fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);415extern GL_APICALL void (* GL_APIENTRY glUniformMatrix3x2fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);416extern GL_APICALL void (* GL_APIENTRY glUniformMatrix2x4fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);417extern GL_APICALL void (* GL_APIENTRY glUniformMatrix4x2fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);418extern GL_APICALL void (* GL_APIENTRY glUniformMatrix3x4fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);419extern GL_APICALL void (* GL_APIENTRY glUniformMatrix4x3fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);420extern GL_APICALL void (* GL_APIENTRY glBlitFramebuffer) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);421extern GL_APICALL void (* GL_APIENTRY glRenderbufferStorageMultisample) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);422extern GL_APICALL void (* GL_APIENTRY glFramebufferTextureLayer) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);423extern GL_APICALL GLvoid* (* GL_APIENTRY glMapBufferRange) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);424extern GL_APICALL void (* GL_APIENTRY glFlushMappedBufferRange) (GLenum target, GLintptr offset, GLsizeiptr length);425extern GL_APICALL void (* GL_APIENTRY glBindVertexArray) (GLuint array);426extern GL_APICALL void (* GL_APIENTRY glDeleteVertexArrays) (GLsizei n, const GLuint* arrays);427extern GL_APICALL void (* GL_APIENTRY glGenVertexArrays) (GLsizei n, GLuint* arrays);428extern GL_APICALL GLboolean (* GL_APIENTRY glIsVertexArray) (GLuint array);429extern GL_APICALL void (* GL_APIENTRY glGetIntegeri_v) (GLenum target, GLuint index, GLint* data);430extern GL_APICALL void (* GL_APIENTRY glBeginTransformFeedback) (GLenum primitiveMode);431extern GL_APICALL void (* GL_APIENTRY glEndTransformFeedback) (void);432extern GL_APICALL void (* GL_APIENTRY glBindBufferRange) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);433extern GL_APICALL void (* GL_APIENTRY glBindBufferBase) (GLenum target, GLuint index, GLuint buffer);434extern GL_APICALL void (* GL_APIENTRY glTransformFeedbackVaryings) (GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode);435extern GL_APICALL void (* GL_APIENTRY glGetTransformFeedbackVarying) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name);436extern GL_APICALL void (* GL_APIENTRY glVertexAttribIPointer) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);437extern GL_APICALL void (* GL_APIENTRY glGetVertexAttribIiv) (GLuint index, GLenum pname, GLint* params);438extern GL_APICALL void (* GL_APIENTRY glGetVertexAttribIuiv) (GLuint index, GLenum pname, GLuint* params);439extern GL_APICALL void (* GL_APIENTRY glVertexAttribI4i) (GLuint index, GLint x, GLint y, GLint z, GLint w);440extern GL_APICALL void (* GL_APIENTRY glVertexAttribI4ui) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);441extern GL_APICALL void (* GL_APIENTRY glVertexAttribI4iv) (GLuint index, const GLint* v);442extern GL_APICALL void (* GL_APIENTRY glVertexAttribI4uiv) (GLuint index, const GLuint* v);443extern GL_APICALL void (* GL_APIENTRY glGetUniformuiv) (GLuint program, GLint location, GLuint* params);444extern GL_APICALL GLint (* GL_APIENTRY glGetFragDataLocation) (GLuint program, const GLchar *name);445extern GL_APICALL void (* GL_APIENTRY glUniform1ui) (GLint location, GLuint v0);446extern GL_APICALL void (* GL_APIENTRY glUniform2ui) (GLint location, GLuint v0, GLuint v1);447extern GL_APICALL void (* GL_APIENTRY glUniform3ui) (GLint location, GLuint v0, GLuint v1, GLuint v2);448extern GL_APICALL void (* GL_APIENTRY glUniform4ui) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);449extern GL_APICALL void (* GL_APIENTRY glUniform1uiv) (GLint location, GLsizei count, const GLuint* value);450extern GL_APICALL void (* GL_APIENTRY glUniform2uiv) (GLint location, GLsizei count, const GLuint* value);451extern GL_APICALL void (* GL_APIENTRY glUniform3uiv) (GLint location, GLsizei count, const GLuint* value);452extern GL_APICALL void (* GL_APIENTRY glUniform4uiv) (GLint location, GLsizei count, const GLuint* value);453extern GL_APICALL void (* GL_APIENTRY glClearBufferiv) (GLenum buffer, GLint drawbuffer, const GLint* value);454extern GL_APICALL void (* GL_APIENTRY glClearBufferuiv) (GLenum buffer, GLint drawbuffer, const GLuint* value);455extern GL_APICALL void (* GL_APIENTRY glClearBufferfv) (GLenum buffer, GLint drawbuffer, const GLfloat* value);456extern GL_APICALL void (* GL_APIENTRY glClearBufferfi) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);457extern GL_APICALL const GLubyte* (* GL_APIENTRY glGetStringi) (GLenum name, GLuint index);458extern GL_APICALL void (* GL_APIENTRY glCopyBufferSubData) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);459extern GL_APICALL void (* GL_APIENTRY glGetUniformIndices) (GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices);460extern GL_APICALL void (* GL_APIENTRY glGetActiveUniformsiv) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params);461extern GL_APICALL GLuint (* GL_APIENTRY glGetUniformBlockIndex) (GLuint program, const GLchar* uniformBlockName);462extern GL_APICALL void (* GL_APIENTRY glGetActiveUniformBlockiv) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);463extern GL_APICALL void (* GL_APIENTRY glGetActiveUniformBlockName) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName);464extern GL_APICALL void (* GL_APIENTRY glUniformBlockBinding) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);465extern GL_APICALL void (* GL_APIENTRY glDrawArraysInstanced) (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);466extern GL_APICALL void (* GL_APIENTRY glDrawElementsInstanced) (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instanceCount);467extern GL_APICALL GLsync (* GL_APIENTRY glFenceSync) (GLenum condition, GLbitfield flags);468extern GL_APICALL GLboolean (* GL_APIENTRY glIsSync) (GLsync sync);469extern GL_APICALL void (* GL_APIENTRY glDeleteSync) (GLsync sync);470extern GL_APICALL GLenum (* GL_APIENTRY glClientWaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout);471extern GL_APICALL void (* GL_APIENTRY glWaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout);472extern GL_APICALL void (* GL_APIENTRY glGetInteger64v) (GLenum pname, GLint64* params);473extern GL_APICALL void (* GL_APIENTRY glGetSynciv) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values);474extern GL_APICALL void (* GL_APIENTRY glGetInteger64i_v) (GLenum target, GLuint index, GLint64* data);475extern GL_APICALL void (* GL_APIENTRY glGetBufferParameteri64v) (GLenum target, GLenum pname, GLint64* params);476extern GL_APICALL void (* GL_APIENTRY glGenSamplers) (GLsizei count, GLuint* samplers);477extern GL_APICALL void (* GL_APIENTRY glDeleteSamplers) (GLsizei count, const GLuint* samplers);478extern GL_APICALL GLboolean (* GL_APIENTRY glIsSampler) (GLuint sampler);479extern GL_APICALL void (* GL_APIENTRY glBindSampler) (GLuint unit, GLuint sampler);480extern GL_APICALL void (* GL_APIENTRY glSamplerParameteri) (GLuint sampler, GLenum pname, GLint param);481extern GL_APICALL void (* GL_APIENTRY glSamplerParameteriv) (GLuint sampler, GLenum pname, const GLint* param);482extern GL_APICALL void (* GL_APIENTRY glSamplerParameterf) (GLuint sampler, GLenum pname, GLfloat param);483extern GL_APICALL void (* GL_APIENTRY glSamplerParameterfv) (GLuint sampler, GLenum pname, const GLfloat* param);484extern GL_APICALL void (* GL_APIENTRY glGetSamplerParameteriv) (GLuint sampler, GLenum pname, GLint* params);485extern GL_APICALL void (* GL_APIENTRY glGetSamplerParameterfv) (GLuint sampler, GLenum pname, GLfloat* params);486extern GL_APICALL void (* GL_APIENTRY glVertexAttribDivisor) (GLuint index, GLuint divisor);487extern GL_APICALL void (* GL_APIENTRY glBindTransformFeedback) (GLenum target, GLuint id);488extern GL_APICALL void (* GL_APIENTRY glDeleteTransformFeedbacks) (GLsizei n, const GLuint* ids);489extern GL_APICALL void (* GL_APIENTRY glGenTransformFeedbacks) (GLsizei n, GLuint* ids);490extern GL_APICALL GLboolean (* GL_APIENTRY glIsTransformFeedback) (GLuint id);491extern GL_APICALL void (* GL_APIENTRY glPauseTransformFeedback) (void);492extern GL_APICALL void (* GL_APIENTRY glResumeTransformFeedback) (void);493extern GL_APICALL void (* GL_APIENTRY glGetProgramBinary) (GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary);494extern GL_APICALL void (* GL_APIENTRY glProgramBinary) (GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length);495extern GL_APICALL void (* GL_APIENTRY glProgramParameteri) (GLuint program, GLenum pname, GLint value);496extern GL_APICALL void (* GL_APIENTRY glInvalidateFramebuffer) (GLenum target, GLsizei numAttachments, const GLenum* attachments);497extern GL_APICALL void (* GL_APIENTRY glInvalidateSubFramebuffer) (GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height);498extern GL_APICALL void (* GL_APIENTRY glTexStorage2D) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);499extern GL_APICALL void (* GL_APIENTRY glTexStorage3D) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);500extern GL_APICALL void (* GL_APIENTRY glGetInternalformativ) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params);501502/* EXT_blend_func_extended */503extern GL_APICALL void (* GL_APIENTRY glBindFragDataLocationIndexedEXT) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);504extern GL_APICALL void (* GL_APIENTRY glBindFragDataLocationEXT) (GLuint program, GLuint color, const GLchar *name);505extern GL_APICALL GLint (* GL_APIENTRY glGetProgramResourceLocationIndexEXT) (GLuint program, GLenum programInterface, const GLchar *name);506extern GL_APICALL GLint (* GL_APIENTRY glGetFragDataIndexEXT) (GLuint program, const GLchar *name);507508#ifdef GL_EXT_buffer_storage509/* EXT_buffer_storage */510extern GL_APICALL void (* GL_APIENTRY glBufferStorageEXT) (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);511#endif512513/* OES_copy_image, etc. */514extern GL_APICALL void (* GL_APIENTRY glCopyImageSubDataOES) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);515516#endif // PPSSPP_PLATFORM(IOS)517518#ifdef __cplusplus519}520#endif521522#endif // USING_GLES2523524525526