| // Copyright 2019 The Cobalt Authors. All Rights Reserved. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // Module Overview: Starboard GLES API |
| // |
| // The GLES API provides an interface with accompanying type declarations and |
| // defines that together provide a single consistent method of GLES usage across |
| // platforms. |
| // |
| // This API is designed to abstract the differences between GLES implementations |
| // and versions on different systems, and to remove the requirement for any |
| // other code to directly pull in and use these system libraries. |
| // |
| // # GLES Version |
| // |
| // This API has the ability to support GLES 3.0, however platforms are not |
| // required to support anything beyond GLES 2.0. The caller is responsible for |
| // ensuring that the functions from GLES 3.0 they are calling from the interface |
| // are valid. |
| |
| #ifndef STARBOARD_GLES_H_ |
| #define STARBOARD_GLES_H_ |
| |
| #include "starboard/configuration.h" |
| #include "starboard/export.h" |
| #include "starboard/log.h" |
| #include "starboard/types.h" |
| |
| #if SB_API_VERSION >= 11 |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| // The following type definitions were adapted from the types declared in |
| // https://www.khronos.org/registry/OpenGL/api/GLES2/gl2.h. |
| typedef uint8_t SbGlBoolean; |
| typedef uint32_t SbGlBitfield; |
| typedef char SbGlChar; |
| typedef float SbGlClampf; |
| typedef uint32_t SbGlEnum; |
| typedef int32_t SbGlFixed; |
| typedef float SbGlFloat; |
| typedef int8_t SbGlInt8; |
| typedef int16_t SbGlInt16; |
| typedef int32_t SbGlInt32; |
| typedef int64_t SbGlInt64; |
| typedef int32_t SbGlSizei; |
| typedef struct __GLsync* SbGlSync; |
| typedef uint8_t SbGlUInt8; |
| typedef uint16_t SbGlUInt16; |
| typedef uint32_t SbGlUInt32; |
| typedef uint64_t SbGlUInt64; |
| typedef void SbGlVoid; |
| |
| // Some compilers will transform the intptr_t to an int transparently behind the |
| // scenes, which is not equivalent to a long int, or long long int, as far as |
| // the compiler is concerned. We check the Starboard configuration and set the |
| // types to those exact types used by OpenGL ES 2.0 |
| // (https://www.khronos.org/registry/OpenGL/api/GLES2/gl2ext.h). |
| #if SB_HAS(64_BIT_POINTERS) && SB_HAS(32_BIT_LONG) |
| typedef long long int SbGlIntPtr; // NOLINT |
| typedef long long int SbGlSizeiPtr; // NOLINT |
| #else // !SB_HAS(64_BIT_POINTERS) || !SB_HAS(32_BIT_LONG) |
| typedef long int SbGlIntPtr; // NOLINT |
| typedef long int SbGlSizeiPtr; // NOLINT |
| #endif // SB_HAS(64_BIT_POINTERS) && SB_HAS(32_BIT_LONG) |
| |
| typedef struct SbGlesInterface { |
| // The following prototypes were adapted from the prototypes declared in |
| // https://www.khronos.org/registry/OpenGL/api/GLES2/gl2.h. |
| void (*glActiveTexture)(SbGlEnum texture); |
| void (*glAttachShader)(SbGlUInt32 program, SbGlUInt32 shader); |
| void (*glBindAttribLocation)(SbGlUInt32 program, |
| SbGlUInt32 index, |
| const SbGlChar* name); |
| void (*glBindBuffer)(SbGlEnum target, SbGlUInt32 buffer); |
| void (*glBindFramebuffer)(SbGlEnum target, SbGlUInt32 framebuffer); |
| void (*glBindRenderbuffer)(SbGlEnum target, SbGlUInt32 renderbuffer); |
| void (*glBindTexture)(SbGlEnum target, SbGlUInt32 texture); |
| void (*glBlendColor)(SbGlFloat red, |
| SbGlFloat green, |
| SbGlFloat blue, |
| SbGlFloat alpha); |
| void (*glBlendEquation)(SbGlEnum mode); |
| void (*glBlendEquationSeparate)(SbGlEnum modeRGB, SbGlEnum modeAlpha); |
| void (*glBlendFunc)(SbGlEnum sfactor, SbGlEnum dfactor); |
| void (*glBlendFuncSeparate)(SbGlEnum sfactorRGB, |
| SbGlEnum dfactorRGB, |
| SbGlEnum sfactorAlpha, |
| SbGlEnum dfactorAlpha); |
| void (*glBufferData)(SbGlEnum target, |
| SbGlSizeiPtr size, |
| const void* data, |
| SbGlEnum usage); |
| void (*glBufferSubData)(SbGlEnum target, |
| SbGlIntPtr offset, |
| SbGlSizeiPtr size, |
| const void* data); |
| SbGlEnum (*glCheckFramebufferStatus)(SbGlEnum target); |
| void (*glClear)(SbGlBitfield mask); |
| void (*glClearColor)(SbGlFloat red, |
| SbGlFloat green, |
| SbGlFloat blue, |
| SbGlFloat alpha); |
| void (*glClearDepthf)(SbGlFloat d); |
| void (*glClearStencil)(SbGlInt32 s); |
| void (*glColorMask)(SbGlBoolean red, |
| SbGlBoolean green, |
| SbGlBoolean blue, |
| SbGlBoolean alpha); |
| void (*glCompileShader)(SbGlUInt32 shader); |
| void (*glCompressedTexImage2D)(SbGlEnum target, |
| SbGlInt32 level, |
| SbGlEnum internalformat, |
| SbGlSizei width, |
| SbGlSizei height, |
| SbGlInt32 border, |
| SbGlSizei imageSize, |
| const void* data); |
| void (*glCompressedTexSubImage2D)(SbGlEnum target, |
| SbGlInt32 level, |
| SbGlInt32 xoffset, |
| SbGlInt32 yoffset, |
| SbGlSizei width, |
| SbGlSizei height, |
| SbGlEnum format, |
| SbGlSizei imageSize, |
| const void* data); |
| void (*glCopyTexImage2D)(SbGlEnum target, |
| SbGlInt32 level, |
| SbGlEnum internalformat, |
| SbGlInt32 x, |
| SbGlInt32 y, |
| SbGlSizei width, |
| SbGlSizei height, |
| SbGlInt32 border); |
| void (*glCopyTexSubImage2D)(SbGlEnum target, |
| SbGlInt32 level, |
| SbGlInt32 xoffset, |
| SbGlInt32 yoffset, |
| SbGlInt32 x, |
| SbGlInt32 y, |
| SbGlSizei width, |
| SbGlSizei height); |
| SbGlUInt32 (*glCreateProgram)(void); |
| SbGlUInt32 (*glCreateShader)(SbGlEnum type); |
| void (*glCullFace)(SbGlEnum mode); |
| void (*glDeleteBuffers)(SbGlSizei n, const SbGlUInt32* buffers); |
| void (*glDeleteFramebuffers)(SbGlSizei n, const SbGlUInt32* framebuffers); |
| void (*glDeleteProgram)(SbGlUInt32 program); |
| void (*glDeleteRenderbuffers)(SbGlSizei n, const SbGlUInt32* renderbuffers); |
| void (*glDeleteShader)(SbGlUInt32 shader); |
| void (*glDeleteTextures)(SbGlSizei n, const SbGlUInt32* textures); |
| void (*glDepthFunc)(SbGlEnum func); |
| void (*glDepthMask)(SbGlBoolean flag); |
| void (*glDepthRangef)(SbGlFloat n, SbGlFloat f); |
| void (*glDetachShader)(SbGlUInt32 program, SbGlUInt32 shader); |
| void (*glDisable)(SbGlEnum cap); |
| void (*glDisableVertexAttribArray)(SbGlUInt32 index); |
| void (*glDrawArrays)(SbGlEnum mode, SbGlInt32 first, SbGlSizei count); |
| void (*glDrawElements)(SbGlEnum mode, |
| SbGlSizei count, |
| SbGlEnum type, |
| const void* indices); |
| void (*glEnable)(SbGlEnum cap); |
| void (*glEnableVertexAttribArray)(SbGlUInt32 index); |
| void (*glFinish)(void); |
| void (*glFlush)(void); |
| void (*glFramebufferRenderbuffer)(SbGlEnum target, |
| SbGlEnum attachment, |
| SbGlEnum renderbuffertarget, |
| SbGlUInt32 renderbuffer); |
| void (*glFramebufferTexture2D)(SbGlEnum target, |
| SbGlEnum attachment, |
| SbGlEnum textarget, |
| SbGlUInt32 texture, |
| SbGlInt32 level); |
| void (*glFrontFace)(SbGlEnum mode); |
| void (*glGenBuffers)(SbGlSizei n, SbGlUInt32* buffers); |
| void (*glGenerateMipmap)(SbGlEnum target); |
| void (*glGenFramebuffers)(SbGlSizei n, SbGlUInt32* framebuffers); |
| void (*glGenRenderbuffers)(SbGlSizei n, SbGlUInt32* renderbuffers); |
| void (*glGenTextures)(SbGlSizei n, SbGlUInt32* textures); |
| void (*glGetActiveAttrib)(SbGlUInt32 program, |
| SbGlUInt32 index, |
| SbGlSizei bufSize, |
| SbGlSizei* length, |
| SbGlInt32* size, |
| SbGlEnum* type, |
| SbGlChar* name); |
| void (*glGetActiveUniform)(SbGlUInt32 program, |
| SbGlUInt32 index, |
| SbGlSizei bufSize, |
| SbGlSizei* length, |
| SbGlInt32* size, |
| SbGlEnum* type, |
| SbGlChar* name); |
| void (*glGetAttachedShaders)(SbGlUInt32 program, |
| SbGlSizei maxCount, |
| SbGlSizei* count, |
| SbGlUInt32* shaders); |
| SbGlInt32 (*glGetAttribLocation)(SbGlUInt32 program, const SbGlChar* name); |
| void (*glGetBooleanv)(SbGlEnum pname, SbGlBoolean* data); |
| void (*glGetBufferParameteriv)(SbGlEnum target, |
| SbGlEnum pname, |
| SbGlInt32* params); |
| SbGlEnum (*glGetError)(void); |
| void (*glGetFloatv)(SbGlEnum pname, SbGlFloat* data); |
| void (*glGetFramebufferAttachmentParameteriv)(SbGlEnum target, |
| SbGlEnum attachment, |
| SbGlEnum pname, |
| SbGlInt32* params); |
| void (*glGetIntegerv)(SbGlEnum pname, SbGlInt32* data); |
| void (*glGetProgramiv)(SbGlUInt32 program, SbGlEnum pname, SbGlInt32* params); |
| void (*glGetProgramInfoLog)(SbGlUInt32 program, |
| SbGlSizei bufSize, |
| SbGlSizei* length, |
| SbGlChar* infoLog); |
| void (*glGetRenderbufferParameteriv)(SbGlEnum target, |
| SbGlEnum pname, |
| SbGlInt32* params); |
| void (*glGetShaderiv)(SbGlUInt32 shader, SbGlEnum pname, SbGlInt32* params); |
| void (*glGetShaderInfoLog)(SbGlUInt32 shader, |
| SbGlSizei bufSize, |
| SbGlSizei* length, |
| SbGlChar* infoLog); |
| void (*glGetShaderPrecisionFormat)(SbGlEnum shadertype, |
| SbGlEnum precisiontype, |
| SbGlInt32* range, |
| SbGlInt32* precision); |
| void (*glGetShaderSource)(SbGlUInt32 shader, |
| SbGlSizei bufSize, |
| SbGlSizei* length, |
| SbGlChar* source); |
| const SbGlUInt8* (*glGetString)(SbGlEnum name); |
| void (*glGetTexParameterfv)(SbGlEnum target, |
| SbGlEnum pname, |
| SbGlFloat* params); |
| void (*glGetTexParameteriv)(SbGlEnum target, |
| SbGlEnum pname, |
| SbGlInt32* params); |
| void (*glGetUniformfv)(SbGlUInt32 program, |
| SbGlInt32 location, |
| SbGlFloat* params); |
| void (*glGetUniformiv)(SbGlUInt32 program, |
| SbGlInt32 location, |
| SbGlInt32* params); |
| SbGlInt32 (*glGetUniformLocation)(SbGlUInt32 program, const SbGlChar* name); |
| void (*glGetVertexAttribfv)(SbGlUInt32 index, |
| SbGlEnum pname, |
| SbGlFloat* params); |
| void (*glGetVertexAttribiv)(SbGlUInt32 index, |
| SbGlEnum pname, |
| SbGlInt32* params); |
| void (*glGetVertexAttribPointerv)(SbGlUInt32 index, |
| SbGlEnum pname, |
| void** pointer); |
| void (*glHint)(SbGlEnum target, SbGlEnum mode); |
| SbGlBoolean (*glIsBuffer)(SbGlUInt32 buffer); |
| SbGlBoolean (*glIsEnabled)(SbGlEnum cap); |
| SbGlBoolean (*glIsFramebuffer)(SbGlUInt32 framebuffer); |
| SbGlBoolean (*glIsProgram)(SbGlUInt32 program); |
| SbGlBoolean (*glIsRenderbuffer)(SbGlUInt32 renderbuffer); |
| SbGlBoolean (*glIsShader)(SbGlUInt32 shader); |
| SbGlBoolean (*glIsTexture)(SbGlUInt32 texture); |
| void (*glLineWidth)(SbGlFloat width); |
| void (*glLinkProgram)(SbGlUInt32 program); |
| void (*glPixelStorei)(SbGlEnum pname, SbGlInt32 param); |
| void (*glPolygonOffset)(SbGlFloat factor, SbGlFloat units); |
| void (*glReadPixels)(SbGlInt32 x, |
| SbGlInt32 y, |
| SbGlSizei width, |
| SbGlSizei height, |
| SbGlEnum format, |
| SbGlEnum type, |
| void* pixels); |
| void (*glReleaseShaderCompiler)(void); |
| void (*glRenderbufferStorage)(SbGlEnum target, |
| SbGlEnum internalformat, |
| SbGlSizei width, |
| SbGlSizei height); |
| void (*glSampleCoverage)(SbGlFloat value, SbGlBoolean invert); |
| void (*glScissor)(SbGlInt32 x, |
| SbGlInt32 y, |
| SbGlSizei width, |
| SbGlSizei height); |
| void (*glShaderBinary)(SbGlSizei count, |
| const SbGlUInt32* shaders, |
| SbGlEnum binaryformat, |
| const void* binary, |
| SbGlSizei length); |
| void (*glShaderSource)(SbGlUInt32 shader, |
| SbGlSizei count, |
| const SbGlChar* const* string, // NOLINT |
| const SbGlInt32* length); |
| void (*glStencilFunc)(SbGlEnum func, SbGlInt32 ref, SbGlUInt32 mask); |
| void (*glStencilFuncSeparate)(SbGlEnum face, |
| SbGlEnum func, |
| SbGlInt32 ref, |
| SbGlUInt32 mask); |
| void (*glStencilMask)(SbGlUInt32 mask); |
| void (*glStencilMaskSeparate)(SbGlEnum face, SbGlUInt32 mask); |
| void (*glStencilOp)(SbGlEnum fail, SbGlEnum zfail, SbGlEnum zpass); |
| void (*glStencilOpSeparate)(SbGlEnum face, |
| SbGlEnum sfail, |
| SbGlEnum dpfail, |
| SbGlEnum dppass); |
| void (*glTexImage2D)(SbGlEnum target, |
| SbGlInt32 level, |
| SbGlInt32 internalformat, |
| SbGlSizei width, |
| SbGlSizei height, |
| SbGlInt32 border, |
| SbGlEnum format, |
| SbGlEnum type, |
| const void* pixels); |
| void (*glTexParameterf)(SbGlEnum target, SbGlEnum pname, SbGlFloat param); |
| void (*glTexParameterfv)(SbGlEnum target, |
| SbGlEnum pname, |
| const SbGlFloat* params); |
| void (*glTexParameteri)(SbGlEnum target, SbGlEnum pname, SbGlInt32 param); |
| void (*glTexParameteriv)(SbGlEnum target, |
| SbGlEnum pname, |
| const SbGlInt32* params); |
| void (*glTexSubImage2D)(SbGlEnum target, |
| SbGlInt32 level, |
| SbGlInt32 xoffset, |
| SbGlInt32 yoffset, |
| SbGlSizei width, |
| SbGlSizei height, |
| SbGlEnum format, |
| SbGlEnum type, |
| const void* pixels); |
| void (*glUniform1f)(SbGlInt32 location, SbGlFloat v0); |
| void (*glUniform1fv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlFloat* value); |
| void (*glUniform1i)(SbGlInt32 location, SbGlInt32 v0); |
| void (*glUniform1iv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlInt32* value); |
| void (*glUniform2f)(SbGlInt32 location, SbGlFloat v0, SbGlFloat v1); |
| void (*glUniform2fv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlFloat* value); |
| void (*glUniform2i)(SbGlInt32 location, SbGlInt32 v0, SbGlInt32 v1); |
| void (*glUniform2iv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlInt32* value); |
| void (*glUniform3f)(SbGlInt32 location, |
| SbGlFloat v0, |
| SbGlFloat v1, |
| SbGlFloat v2); |
| void (*glUniform3fv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlFloat* value); |
| void (*glUniform3i)(SbGlInt32 location, |
| SbGlInt32 v0, |
| SbGlInt32 v1, |
| SbGlInt32 v2); |
| void (*glUniform3iv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlInt32* value); |
| void (*glUniform4f)(SbGlInt32 location, |
| SbGlFloat v0, |
| SbGlFloat v1, |
| SbGlFloat v2, |
| SbGlFloat v3); |
| void (*glUniform4fv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlFloat* value); |
| void (*glUniform4i)(SbGlInt32 location, |
| SbGlInt32 v0, |
| SbGlInt32 v1, |
| SbGlInt32 v2, |
| SbGlInt32 v3); |
| void (*glUniform4iv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlInt32* value); |
| void (*glUniformMatrix2fv)(SbGlInt32 location, |
| SbGlSizei count, |
| SbGlBoolean transpose, |
| const SbGlFloat* value); |
| void (*glUniformMatrix3fv)(SbGlInt32 location, |
| SbGlSizei count, |
| SbGlBoolean transpose, |
| const SbGlFloat* value); |
| void (*glUniformMatrix4fv)(SbGlInt32 location, |
| SbGlSizei count, |
| SbGlBoolean transpose, |
| const SbGlFloat* value); |
| void (*glUseProgram)(SbGlUInt32 program); |
| void (*glValidateProgram)(SbGlUInt32 program); |
| void (*glVertexAttrib1f)(SbGlUInt32 index, SbGlFloat x); |
| void (*glVertexAttrib1fv)(SbGlUInt32 index, const SbGlFloat* v); |
| void (*glVertexAttrib2f)(SbGlUInt32 index, SbGlFloat x, SbGlFloat y); |
| void (*glVertexAttrib2fv)(SbGlUInt32 index, const SbGlFloat* v); |
| void (*glVertexAttrib3f)(SbGlUInt32 index, |
| SbGlFloat x, |
| SbGlFloat y, |
| SbGlFloat z); |
| void (*glVertexAttrib3fv)(SbGlUInt32 index, const SbGlFloat* v); |
| void (*glVertexAttrib4f)(SbGlUInt32 index, |
| SbGlFloat x, |
| SbGlFloat y, |
| SbGlFloat z, |
| SbGlFloat w); |
| void (*glVertexAttrib4fv)(SbGlUInt32 index, const SbGlFloat* v); |
| void (*glVertexAttribPointer)(SbGlUInt32 index, |
| SbGlInt32 size, |
| SbGlEnum type, |
| SbGlBoolean normalized, |
| SbGlSizei stride, |
| const void* pointer); |
| void (*glViewport)(SbGlInt32 x, |
| SbGlInt32 y, |
| SbGlSizei width, |
| SbGlSizei height); |
| |
| // The following prototypes were adapted from the prototypes declared in |
| // https://www.khronos.org/registry/OpenGL/api/GLES3/gl3.h. |
| void (*glReadBuffer)(SbGlEnum src); |
| void (*glDrawRangeElements)(SbGlEnum mode, |
| SbGlUInt32 start, |
| SbGlUInt32 end, |
| SbGlSizei count, |
| SbGlEnum type, |
| const void* indices); |
| void (*glTexImage3D)(SbGlEnum target, |
| SbGlInt32 level, |
| SbGlInt32 internalformat, |
| SbGlSizei width, |
| SbGlSizei height, |
| SbGlSizei depth, |
| SbGlInt32 border, |
| SbGlEnum format, |
| SbGlEnum type, |
| const void* pixels); |
| void (*glTexSubImage3D)(SbGlEnum target, |
| SbGlInt32 level, |
| SbGlInt32 xoffset, |
| SbGlInt32 yoffset, |
| SbGlInt32 zoffset, |
| SbGlSizei width, |
| SbGlSizei height, |
| SbGlSizei depth, |
| SbGlEnum format, |
| SbGlEnum type, |
| const void* pixels); |
| void (*glCopyTexSubImage3D)(SbGlEnum target, |
| SbGlInt32 level, |
| SbGlInt32 xoffset, |
| SbGlInt32 yoffset, |
| SbGlInt32 zoffset, |
| SbGlInt32 x, |
| SbGlInt32 y, |
| SbGlSizei width, |
| SbGlSizei height); |
| void (*glCompressedTexImage3D)(SbGlEnum target, |
| SbGlInt32 level, |
| SbGlEnum internalformat, |
| SbGlSizei width, |
| SbGlSizei height, |
| SbGlSizei depth, |
| SbGlInt32 border, |
| SbGlSizei imageSize, |
| const void* data); |
| void (*glCompressedTexSubImage3D)(SbGlEnum target, |
| SbGlInt32 level, |
| SbGlInt32 xoffset, |
| SbGlInt32 yoffset, |
| SbGlInt32 zoffset, |
| SbGlSizei width, |
| SbGlSizei height, |
| SbGlSizei depth, |
| SbGlEnum format, |
| SbGlSizei imageSize, |
| const void* data); |
| void (*glGenQueries)(SbGlSizei n, SbGlUInt32* ids); |
| void (*glDeleteQueries)(SbGlSizei n, const SbGlUInt32* ids); |
| SbGlBoolean (*glIsQuery)(SbGlUInt32 id); |
| void (*glBeginQuery)(SbGlEnum target, SbGlUInt32 id); |
| void (*glEndQuery)(SbGlEnum target); |
| void (*glGetQueryiv)(SbGlEnum target, SbGlEnum pname, SbGlInt32* params); |
| void (*glGetQueryObjectuiv)(SbGlUInt32 id, |
| SbGlEnum pname, |
| SbGlUInt32* params); |
| SbGlBoolean (*glUnmapBuffer)(SbGlEnum target); |
| void (*glGetBufferPointerv)(SbGlEnum target, SbGlEnum pname, void** params); |
| void (*glDrawBuffers)(SbGlSizei n, const SbGlEnum* bufs); |
| void (*glUniformMatrix2x3fv)(SbGlInt32 location, |
| SbGlSizei count, |
| SbGlBoolean transpose, |
| const SbGlFloat* value); |
| void (*glUniformMatrix3x2fv)(SbGlInt32 location, |
| SbGlSizei count, |
| SbGlBoolean transpose, |
| const SbGlFloat* value); |
| void (*glUniformMatrix2x4fv)(SbGlInt32 location, |
| SbGlSizei count, |
| SbGlBoolean transpose, |
| const SbGlFloat* value); |
| void (*glUniformMatrix4x2fv)(SbGlInt32 location, |
| SbGlSizei count, |
| SbGlBoolean transpose, |
| const SbGlFloat* value); |
| void (*glUniformMatrix3x4fv)(SbGlInt32 location, |
| SbGlSizei count, |
| SbGlBoolean transpose, |
| const SbGlFloat* value); |
| void (*glUniformMatrix4x3fv)(SbGlInt32 location, |
| SbGlSizei count, |
| SbGlBoolean transpose, |
| const SbGlFloat* value); |
| void (*glBlitFramebuffer)(SbGlInt32 srcX0, |
| SbGlInt32 srcY0, |
| SbGlInt32 srcX1, |
| SbGlInt32 srcY1, |
| SbGlInt32 dstX0, |
| SbGlInt32 dstY0, |
| SbGlInt32 dstX1, |
| SbGlInt32 dstY1, |
| SbGlBitfield mask, |
| SbGlEnum filter); |
| void (*glRenderbufferStorageMultisample)(SbGlEnum target, |
| SbGlSizei samples, |
| SbGlEnum internalformat, |
| SbGlSizei width, |
| SbGlSizei height); |
| void (*glFramebufferTextureLayer)(SbGlEnum target, |
| SbGlEnum attachment, |
| SbGlUInt32 texture, |
| SbGlInt32 level, |
| SbGlInt32 layer); |
| void* (*glMapBufferRange)(SbGlEnum target, |
| SbGlIntPtr offset, |
| SbGlSizeiPtr length, |
| SbGlBitfield access); |
| void (*glFlushMappedBufferRange)(SbGlEnum target, |
| SbGlIntPtr offset, |
| SbGlSizeiPtr length); |
| void (*glBindVertexArray)(SbGlUInt32 array); |
| void (*glDeleteVertexArrays)(SbGlSizei n, const SbGlUInt32* arrays); |
| void (*glGenVertexArrays)(SbGlSizei n, SbGlUInt32* arrays); |
| SbGlBoolean (*glIsVertexArray)(SbGlUInt32 array); |
| void (*glGetIntegeri_v)(SbGlEnum target, SbGlUInt32 index, SbGlInt32* data); |
| void (*glBeginTransformFeedback)(SbGlEnum primitiveMode); |
| void (*glEndTransformFeedback)(void); |
| void (*glBindBufferRange)(SbGlEnum target, |
| SbGlUInt32 index, |
| SbGlUInt32 buffer, |
| SbGlIntPtr offset, |
| SbGlSizeiPtr size); |
| void (*glBindBufferBase)(SbGlEnum target, |
| SbGlUInt32 index, |
| SbGlUInt32 buffer); |
| void (*glTransformFeedbackVaryings)(SbGlUInt32 program, |
| SbGlSizei count, |
| const SbGlChar* const* varyings, |
| SbGlEnum bufferMode); |
| void (*glGetTransformFeedbackVarying)(SbGlUInt32 program, |
| SbGlUInt32 index, |
| SbGlSizei bufSize, |
| SbGlSizei* length, |
| SbGlSizei* size, |
| SbGlEnum* type, |
| SbGlChar* name); |
| void (*glVertexAttribIPointer)(SbGlUInt32 index, |
| SbGlInt32 size, |
| SbGlEnum type, |
| SbGlSizei stride, |
| const void* pointer); |
| void (*glGetVertexAttribIiv)(SbGlUInt32 index, |
| SbGlEnum pname, |
| SbGlInt32* params); |
| void (*glGetVertexAttribIuiv)(SbGlUInt32 index, |
| SbGlEnum pname, |
| SbGlUInt32* params); |
| void (*glVertexAttribI4i)(SbGlUInt32 index, |
| SbGlInt32 x, |
| SbGlInt32 y, |
| SbGlInt32 z, |
| SbGlInt32 w); |
| void (*glVertexAttribI4ui)(SbGlUInt32 index, |
| SbGlUInt32 x, |
| SbGlUInt32 y, |
| SbGlUInt32 z, |
| SbGlUInt32 w); |
| void (*glVertexAttribI4iv)(SbGlUInt32 index, const SbGlInt32* v); |
| void (*glVertexAttribI4uiv)(SbGlUInt32 index, const SbGlUInt32* v); |
| void (*glGetUniformuiv)(SbGlUInt32 program, |
| SbGlInt32 location, |
| SbGlUInt32* params); |
| SbGlInt32 (*glGetFragDataLocation)(SbGlUInt32 program, const SbGlChar* name); |
| void (*glUniform1ui)(SbGlInt32 location, SbGlUInt32 v0); |
| void (*glUniform2ui)(SbGlInt32 location, SbGlUInt32 v0, SbGlUInt32 v1); |
| void (*glUniform3ui)(SbGlInt32 location, |
| SbGlUInt32 v0, |
| SbGlUInt32 v1, |
| SbGlUInt32 v2); |
| void (*glUniform4ui)(SbGlInt32 location, |
| SbGlUInt32 v0, |
| SbGlUInt32 v1, |
| SbGlUInt32 v2, |
| SbGlUInt32 v3); |
| void (*glUniform1uiv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlUInt32* value); |
| void (*glUniform2uiv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlUInt32* value); |
| void (*glUniform3uiv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlUInt32* value); |
| void (*glUniform4uiv)(SbGlInt32 location, |
| SbGlSizei count, |
| const SbGlUInt32* value); |
| void (*glClearBufferiv)(SbGlEnum buffer, |
| SbGlInt32 drawbuffer, |
| const SbGlInt32* value); |
| void (*glClearBufferuiv)(SbGlEnum buffer, |
| SbGlInt32 drawbuffer, |
| const SbGlUInt32* value); |
| void (*glClearBufferfv)(SbGlEnum buffer, |
| SbGlInt32 drawbuffer, |
| const SbGlFloat* value); |
| void (*glClearBufferfi)(SbGlEnum buffer, |
| SbGlInt32 drawbuffer, |
| SbGlFloat depth, |
| SbGlInt32 stencil); |
| const SbGlUInt8* (*glGetStringi)(SbGlEnum name, SbGlUInt32 index); |
| void (*glCopyBufferSubData)(SbGlEnum readTarget, |
| SbGlEnum writeTarget, |
| SbGlIntPtr readOffset, |
| SbGlIntPtr writeOffset, |
| SbGlSizeiPtr size); |
| void (*glGetUniformIndices)(SbGlUInt32 program, |
| SbGlSizei uniformCount, |
| const SbGlChar* const* uniformNames, |
| SbGlUInt32* uniformIndices); |
| void (*glGetActiveUniformsiv)(SbGlUInt32 program, |
| SbGlSizei uniformCount, |
| const SbGlUInt32* uniformIndices, |
| SbGlEnum pname, |
| SbGlInt32* params); |
| SbGlUInt32 (*glGetUniformBlockIndex)(SbGlUInt32 program, |
| const SbGlChar* uniformBlockName); |
| void (*glGetActiveUniformBlockiv)(SbGlUInt32 program, |
| SbGlUInt32 uniformBlockIndex, |
| SbGlEnum pname, |
| SbGlInt32* params); |
| void (*glGetActiveUniformBlockName)(SbGlUInt32 program, |
| SbGlUInt32 uniformBlockIndex, |
| SbGlSizei bufSize, |
| SbGlSizei* length, |
| SbGlChar* uniformBlockName); |
| void (*glUniformBlockBinding)(SbGlUInt32 program, |
| SbGlUInt32 uniformBlockIndex, |
| SbGlUInt32 uniformBlockBinding); |
| void (*glDrawArraysInstanced)(SbGlEnum mode, |
| SbGlInt32 first, |
| SbGlSizei count, |
| SbGlSizei instancecount); |
| void (*glDrawElementsInstanced)(SbGlEnum mode, |
| SbGlSizei count, |
| SbGlEnum type, |
| const void* indices, |
| SbGlSizei instancecount); |
| SbGlSync (*glFenceSync)(SbGlEnum condition, SbGlBitfield flags); |
| SbGlBoolean (*glIsSync)(SbGlSync sync); |
| void (*glDeleteSync)(SbGlSync sync); |
| SbGlEnum (*glClientWaitSync)(SbGlSync sync, |
| SbGlBitfield flags, |
| SbGlUInt64 timeout); |
| void (*glWaitSync)(SbGlSync sync, SbGlBitfield flags, SbGlUInt64 timeout); |
| void (*glGetInteger64v)(SbGlEnum pname, SbGlInt64* data); |
| void (*glGetSynciv)(SbGlSync sync, |
| SbGlEnum pname, |
| SbGlSizei bufSize, |
| SbGlSizei* length, |
| SbGlInt32* values); |
| void (*glGetInteger64i_v)(SbGlEnum target, SbGlUInt32 index, SbGlInt64* data); |
| void (*glGetBufferParameteri64v)(SbGlEnum target, |
| SbGlEnum pname, |
| SbGlInt64* params); |
| void (*glGenSamplers)(SbGlSizei count, SbGlUInt32* samplers); |
| void (*glDeleteSamplers)(SbGlSizei count, const SbGlUInt32* samplers); |
| SbGlBoolean (*glIsSampler)(SbGlUInt32 sampler); |
| void (*glBindSampler)(SbGlUInt32 unit, SbGlUInt32 sampler); |
| void (*glSamplerParameteri)(SbGlUInt32 sampler, |
| SbGlEnum pname, |
| SbGlInt32 param); |
| void (*glSamplerParameteriv)(SbGlUInt32 sampler, |
| SbGlEnum pname, |
| const SbGlInt32* param); |
| void (*glSamplerParameterf)(SbGlUInt32 sampler, |
| SbGlEnum pname, |
| SbGlFloat param); |
| void (*glSamplerParameterfv)(SbGlUInt32 sampler, |
| SbGlEnum pname, |
| const SbGlFloat* param); |
| void (*glGetSamplerParameteriv)(SbGlUInt32 sampler, |
| SbGlEnum pname, |
| SbGlInt32* params); |
| void (*glGetSamplerParameterfv)(SbGlUInt32 sampler, |
| SbGlEnum pname, |
| SbGlFloat* params); |
| void (*glVertexAttribDivisor)(SbGlUInt32 index, SbGlUInt32 divisor); |
| void (*glBindTransformFeedback)(SbGlEnum target, SbGlUInt32 id); |
| void (*glDeleteTransformFeedbacks)(SbGlSizei n, const SbGlUInt32* ids); |
| void (*glGenTransformFeedbacks)(SbGlSizei n, SbGlUInt32* ids); |
| SbGlBoolean (*glIsTransformFeedback)(SbGlUInt32 id); |
| void (*glPauseTransformFeedback)(void); |
| void (*glResumeTransformFeedback)(void); |
| void (*glGetProgramBinary)(SbGlUInt32 program, |
| SbGlSizei bufSize, |
| SbGlSizei* length, |
| SbGlEnum* binaryFormat, |
| void* binary); |
| void (*glProgramBinary)(SbGlUInt32 program, |
| SbGlEnum binaryFormat, |
| const void* binary, |
| SbGlSizei length); |
| void (*glProgramParameteri)(SbGlUInt32 program, |
| SbGlEnum pname, |
| SbGlInt32 value); |
| void (*glInvalidateFramebuffer)(SbGlEnum target, |
| SbGlSizei numAttachments, |
| const SbGlEnum* attachments); |
| void (*glInvalidateSubFramebuffer)(SbGlEnum target, |
| SbGlSizei numAttachments, |
| const SbGlEnum* attachments, |
| SbGlInt32 x, |
| SbGlInt32 y, |
| SbGlSizei width, |
| SbGlSizei height); |
| void (*glTexStorage2D)(SbGlEnum target, |
| SbGlSizei levels, |
| SbGlEnum internalformat, |
| SbGlSizei width, |
| SbGlSizei height); |
| void (*glTexStorage3D)(SbGlEnum target, |
| SbGlSizei levels, |
| SbGlEnum internalformat, |
| SbGlSizei width, |
| SbGlSizei height, |
| SbGlSizei depth); |
| void (*glGetInternalformativ)(SbGlEnum target, |
| SbGlEnum internalformat, |
| SbGlEnum pname, |
| SbGlSizei bufSize, |
| SbGlInt32* params); |
| } SbGlesInterface; |
| |
| SB_EXPORT const SbGlesInterface* SbGetGlesInterface(); |
| |
| // Previously defined in |
| // https://www.khronos.org/registry/OpenGL/api/GLES2/gl2.h |
| #define SB_GL_DEPTH_BUFFER_BIT 0x00000100 |
| #define SB_GL_STENCIL_BUFFER_BIT 0x00000400 |
| #define SB_GL_COLOR_BUFFER_BIT 0x00004000 |
| |
| #define SB_GL_FALSE 0 |
| #define SB_GL_TRUE 1 |
| |
| #define SB_GL_POINTS 0x0000 |
| #define SB_GL_LINES 0x0001 |
| #define SB_GL_LINE_LOOP 0x0002 |
| #define SB_GL_LINE_STRIP 0x0003 |
| #define SB_GL_TRIANGLES 0x0004 |
| #define SB_GL_TRIANGLE_STRIP 0x0005 |
| #define SB_GL_TRIANGLE_FAN 0x0006 |
| #define SB_GL_ZERO 0 |
| #define SB_GL_ONE 1 |
| #define SB_GL_SRC_COLOR 0x0300 |
| #define SB_GL_ONE_MINUS_SRC_COLOR 0x0301 |
| #define SB_GL_SRC_ALPHA 0x0302 |
| #define SB_GL_ONE_MINUS_SRC_ALPHA 0x0303 |
| #define SB_GL_DST_ALPHA 0x0304 |
| #define SB_GL_ONE_MINUS_DST_ALPHA 0x0305 |
| #define SB_GL_DST_COLOR 0x0306 |
| #define SB_GL_ONE_MINUS_DST_COLOR 0x0307 |
| #define SB_GL_SRC_ALPHA_SATURATE 0x0308 |
| #define SB_GL_FUNC_ADD 0x8006 |
| #define SB_GL_BLEND_EQUATION 0x8009 |
| #define SB_GL_BLEND_EQUATION_RGB 0x8009 |
| #define SB_GL_BLEND_EQUATION_ALPHA 0x883D |
| #define SB_GL_FUNC_SUBTRACT 0x800A |
| #define SB_GL_FUNC_REVERSE_SUBTRACT 0x800B |
| #define SB_GL_BLEND_DST_RGB 0x80C8 |
| #define SB_GL_BLEND_SRC_RGB 0x80C9 |
| #define SB_GL_BLEND_DST_ALPHA 0x80CA |
| #define SB_GL_BLEND_SRC_ALPHA 0x80CB |
| #define SB_GL_CONSTANT_COLOR 0x8001 |
| #define SB_GL_ONE_MINUS_CONSTANT_COLOR 0x8002 |
| #define SB_GL_CONSTANT_ALPHA 0x8003 |
| #define SB_GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 |
| #define SB_GL_BLEND_COLOR 0x8005 |
| #define SB_GL_ARRAY_BUFFER 0x8892 |
| #define SB_GL_ELEMENT_ARRAY_BUFFER 0x8893 |
| #define SB_GL_ARRAY_BUFFER_BINDING 0x8894 |
| #define SB_GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 |
| #define SB_GL_STREAM_DRAW 0x88E0 |
| #define SB_GL_STATIC_DRAW 0x88E4 |
| #define SB_GL_DYNAMIC_DRAW 0x88E8 |
| #define SB_GL_BUFFER_SIZE 0x8764 |
| #define SB_GL_BUFFER_USAGE 0x8765 |
| #define SB_GL_CURRENT_VERTEX_ATTRIB 0x8626 |
| #define SB_GL_FRONT 0x0404 |
| #define SB_GL_BACK 0x0405 |
| #define SB_GL_FRONT_AND_BACK 0x0408 |
| #define SB_GL_TEXTURE_2D 0x0DE1 |
| #define SB_GL_CULL_FACE 0x0B44 |
| #define SB_GL_BLEND 0x0BE2 |
| #define SB_GL_DITHER 0x0BD0 |
| #define SB_GL_STENCIL_TEST 0x0B90 |
| #define SB_GL_DEPTH_TEST 0x0B71 |
| #define SB_GL_SCISSOR_TEST 0x0C11 |
| #define SB_GL_POLYGON_OFFSET_FILL 0x8037 |
| #define SB_GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E |
| #define SB_GL_SAMPLE_COVERAGE 0x80A0 |
| #define SB_GL_NO_ERROR 0 |
| #define SB_GL_INVALID_ENUM 0x0500 |
| #define SB_GL_INVALID_VALUE 0x0501 |
| #define SB_GL_INVALID_OPERATION 0x0502 |
| #define SB_GL_OUT_OF_MEMORY 0x0505 |
| #define SB_GL_CW 0x0900 |
| #define SB_GL_CCW 0x0901 |
| #define SB_GL_LINE_WIDTH 0x0B21 |
| #define SB_GL_ALIASED_POINT_SIZE_RANGE 0x846D |
| #define SB_GL_ALIASED_LINE_WIDTH_RANGE 0x846E |
| #define SB_GL_CULL_FACE_MODE 0x0B45 |
| #define SB_GL_FRONT_FACE 0x0B46 |
| #define SB_GL_DEPTH_RANGE 0x0B70 |
| #define SB_GL_DEPTH_WRITEMASK 0x0B72 |
| #define SB_GL_DEPTH_CLEAR_VALUE 0x0B73 |
| #define SB_GL_DEPTH_FUNC 0x0B74 |
| #define SB_GL_STENCIL_CLEAR_VALUE 0x0B91 |
| #define SB_GL_STENCIL_FUNC 0x0B92 |
| #define SB_GL_STENCIL_FAIL 0x0B94 |
| #define SB_GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 |
| #define SB_GL_STENCIL_PASS_DEPTH_PASS 0x0B96 |
| #define SB_GL_STENCIL_REF 0x0B97 |
| #define SB_GL_STENCIL_VALUE_MASK 0x0B93 |
| #define SB_GL_STENCIL_WRITEMASK 0x0B98 |
| #define SB_GL_STENCIL_BACK_FUNC 0x8800 |
| #define SB_GL_STENCIL_BACK_FAIL 0x8801 |
| #define SB_GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 |
| #define SB_GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 |
| #define SB_GL_STENCIL_BACK_REF 0x8CA3 |
| #define SB_GL_STENCIL_BACK_VALUE_MASK 0x8CA4 |
| #define SB_GL_STENCIL_BACK_WRITEMASK 0x8CA5 |
| #define SB_GL_VIEWPORT 0x0BA2 |
| #define SB_GL_SCISSOR_BOX 0x0C10 |
| #define SB_GL_COLOR_CLEAR_VALUE 0x0C22 |
| #define SB_GL_COLOR_WRITEMASK 0x0C23 |
| #define SB_GL_UNPACK_ALIGNMENT 0x0CF5 |
| #define SB_GL_PACK_ALIGNMENT 0x0D05 |
| #define SB_GL_MAX_TEXTURE_SIZE 0x0D33 |
| #define SB_GL_MAX_VIEWPORT_DIMS 0x0D3A |
| #define SB_GL_SUBPIXEL_BITS 0x0D50 |
| #define SB_GL_RED_BITS 0x0D52 |
| #define SB_GL_GREEN_BITS 0x0D53 |
| #define SB_GL_BLUE_BITS 0x0D54 |
| #define SB_GL_ALPHA_BITS 0x0D55 |
| #define SB_GL_DEPTH_BITS 0x0D56 |
| #define SB_GL_STENCIL_BITS 0x0D57 |
| #define SB_GL_POLYGON_OFFSET_UNITS 0x2A00 |
| #define SB_GL_POLYGON_OFFSET_FACTOR 0x8038 |
| #define SB_GL_TEXTURE_BINDING_2D 0x8069 |
| #define SB_GL_SAMPLE_BUFFERS 0x80A8 |
| #define SB_GL_SAMPLES 0x80A9 |
| #define SB_GL_SAMPLE_COVERAGE_VALUE 0x80AA |
| #define SB_GL_SAMPLE_COVERAGE_INVERT 0x80AB |
| #define SB_GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 |
| #define SB_GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 |
| #define SB_GL_DONT_CARE 0x1100 |
| #define SB_GL_FASTEST 0x1101 |
| #define SB_GL_NICEST 0x1102 |
| #define SB_GL_GENERATE_MIPMAP_HINT 0x8192 |
| #define SB_GL_BYTE 0x1400 |
| #define SB_GL_UNSIGNED_BYTE 0x1401 |
| #define SB_GL_SHORT 0x1402 |
| #define SB_GL_UNSIGNED_SHORT 0x1403 |
| #define SB_GL_INT 0x1404 |
| #define SB_GL_UNSIGNED_INT 0x1405 |
| #define SB_GL_FLOAT 0x1406 |
| #define SB_GL_FIXED 0x140C |
| #define SB_GL_DEPTH_COMPONENT 0x1902 |
| #define SB_GL_ALPHA 0x1906 |
| #define SB_GL_RGB 0x1907 |
| #define SB_GL_RGBA 0x1908 |
| #define SB_GL_LUMINANCE 0x1909 |
| #define SB_GL_LUMINANCE_ALPHA 0x190A |
| #define SB_GL_UNSIGNED_SHORT_4_4_4_4 0x8033 |
| #define SB_GL_UNSIGNED_SHORT_5_5_5_1 0x8034 |
| #define SB_GL_UNSIGNED_SHORT_5_6_5 0x8363 |
| #define SB_GL_FRAGMENT_SHADER 0x8B30 |
| #define SB_GL_VERTEX_SHADER 0x8B31 |
| #define SB_GL_MAX_VERTEX_ATTRIBS 0x8869 |
| #define SB_GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB |
| #define SB_GL_MAX_VARYING_VECTORS 0x8DFC |
| #define SB_GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D |
| #define SB_GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C |
| #define SB_GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 |
| #define SB_GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD |
| #define SB_GL_SHADER_TYPE 0x8B4F |
| #define SB_GL_DELETE_STATUS 0x8B80 |
| #define SB_GL_LINK_STATUS 0x8B82 |
| #define SB_GL_VALIDATE_STATUS 0x8B83 |
| #define SB_GL_ATTACHED_SHADERS 0x8B85 |
| #define SB_GL_ACTIVE_UNIFORMS 0x8B86 |
| #define SB_GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 |
| #define SB_GL_ACTIVE_ATTRIBUTES 0x8B89 |
| #define SB_GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A |
| #define SB_GL_SHADING_LANGUAGE_VERSION 0x8B8C |
| #define SB_GL_CURRENT_PROGRAM 0x8B8D |
| #define SB_GL_NEVER 0x0200 |
| #define SB_GL_LESS 0x0201 |
| #define SB_GL_EQUAL 0x0202 |
| #define SB_GL_LEQUAL 0x0203 |
| #define SB_GL_GREATER 0x0204 |
| #define SB_GL_NOTEQUAL 0x0205 |
| #define SB_GL_GEQUAL 0x0206 |
| #define SB_GL_ALWAYS 0x0207 |
| #define SB_GL_KEEP 0x1E00 |
| #define SB_GL_REPLACE 0x1E01 |
| #define SB_GL_INCR 0x1E02 |
| #define SB_GL_DECR 0x1E03 |
| #define SB_GL_INVERT 0x150A |
| #define SB_GL_INCR_WRAP 0x8507 |
| #define SB_GL_DECR_WRAP 0x8508 |
| #define SB_GL_VENDOR 0x1F00 |
| #define SB_GL_RENDERER 0x1F01 |
| #define SB_GL_VERSION 0x1F02 |
| #define SB_GL_EXTENSIONS 0x1F03 |
| #define SB_GL_NEAREST 0x2600 |
| #define SB_GL_LINEAR 0x2601 |
| #define SB_GL_NEAREST_MIPMAP_NEAREST 0x2700 |
| #define SB_GL_LINEAR_MIPMAP_NEAREST 0x2701 |
| #define SB_GL_NEAREST_MIPMAP_LINEAR 0x2702 |
| #define SB_GL_LINEAR_MIPMAP_LINEAR 0x2703 |
| #define SB_GL_TEXTURE_MAG_FILTER 0x2800 |
| #define SB_GL_TEXTURE_MIN_FILTER 0x2801 |
| #define SB_GL_TEXTURE_WRAP_S 0x2802 |
| #define SB_GL_TEXTURE_WRAP_T 0x2803 |
| #define SB_GL_TEXTURE 0x1702 |
| #define SB_GL_TEXTURE_CUBE_MAP 0x8513 |
| #define SB_GL_TEXTURE_BINDING_CUBE_MAP 0x8514 |
| #define SB_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 |
| #define SB_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 |
| #define SB_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 |
| #define SB_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 |
| #define SB_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 |
| #define SB_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A |
| #define SB_GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C |
| #define SB_GL_TEXTURE0 0x84C0 |
| #define SB_GL_TEXTURE1 0x84C1 |
| #define SB_GL_TEXTURE2 0x84C2 |
| #define SB_GL_TEXTURE3 0x84C3 |
| #define SB_GL_TEXTURE4 0x84C4 |
| #define SB_GL_TEXTURE5 0x84C5 |
| #define SB_GL_TEXTURE6 0x84C6 |
| #define SB_GL_TEXTURE7 0x84C7 |
| #define SB_GL_TEXTURE8 0x84C8 |
| #define SB_GL_TEXTURE9 0x84C9 |
| #define SB_GL_TEXTURE10 0x84CA |
| #define SB_GL_TEXTURE11 0x84CB |
| #define SB_GL_TEXTURE12 0x84CC |
| #define SB_GL_TEXTURE13 0x84CD |
| #define SB_GL_TEXTURE14 0x84CE |
| #define SB_GL_TEXTURE15 0x84CF |
| #define SB_GL_TEXTURE16 0x84D0 |
| #define SB_GL_TEXTURE17 0x84D1 |
| #define SB_GL_TEXTURE18 0x84D2 |
| #define SB_GL_TEXTURE19 0x84D3 |
| #define SB_GL_TEXTURE20 0x84D4 |
| #define SB_GL_TEXTURE21 0x84D5 |
| #define SB_GL_TEXTURE22 0x84D6 |
| #define SB_GL_TEXTURE23 0x84D7 |
| #define SB_GL_TEXTURE24 0x84D8 |
| #define SB_GL_TEXTURE25 0x84D9 |
| #define SB_GL_TEXTURE26 0x84DA |
| #define SB_GL_TEXTURE27 0x84DB |
| #define SB_GL_TEXTURE28 0x84DC |
| #define SB_GL_TEXTURE29 0x84DD |
| #define SB_GL_TEXTURE30 0x84DE |
| #define SB_GL_TEXTURE31 0x84DF |
| #define SB_GL_ACTIVE_TEXTURE 0x84E0 |
| #define SB_GL_REPEAT 0x2901 |
| #define SB_GL_CLAMP_TO_EDGE 0x812F |
| #define SB_GL_MIRRORED_REPEAT 0x8370 |
| #define SB_GL_FLOAT_VEC2 0x8B50 |
| #define SB_GL_FLOAT_VEC3 0x8B51 |
| #define SB_GL_FLOAT_VEC4 0x8B52 |
| #define SB_GL_INT_VEC2 0x8B53 |
| #define SB_GL_INT_VEC3 0x8B54 |
| #define SB_GL_INT_VEC4 0x8B55 |
| #define SB_GL_BOOL 0x8B56 |
| #define SB_GL_BOOL_VEC2 0x8B57 |
| #define SB_GL_BOOL_VEC3 0x8B58 |
| #define SB_GL_BOOL_VEC4 0x8B59 |
| #define SB_GL_FLOAT_MAT2 0x8B5A |
| #define SB_GL_FLOAT_MAT3 0x8B5B |
| #define SB_GL_FLOAT_MAT4 0x8B5C |
| #define SB_GL_SAMPLER_2D 0x8B5E |
| #define SB_GL_SAMPLER_CUBE 0x8B60 |
| #define SB_GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 |
| #define SB_GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 |
| #define SB_GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 |
| #define SB_GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 |
| #define SB_GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A |
| #define SB_GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 |
| #define SB_GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F |
| #define SB_GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A |
| #define SB_GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B |
| #define SB_GL_COMPILE_STATUS 0x8B81 |
| #define SB_GL_INFO_LOG_LENGTH 0x8B84 |
| #define SB_GL_SHADER_SOURCE_LENGTH 0x8B88 |
| #define SB_GL_SHADER_COMPILER 0x8DFA |
| #define SB_GL_SHADER_BINARY_FORMATS 0x8DF8 |
| #define SB_GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 |
| #define SB_GL_LOW_FLOAT 0x8DF0 |
| #define SB_GL_MEDIUM_FLOAT 0x8DF1 |
| #define SB_GL_HIGH_FLOAT 0x8DF2 |
| #define SB_GL_LOW_INT 0x8DF3 |
| #define SB_GL_MEDIUM_INT 0x8DF4 |
| #define SB_GL_HIGH_INT 0x8DF5 |
| #define SB_GL_FRAMEBUFFER 0x8D40 |
| #define SB_GL_RENDERBUFFER 0x8D41 |
| #define SB_GL_RGBA4 0x8056 |
| #define SB_GL_RGB5_A1 0x8057 |
| #define SB_GL_RGB565 0x8D62 |
| #define SB_GL_DEPTH_COMPONENT16 0x81A5 |
| #define SB_GL_STENCIL_INDEX8 0x8D48 |
| #define SB_GL_RENDERBUFFER_WIDTH 0x8D42 |
| #define SB_GL_RENDERBUFFER_HEIGHT 0x8D43 |
| #define SB_GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 |
| #define SB_GL_RENDERBUFFER_RED_SIZE 0x8D50 |
| #define SB_GL_RENDERBUFFER_GREEN_SIZE 0x8D51 |
| #define SB_GL_RENDERBUFFER_BLUE_SIZE 0x8D52 |
| #define SB_GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 |
| #define SB_GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 |
| #define SB_GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 |
| #define SB_GL_COLOR_ATTACHMENT0 0x8CE0 |
| #define SB_GL_DEPTH_ATTACHMENT 0x8D00 |
| #define SB_GL_STENCIL_ATTACHMENT 0x8D20 |
| #define SB_GL_NONE 0 |
| #define SB_GL_FRAMEBUFFER_COMPLETE 0x8CD5 |
| #define SB_GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 |
| #define SB_GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 |
| #define SB_GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 |
| #define SB_GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD |
| #define SB_GL_FRAMEBUFFER_BINDING 0x8CA6 |
| #define SB_GL_RENDERBUFFER_BINDING 0x8CA7 |
| #define SB_GL_MAX_RENDERBUFFER_SIZE 0x84E8 |
| #define SB_GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 |
| |
| // Previously defined in |
| // https://www.khronos.org/registry/OpenGL/api/GLES3/gl3.h. |
| #define SB_GL_READ_BUFFER 0x0C02 |
| #define SB_GL_UNPACK_ROW_LENGTH 0x0CF2 |
| #define SB_GL_UNPACK_SKIP_ROWS 0x0CF3 |
| #define SB_GL_UNPACK_SKIP_PIXELS 0x0CF4 |
| #define SB_GL_PACK_ROW_LENGTH 0x0D02 |
| #define SB_GL_PACK_SKIP_ROWS 0x0D03 |
| #define SB_GL_PACK_SKIP_PIXELS 0x0D04 |
| #define SB_GL_COLOR 0x1800 |
| #define SB_GL_DEPTH 0x1801 |
| #define SB_GL_STENCIL 0x1802 |
| #define SB_GL_RED 0x1903 |
| #define SB_GL_RGB8 0x8051 |
| #define SB_GL_RGBA8 0x8058 |
| #define SB_GL_RGB10_A2 0x8059 |
| #define SB_GL_TEXTURE_BINDING_3D 0x806A |
| #define SB_GL_UNPACK_SKIP_IMAGES 0x806D |
| #define SB_GL_UNPACK_IMAGE_HEIGHT 0x806E |
| #define SB_GL_TEXTURE_3D 0x806F |
| #define SB_GL_TEXTURE_WRAP_R 0x8072 |
| #define SB_GL_MAX_3D_TEXTURE_SIZE 0x8073 |
| #define SB_GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 |
| #define SB_GL_MAX_ELEMENTS_VERTICES 0x80E8 |
| #define SB_GL_MAX_ELEMENTS_INDICES 0x80E9 |
| #define SB_GL_TEXTURE_MIN_LOD 0x813A |
| #define SB_GL_TEXTURE_MAX_LOD 0x813B |
| #define SB_GL_TEXTURE_BASE_LEVEL 0x813C |
| #define SB_GL_TEXTURE_MAX_LEVEL 0x813D |
| #define SB_GL_MIN 0x8007 |
| #define SB_GL_MAX 0x8008 |
| #define SB_GL_DEPTH_COMPONENT24 0x81A6 |
| #define SB_GL_MAX_TEXTURE_LOD_BIAS 0x84FD |
| #define SB_GL_TEXTURE_COMPARE_MODE 0x884C |
| #define SB_GL_TEXTURE_COMPARE_FUNC 0x884D |
| #define SB_GL_CURRENT_QUERY 0x8865 |
| #define SB_GL_QUERY_RESULT 0x8866 |
| #define SB_GL_QUERY_RESULT_AVAILABLE 0x8867 |
| #define SB_GL_BUFFER_MAPPED 0x88BC |
| #define SB_GL_BUFFER_MAP_POINTER 0x88BD |
| #define SB_GL_STREAM_READ 0x88E1 |
| #define SB_GL_STREAM_COPY 0x88E2 |
| #define SB_GL_STATIC_READ 0x88E5 |
| #define SB_GL_STATIC_COPY 0x88E6 |
| #define SB_GL_DYNAMIC_READ 0x88E9 |
| #define SB_GL_DYNAMIC_COPY 0x88EA |
| #define SB_GL_MAX_DRAW_BUFFERS 0x8824 |
| #define SB_GL_DRAW_BUFFER0 0x8825 |
| #define SB_GL_DRAW_BUFFER1 0x8826 |
| #define SB_GL_DRAW_BUFFER2 0x8827 |
| #define SB_GL_DRAW_BUFFER3 0x8828 |
| #define SB_GL_DRAW_BUFFER4 0x8829 |
| #define SB_GL_DRAW_BUFFER5 0x882A |
| #define SB_GL_DRAW_BUFFER6 0x882B |
| #define SB_GL_DRAW_BUFFER7 0x882C |
| #define SB_GL_DRAW_BUFFER8 0x882D |
| #define SB_GL_DRAW_BUFFER9 0x882E |
| #define SB_GL_DRAW_BUFFER10 0x882F |
| #define SB_GL_DRAW_BUFFER11 0x8830 |
| #define SB_GL_DRAW_BUFFER12 0x8831 |
| #define SB_GL_DRAW_BUFFER13 0x8832 |
| #define SB_GL_DRAW_BUFFER14 0x8833 |
| #define SB_GL_DRAW_BUFFER15 0x8834 |
| #define SB_GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 |
| #define SB_GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A |
| #define SB_GL_SAMPLER_3D 0x8B5F |
| #define SB_GL_SAMPLER_2D_SHADOW 0x8B62 |
| #define SB_GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B |
| #define SB_GL_PIXEL_PACK_BUFFER 0x88EB |
| #define SB_GL_PIXEL_UNPACK_BUFFER 0x88EC |
| #define SB_GL_PIXEL_PACK_BUFFER_BINDING 0x88ED |
| #define SB_GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF |
| #define SB_GL_FLOAT_MAT2x3 0x8B65 |
| #define SB_GL_FLOAT_MAT2x4 0x8B66 |
| #define SB_GL_FLOAT_MAT3x2 0x8B67 |
| #define SB_GL_FLOAT_MAT3x4 0x8B68 |
| #define SB_GL_FLOAT_MAT4x2 0x8B69 |
| #define SB_GL_FLOAT_MAT4x3 0x8B6A |
| #define SB_GL_SRGB 0x8C40 |
| #define SB_GL_SRGB8 0x8C41 |
| #define SB_GL_SRGB8_ALPHA8 0x8C43 |
| #define SB_GL_COMPARE_REF_TO_TEXTURE 0x884E |
| #define SB_GL_MAJOR_VERSION 0x821B |
| #define SB_GL_MINOR_VERSION 0x821C |
| #define SB_GL_NUM_EXTENSIONS 0x821D |
| #define SB_GL_RGBA32F 0x8814 |
| #define SB_GL_RGB32F 0x8815 |
| #define SB_GL_RGBA16F 0x881A |
| #define SB_GL_RGB16F 0x881B |
| #define SB_GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD |
| #define SB_GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF |
| #define SB_GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 |
| #define SB_GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 |
| #define SB_GL_MAX_VARYING_COMPONENTS 0x8B4B |
| #define SB_GL_TEXTURE_2D_ARRAY 0x8C1A |
| #define SB_GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D |
| #define SB_GL_R11F_G11F_B10F 0x8C3A |
| #define SB_GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B |
| #define SB_GL_RGB9_E5 0x8C3D |
| #define SB_GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E |
| #define SB_GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 |
| #define SB_GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F |
| #define SB_GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 |
| #define SB_GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 |
| #define SB_GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 |
| #define SB_GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 |
| #define SB_GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 |
| #define SB_GL_RASTERIZER_DISCARD 0x8C89 |
| #define SB_GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A |
| #define SB_GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B |
| #define SB_GL_INTERLEAVED_ATTRIBS 0x8C8C |
| #define SB_GL_SEPARATE_ATTRIBS 0x8C8D |
| #define SB_GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E |
| #define SB_GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F |
| #define SB_GL_RGBA32UI 0x8D70 |
| #define SB_GL_RGB32UI 0x8D71 |
| #define SB_GL_RGBA16UI 0x8D76 |
| #define SB_GL_RGB16UI 0x8D77 |
| #define SB_GL_RGBA8UI 0x8D7C |
| #define SB_GL_RGB8UI 0x8D7D |
| #define SB_GL_RGBA32I 0x8D82 |
| #define SB_GL_RGB32I 0x8D83 |
| #define SB_GL_RGBA16I 0x8D88 |
| #define SB_GL_RGB16I 0x8D89 |
| #define SB_GL_RGBA8I 0x8D8E |
| #define SB_GL_RGB8I 0x8D8F |
| #define SB_GL_RED_INTEGER 0x8D94 |
| #define SB_GL_RGB_INTEGER 0x8D98 |
| #define SB_GL_RGBA_INTEGER 0x8D99 |
| #define SB_GL_SAMPLER_2D_ARRAY 0x8DC1 |
| #define SB_GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 |
| #define SB_GL_SAMPLER_CUBE_SHADOW 0x8DC5 |
| #define SB_GL_UNSIGNED_INT_VEC2 0x8DC6 |
| #define SB_GL_UNSIGNED_INT_VEC3 0x8DC7 |
| #define SB_GL_UNSIGNED_INT_VEC4 0x8DC8 |
| #define SB_GL_INT_SAMPLER_2D 0x8DCA |
| #define SB_GL_INT_SAMPLER_3D 0x8DCB |
| #define SB_GL_INT_SAMPLER_CUBE 0x8DCC |
| #define SB_GL_INT_SAMPLER_2D_ARRAY 0x8DCF |
| #define SB_GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 |
| #define SB_GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 |
| #define SB_GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 |
| #define SB_GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 |
| #define SB_GL_BUFFER_ACCESS_FLAGS 0x911F |
| #define SB_GL_BUFFER_MAP_LENGTH 0x9120 |
| #define SB_GL_BUFFER_MAP_OFFSET 0x9121 |
| #define SB_GL_DEPTH_COMPONENT32F 0x8CAC |
| #define SB_GL_DEPTH32F_STENCIL8 0x8CAD |
| #define SB_GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 |
| #define SB_GL_FRAMEBUFFER_DEFAULT 0x8218 |
| #define SB_GL_FRAMEBUFFER_UNDEFINED 0x8219 |
| #define SB_GL_DEPTH_STENCIL_ATTACHMENT 0x821A |
| #define SB_GL_DEPTH_STENCIL 0x84F9 |
| #define SB_GL_UNSIGNED_INT_24_8 0x84FA |
| #define SB_GL_DEPTH24_STENCIL8 0x88F0 |
| #define SB_GL_UNSIGNED_NORMALIZED 0x8C17 |
| #define SB_GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 |
| #define SB_GL_READ_FRAMEBUFFER 0x8CA8 |
| #define SB_GL_DRAW_FRAMEBUFFER 0x8CA9 |
| #define SB_GL_READ_FRAMEBUFFER_BINDING 0x8CAA |
| #define SB_GL_RENDERBUFFER_SAMPLES 0x8CAB |
| #define SB_GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 |
| #define SB_GL_MAX_COLOR_ATTACHMENTS 0x8CDF |
| #define SB_GL_COLOR_ATTACHMENT1 0x8CE1 |
| #define SB_GL_COLOR_ATTACHMENT2 0x8CE2 |
| #define SB_GL_COLOR_ATTACHMENT3 0x8CE3 |
| #define SB_GL_COLOR_ATTACHMENT4 0x8CE4 |
| #define SB_GL_COLOR_ATTACHMENT5 0x8CE5 |
| #define SB_GL_COLOR_ATTACHMENT6 0x8CE6 |
| #define SB_GL_COLOR_ATTACHMENT7 0x8CE7 |
| #define SB_GL_COLOR_ATTACHMENT8 0x8CE8 |
| #define SB_GL_COLOR_ATTACHMENT9 0x8CE9 |
| #define SB_GL_COLOR_ATTACHMENT10 0x8CEA |
| #define SB_GL_COLOR_ATTACHMENT11 0x8CEB |
| #define SB_GL_COLOR_ATTACHMENT12 0x8CEC |
| #define SB_GL_COLOR_ATTACHMENT13 0x8CED |
| #define SB_GL_COLOR_ATTACHMENT14 0x8CEE |
| #define SB_GL_COLOR_ATTACHMENT15 0x8CEF |
| #define SB_GL_COLOR_ATTACHMENT16 0x8CF0 |
| #define SB_GL_COLOR_ATTACHMENT17 0x8CF1 |
| #define SB_GL_COLOR_ATTACHMENT18 0x8CF2 |
| #define SB_GL_COLOR_ATTACHMENT19 0x8CF3 |
| #define SB_GL_COLOR_ATTACHMENT20 0x8CF4 |
| #define SB_GL_COLOR_ATTACHMENT21 0x8CF5 |
| #define SB_GL_COLOR_ATTACHMENT22 0x8CF6 |
| #define SB_GL_COLOR_ATTACHMENT23 0x8CF7 |
| #define SB_GL_COLOR_ATTACHMENT24 0x8CF8 |
| #define SB_GL_COLOR_ATTACHMENT25 0x8CF9 |
| #define SB_GL_COLOR_ATTACHMENT26 0x8CFA |
| #define SB_GL_COLOR_ATTACHMENT27 0x8CFB |
| #define SB_GL_COLOR_ATTACHMENT28 0x8CFC |
| #define SB_GL_COLOR_ATTACHMENT29 0x8CFD |
| #define SB_GL_COLOR_ATTACHMENT30 0x8CFE |
| #define SB_GL_COLOR_ATTACHMENT31 0x8CFF |
| #define SB_GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 |
| #define SB_GL_MAX_SAMPLES 0x8D57 |
| #define SB_GL_HALF_FLOAT 0x140B |
| #define SB_GL_MAP_READ_BIT 0x0001 |
| #define SB_GL_MAP_WRITE_BIT 0x0002 |
| #define SB_GL_MAP_INVALIDATE_RANGE_BIT 0x0004 |
| #define SB_GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 |
| #define SB_GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 |
| #define SB_GL_MAP_UNSYNCHRONIZED_BIT 0x0020 |
| #define SB_GL_RG 0x8227 |
| #define SB_GL_RG_INTEGER 0x8228 |
| #define SB_GL_R8 0x8229 |
| #define SB_GL_RG8 0x822B |
| #define SB_GL_R16F 0x822D |
| #define SB_GL_R32F 0x822E |
| #define SB_GL_RG16F 0x822F |
| #define SB_GL_RG32F 0x8230 |
| #define SB_GL_R8I 0x8231 |
| #define SB_GL_R8UI 0x8232 |
| #define SB_GL_R16I 0x8233 |
| #define SB_GL_R16UI 0x8234 |
| #define SB_GL_R32I 0x8235 |
| #define SB_GL_R32UI 0x8236 |
| #define SB_GL_RG8I 0x8237 |
| #define SB_GL_RG8UI 0x8238 |
| #define SB_GL_RG16I 0x8239 |
| #define SB_GL_RG16UI 0x823A |
| #define SB_GL_RG32I 0x823B |
| #define SB_GL_RG32UI 0x823C |
| #define SB_GL_VERTEX_ARRAY_BINDING 0x85B5 |
| #define SB_GL_R8_SNORM 0x8F94 |
| #define SB_GL_RG8_SNORM 0x8F95 |
| #define SB_GL_RGB8_SNORM 0x8F96 |
| #define SB_GL_RGBA8_SNORM 0x8F97 |
| #define SB_GL_SIGNED_NORMALIZED 0x8F9C |
| #define SB_GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 |
| #define SB_GL_COPY_READ_BUFFER 0x8F36 |
| #define SB_GL_COPY_WRITE_BUFFER 0x8F37 |
| #define SB_GL_COPY_READ_BUFFER_BINDING 0x8F36 |
| #define SB_GL_COPY_WRITE_BUFFER_BINDING 0x8F37 |
| #define SB_GL_UNIFORM_BUFFER 0x8A11 |
| #define SB_GL_UNIFORM_BUFFER_BINDING 0x8A28 |
| #define SB_GL_UNIFORM_BUFFER_START 0x8A29 |
| #define SB_GL_UNIFORM_BUFFER_SIZE 0x8A2A |
| #define SB_GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B |
| #define SB_GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D |
| #define SB_GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E |
| #define SB_GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F |
| #define SB_GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 |
| #define SB_GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 |
| #define SB_GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 |
| #define SB_GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 |
| #define SB_GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 |
| #define SB_GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 |
| #define SB_GL_UNIFORM_TYPE 0x8A37 |
| #define SB_GL_UNIFORM_SIZE 0x8A38 |
| #define SB_GL_UNIFORM_NAME_LENGTH 0x8A39 |
| #define SB_GL_UNIFORM_BLOCK_INDEX 0x8A3A |
| #define SB_GL_UNIFORM_OFFSET 0x8A3B |
| #define SB_GL_UNIFORM_ARRAY_STRIDE 0x8A3C |
| #define SB_GL_UNIFORM_MATRIX_STRIDE 0x8A3D |
| #define SB_GL_UNIFORM_IS_ROW_MAJOR 0x8A3E |
| #define SB_GL_UNIFORM_BLOCK_BINDING 0x8A3F |
| #define SB_GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 |
| #define SB_GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 |
| #define SB_GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 |
| #define SB_GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 |
| #define SB_GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 |
| #define SB_GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 |
| #define SB_GL_INVALID_INDEX 0xFFFFFFFFu |
| #define SB_GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 |
| #define SB_GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 |
| #define SB_GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 |
| #define SB_GL_OBJECT_TYPE 0x9112 |
| #define SB_GL_SYNC_CONDITION 0x9113 |
| #define SB_GL_SYNC_STATUS 0x9114 |
| #define SB_GL_SYNC_FLAGS 0x9115 |
| #define SB_GL_SYNC_FENCE 0x9116 |
| #define SB_GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 |
| #define SB_GL_UNSIGNALED 0x9118 |
| #define SB_GL_SIGNALED 0x9119 |
| #define SB_GL_ALREADY_SIGNALED 0x911A |
| #define SB_GL_TIMEOUT_EXPIRED 0x911B |
| #define SB_GL_CONDITION_SATISFIED 0x911C |
| #define SB_GL_WAIT_FAILED 0x911D |
| #define SB_GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 |
| #define SB_GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull |
| #define SB_GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE |
| #define SB_GL_ANY_SAMPLES_PASSED 0x8C2F |
| #define SB_GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A |
| #define SB_GL_SAMPLER_BINDING 0x8919 |
| #define SB_GL_RGB10_A2UI 0x906F |
| #define SB_GL_TEXTURE_SWIZZLE_R 0x8E42 |
| #define SB_GL_TEXTURE_SWIZZLE_G 0x8E43 |
| #define SB_GL_TEXTURE_SWIZZLE_B 0x8E44 |
| #define SB_GL_TEXTURE_SWIZZLE_A 0x8E45 |
| #define SB_GL_GREEN 0x1904 |
| #define SB_GL_BLUE 0x1905 |
| #define SB_GL_INT_2_10_10_10_REV 0x8D9F |
| #define SB_GL_TRANSFORM_FEEDBACK 0x8E22 |
| #define SB_GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 |
| #define SB_GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 |
| #define SB_GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 |
| #define SB_GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 |
| #define SB_GL_PROGRAM_BINARY_LENGTH 0x8741 |
| #define SB_GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE |
| #define SB_GL_PROGRAM_BINARY_FORMATS 0x87FF |
| #define SB_GL_COMPRESSED_R11_EAC 0x9270 |
| #define SB_GL_COMPRESSED_SIGNED_R11_EAC 0x9271 |
| #define SB_GL_COMPRESSED_RG11_EAC 0x9272 |
| #define SB_GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 |
| #define SB_GL_COMPRESSED_RGB8_ETC2 0x9274 |
| #define SB_GL_COMPRESSED_SRGB8_ETC2 0x9275 |
| #define SB_GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 |
| #define SB_GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 |
| #define SB_GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 |
| #define SB_GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 |
| #define SB_GL_TEXTURE_IMMUTABLE_FORMAT 0x912F |
| #define SB_GL_MAX_ELEMENT_INDEX 0x8D6B |
| #define SB_GL_NUM_SAMPLE_COUNTS 0x9380 |
| #define SB_GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF |
| |
| #ifdef __cplusplus |
| } // extern "C" |
| #endif |
| |
| #endif // SB_API_VERSION >= 11 |
| |
| #endif // STARBOARD_GLES_H_ |