| // 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. |
| |
| #include <GLES3/gl3.h> |
| |
| #include "starboard/gles.h" |
| |
| namespace { |
| |
| const SbGlesInterface g_sb_gles_interface = { |
| &glActiveTexture, |
| &glAttachShader, |
| &glBindAttribLocation, |
| &glBindBuffer, |
| &glBindFramebuffer, |
| &glBindRenderbuffer, |
| &glBindTexture, |
| &glBlendColor, |
| &glBlendEquation, |
| &glBlendEquationSeparate, |
| &glBlendFunc, |
| &glBlendFuncSeparate, |
| &glBufferData, |
| &glBufferSubData, |
| &glCheckFramebufferStatus, |
| &glClear, |
| &glClearColor, |
| &glClearDepthf, |
| &glClearStencil, |
| &glColorMask, |
| &glCompileShader, |
| &glCompressedTexImage2D, |
| &glCompressedTexSubImage2D, |
| &glCopyTexImage2D, |
| &glCopyTexSubImage2D, |
| &glCreateProgram, |
| &glCreateShader, |
| &glCullFace, |
| &glDeleteBuffers, |
| &glDeleteFramebuffers, |
| &glDeleteProgram, |
| &glDeleteRenderbuffers, |
| &glDeleteShader, |
| &glDeleteTextures, |
| &glDepthFunc, |
| &glDepthMask, |
| &glDepthRangef, |
| &glDetachShader, |
| &glDisable, |
| &glDisableVertexAttribArray, |
| &glDrawArrays, |
| &glDrawElements, |
| &glEnable, |
| &glEnableVertexAttribArray, |
| &glFinish, |
| &glFlush, |
| &glFramebufferRenderbuffer, |
| &glFramebufferTexture2D, |
| &glFrontFace, |
| &glGenBuffers, |
| &glGenerateMipmap, |
| &glGenFramebuffers, |
| &glGenRenderbuffers, |
| &glGenTextures, |
| &glGetActiveAttrib, |
| &glGetActiveUniform, |
| &glGetAttachedShaders, |
| &glGetAttribLocation, |
| &glGetBooleanv, |
| &glGetBufferParameteriv, |
| &glGetError, |
| &glGetFloatv, |
| &glGetFramebufferAttachmentParameteriv, |
| &glGetIntegerv, |
| &glGetProgramiv, |
| &glGetProgramInfoLog, |
| &glGetRenderbufferParameteriv, |
| &glGetShaderiv, |
| &glGetShaderInfoLog, |
| &glGetShaderPrecisionFormat, |
| &glGetShaderSource, |
| &glGetString, |
| &glGetTexParameterfv, |
| &glGetTexParameteriv, |
| &glGetUniformfv, |
| &glGetUniformiv, |
| &glGetUniformLocation, |
| &glGetVertexAttribfv, |
| &glGetVertexAttribiv, |
| &glGetVertexAttribPointerv, |
| &glHint, |
| &glIsBuffer, |
| &glIsEnabled, |
| &glIsFramebuffer, |
| &glIsProgram, |
| &glIsRenderbuffer, |
| &glIsShader, |
| &glIsTexture, |
| &glLineWidth, |
| &glLinkProgram, |
| &glPixelStorei, |
| &glPolygonOffset, |
| &glReadPixels, |
| &glReleaseShaderCompiler, |
| &glRenderbufferStorage, |
| &glSampleCoverage, |
| &glScissor, |
| &glShaderBinary, |
| &glShaderSource, |
| &glStencilFunc, |
| &glStencilFuncSeparate, |
| &glStencilMask, |
| &glStencilMaskSeparate, |
| &glStencilOp, |
| &glStencilOpSeparate, |
| &glTexImage2D, |
| &glTexParameterf, |
| &glTexParameterfv, |
| &glTexParameteri, |
| &glTexParameteriv, |
| &glTexSubImage2D, |
| &glUniform1f, |
| &glUniform1fv, |
| &glUniform1i, |
| &glUniform1iv, |
| &glUniform2f, |
| &glUniform2fv, |
| &glUniform2i, |
| &glUniform2iv, |
| &glUniform3f, |
| &glUniform3fv, |
| &glUniform3i, |
| &glUniform3iv, |
| &glUniform4f, |
| &glUniform4fv, |
| &glUniform4i, |
| &glUniform4iv, |
| &glUniformMatrix2fv, |
| &glUniformMatrix3fv, |
| &glUniformMatrix4fv, |
| &glUseProgram, |
| &glValidateProgram, |
| &glVertexAttrib1f, |
| &glVertexAttrib1fv, |
| &glVertexAttrib2f, |
| &glVertexAttrib2fv, |
| &glVertexAttrib3f, |
| &glVertexAttrib3fv, |
| &glVertexAttrib4f, |
| &glVertexAttrib4fv, |
| &glVertexAttribPointer, |
| &glViewport, |
| &glReadBuffer, |
| &glDrawRangeElements, |
| &glTexImage3D, |
| &glTexSubImage3D, |
| &glCopyTexSubImage3D, |
| &glCompressedTexImage3D, |
| &glCompressedTexSubImage3D, |
| &glGenQueries, |
| &glDeleteQueries, |
| &glIsQuery, |
| &glBeginQuery, |
| &glEndQuery, |
| &glGetQueryiv, |
| &glGetQueryObjectuiv, |
| &glUnmapBuffer, |
| &glGetBufferPointerv, |
| &glDrawBuffers, |
| &glUniformMatrix2x3fv, |
| &glUniformMatrix3x2fv, |
| &glUniformMatrix2x4fv, |
| &glUniformMatrix4x2fv, |
| &glUniformMatrix3x4fv, |
| &glUniformMatrix4x3fv, |
| &glBlitFramebuffer, |
| &glRenderbufferStorageMultisample, |
| &glFramebufferTextureLayer, |
| &glMapBufferRange, |
| &glFlushMappedBufferRange, |
| &glBindVertexArray, |
| &glDeleteVertexArrays, |
| &glGenVertexArrays, |
| &glIsVertexArray, |
| &glGetIntegeri_v, |
| &glBeginTransformFeedback, |
| &glEndTransformFeedback, |
| &glBindBufferRange, |
| &glBindBufferBase, |
| &glTransformFeedbackVaryings, |
| &glGetTransformFeedbackVarying, |
| &glVertexAttribIPointer, |
| &glGetVertexAttribIiv, |
| &glGetVertexAttribIuiv, |
| &glVertexAttribI4i, |
| &glVertexAttribI4ui, |
| &glVertexAttribI4iv, |
| &glVertexAttribI4uiv, |
| &glGetUniformuiv, |
| &glGetFragDataLocation, |
| &glUniform1ui, |
| &glUniform2ui, |
| &glUniform3ui, |
| &glUniform4ui, |
| &glUniform1uiv, |
| &glUniform2uiv, |
| &glUniform3uiv, |
| &glUniform4uiv, |
| &glClearBufferiv, |
| &glClearBufferuiv, |
| &glClearBufferfv, |
| &glClearBufferfi, |
| &glGetStringi, |
| &glCopyBufferSubData, |
| &glGetUniformIndices, |
| &glGetActiveUniformsiv, |
| &glGetUniformBlockIndex, |
| &glGetActiveUniformBlockiv, |
| &glGetActiveUniformBlockName, |
| &glUniformBlockBinding, |
| &glDrawArraysInstanced, |
| &glDrawElementsInstanced, |
| &glFenceSync, |
| &glIsSync, |
| &glDeleteSync, |
| &glClientWaitSync, |
| &glWaitSync, |
| &glGetInteger64v, |
| &glGetSynciv, |
| &glGetInteger64i_v, |
| &glGetBufferParameteri64v, |
| &glGenSamplers, |
| &glDeleteSamplers, |
| &glIsSampler, |
| &glBindSampler, |
| &glSamplerParameteri, |
| &glSamplerParameteriv, |
| &glSamplerParameterf, |
| &glSamplerParameterfv, |
| &glGetSamplerParameteriv, |
| &glGetSamplerParameterfv, |
| &glVertexAttribDivisor, |
| &glBindTransformFeedback, |
| &glDeleteTransformFeedbacks, |
| &glGenTransformFeedbacks, |
| &glIsTransformFeedback, |
| &glPauseTransformFeedback, |
| &glResumeTransformFeedback, |
| &glGetProgramBinary, |
| &glProgramBinary, |
| &glProgramParameteri, |
| &glInvalidateFramebuffer, |
| &glInvalidateSubFramebuffer, |
| &glTexStorage2D, |
| &glTexStorage3D, |
| &glGetInternalformativ, |
| }; |
| |
| } // namespace |
| |
| const SbGlesInterface* SbGetGlesInterface() { |
| return &g_sb_gles_interface; |
| } |