blob: 8d01d9814f712354d4ae46e2ac62a22b9932aac7 [file] [log] [blame]
// 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;
}