blob: b68120da2936a5a10af9daf2c820297c9029775d [file] [log] [blame]
/*
* Copyright 2015 Google Inc. 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 "glimp/gles/context.h"
#include "starboard/log.h"
namespace gles = glimp::gles;
namespace {
gles::Context* GetCurrentContext() {
gles::Context* context = gles::Context::GetTLSCurrentContext();
if (!context) {
SB_DLOG(WARNING) << "GL ES command issued while no context was current.";
}
return context;
}
}
extern "C" {
void GL_APIENTRY glReadBuffer(GLenum mode) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glDrawRangeElements(GLenum mode,
GLuint start,
GLuint end,
GLsizei count,
GLenum type,
const GLvoid* indices) {
SB_NOTIMPLEMENTED();
}
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) {
SB_NOTIMPLEMENTED();
}
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) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glCopyTexSubImage3D(GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLint x,
GLint y,
GLsizei width,
GLsizei height) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glCompressedTexImage3D(GLenum target,
GLint level,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border,
GLsizei imageSize,
const GLvoid* data) {
SB_NOTIMPLEMENTED();
}
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) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGenQueries(GLsizei n, GLuint* ids) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glDeleteQueries(GLsizei n, const GLuint* ids) {
SB_NOTIMPLEMENTED();
}
GLboolean GL_APIENTRY glIsQuery(GLuint id) {
SB_NOTIMPLEMENTED();
return false;
}
void GL_APIENTRY glBeginQuery(GLenum target, GLuint id) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glEndQuery(GLenum target) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetQueryiv(GLenum target, GLenum pname, GLint* params) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params) {
SB_NOTIMPLEMENTED();
}
GLboolean GL_APIENTRY glUnmapBuffer(GLenum target) {
gles::Context* context = GetCurrentContext();
if (!context) {
return GL_FALSE;
}
return context->UnmapBuffer(target);
}
void GL_APIENTRY glGetBufferPointerv(GLenum target,
GLenum pname,
GLvoid** params) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glDrawBuffers(GLsizei n, const GLenum* bufs) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniformMatrix2x3fv(GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniformMatrix3x2fv(GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniformMatrix2x4fv(GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniformMatrix4x2fv(GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniformMatrix3x4fv(GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniformMatrix4x3fv(GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glBlitFramebuffer(GLint srcX0,
GLint srcY0,
GLint srcX1,
GLint srcY1,
GLint dstX0,
GLint dstY0,
GLint dstX1,
GLint dstY1,
GLbitfield mask,
GLenum filter) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glRenderbufferStorageMultisample(GLenum target,
GLsizei samples,
GLenum internalformat,
GLsizei width,
GLsizei height) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glFramebufferTextureLayer(GLenum target,
GLenum attachment,
GLuint texture,
GLint level,
GLint layer) {
SB_NOTIMPLEMENTED();
}
GLvoid* GL_APIENTRY glMapBufferRange(GLenum target,
GLintptr offset,
GLsizeiptr length,
GLbitfield access) {
gles::Context* context = GetCurrentContext();
if (!context) {
return NULL;
}
return context->MapBufferRange(target, offset, length, access);
}
void GL_APIENTRY glFlushMappedBufferRange(GLenum target,
GLintptr offset,
GLsizeiptr length) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glBindVertexArray(GLuint array) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glDeleteVertexArrays(GLsizei n, const GLuint* arrays) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGenVertexArrays(GLsizei n, GLuint* arrays) {
SB_NOTIMPLEMENTED();
}
GLboolean GL_APIENTRY glIsVertexArray(GLuint array) {
SB_NOTIMPLEMENTED();
return false;
}
void GL_APIENTRY glGetIntegeri_v(GLenum target, GLuint index, GLint* data) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glBeginTransformFeedback(GLenum primitiveMode) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glEndTransformFeedback(void) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glBindBufferRange(GLenum target,
GLuint index,
GLuint buffer,
GLintptr offset,
GLsizeiptr size) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glBindBufferBase(GLenum target, GLuint index, GLuint buffer) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glTransformFeedbackVaryings(GLuint program,
GLsizei count,
const GLchar* const* varyings,
GLenum bufferMode) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetTransformFeedbackVarying(GLuint program,
GLuint index,
GLsizei bufSize,
GLsizei* length,
GLsizei* size,
GLenum* type,
GLchar* name) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glVertexAttribIPointer(GLuint index,
GLint size,
GLenum type,
GLsizei stride,
const GLvoid* pointer) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetVertexAttribIiv(GLuint index,
GLenum pname,
GLint* params) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetVertexAttribIuiv(GLuint index,
GLenum pname,
GLuint* params) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY
glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY
glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glVertexAttribI4iv(GLuint index, const GLint* v) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glVertexAttribI4uiv(GLuint index, const GLuint* v) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetUniformuiv(GLuint program,
GLint location,
GLuint* params) {
SB_NOTIMPLEMENTED();
}
GLint GL_APIENTRY glGetFragDataLocation(GLuint program, const GLchar* name) {
SB_NOTIMPLEMENTED();
return 0;
}
void GL_APIENTRY glUniform1ui(GLint location, GLuint v0) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniform2ui(GLint location, GLuint v0, GLuint v1) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY
glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniform1uiv(GLint location,
GLsizei count,
const GLuint* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniform2uiv(GLint location,
GLsizei count,
const GLuint* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniform3uiv(GLint location,
GLsizei count,
const GLuint* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniform4uiv(GLint location,
GLsizei count,
const GLuint* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glClearBufferiv(GLenum buffer,
GLint drawbuffer,
const GLint* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glClearBufferuiv(GLenum buffer,
GLint drawbuffer,
const GLuint* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glClearBufferfv(GLenum buffer,
GLint drawbuffer,
const GLfloat* value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glClearBufferfi(GLenum buffer,
GLint drawbuffer,
GLfloat depth,
GLint stencil) {
SB_NOTIMPLEMENTED();
}
const GLubyte* GL_APIENTRY glGetStringi(GLenum name, GLuint index) {
SB_NOTIMPLEMENTED();
return NULL;
}
void GL_APIENTRY glCopyBufferSubData(GLenum readTarget,
GLenum writeTarget,
GLintptr readOffset,
GLintptr writeOffset,
GLsizeiptr size) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetUniformIndices(GLuint program,
GLsizei uniformCount,
const GLchar* const* uniformNames,
GLuint* uniformIndices) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetActiveUniformsiv(GLuint program,
GLsizei uniformCount,
const GLuint* uniformIndices,
GLenum pname,
GLint* params) {
SB_NOTIMPLEMENTED();
}
GLuint GL_APIENTRY glGetUniformBlockIndex(GLuint program,
const GLchar* uniformBlockName) {
SB_NOTIMPLEMENTED();
return 0;
}
void GL_APIENTRY glGetActiveUniformBlockiv(GLuint program,
GLuint uniformBlockIndex,
GLenum pname,
GLint* params) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetActiveUniformBlockName(GLuint program,
GLuint uniformBlockIndex,
GLsizei bufSize,
GLsizei* length,
GLchar* uniformBlockName) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glUniformBlockBinding(GLuint program,
GLuint uniformBlockIndex,
GLuint uniformBlockBinding) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glDrawArraysInstanced(GLenum mode,
GLint first,
GLsizei count,
GLsizei instanceCount) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glDrawElementsInstanced(GLenum mode,
GLsizei count,
GLenum type,
const GLvoid* indices,
GLsizei instanceCount) {
SB_NOTIMPLEMENTED();
}
GLsync GL_APIENTRY glFenceSync(GLenum condition, GLbitfield flags) {
SB_NOTIMPLEMENTED();
return 0;
}
GLboolean GL_APIENTRY glIsSync(GLsync sync) {
SB_NOTIMPLEMENTED();
return false;
}
void GL_APIENTRY glDeleteSync(GLsync sync) {
SB_NOTIMPLEMENTED();
}
GLenum GL_APIENTRY glClientWaitSync(GLsync sync,
GLbitfield flags,
GLuint64 timeout) {
SB_NOTIMPLEMENTED();
return 0;
}
void GL_APIENTRY glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetInteger64v(GLenum pname, GLint64* params) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetSynciv(GLsync sync,
GLenum pname,
GLsizei bufSize,
GLsizei* length,
GLint* values) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetInteger64i_v(GLenum target, GLuint index, GLint64* data) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetBufferParameteri64v(GLenum target,
GLenum pname,
GLint64* params) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGenSamplers(GLsizei count, GLuint* samplers) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glDeleteSamplers(GLsizei count, const GLuint* samplers) {
SB_NOTIMPLEMENTED();
}
GLboolean GL_APIENTRY glIsSampler(GLuint sampler) {
SB_NOTIMPLEMENTED();
return false;
}
void GL_APIENTRY glBindSampler(GLuint unit, GLuint sampler) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glSamplerParameteri(GLuint sampler,
GLenum pname,
GLint param) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glSamplerParameteriv(GLuint sampler,
GLenum pname,
const GLint* param) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glSamplerParameterf(GLuint sampler,
GLenum pname,
GLfloat param) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glSamplerParameterfv(GLuint sampler,
GLenum pname,
const GLfloat* param) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetSamplerParameteriv(GLuint sampler,
GLenum pname,
GLint* params) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetSamplerParameterfv(GLuint sampler,
GLenum pname,
GLfloat* params) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glVertexAttribDivisor(GLuint index, GLuint divisor) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glBindTransformFeedback(GLenum target, GLuint id) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glDeleteTransformFeedbacks(GLsizei n, const GLuint* ids) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGenTransformFeedbacks(GLsizei n, GLuint* ids) {
SB_NOTIMPLEMENTED();
}
GLboolean GL_APIENTRY glIsTransformFeedback(GLuint id) {
SB_NOTIMPLEMENTED();
return false;
}
void GL_APIENTRY glPauseTransformFeedback(void) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glResumeTransformFeedback(void) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetProgramBinary(GLuint program,
GLsizei bufSize,
GLsizei* length,
GLenum* binaryFormat,
GLvoid* binary) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glProgramBinary(GLuint program,
GLenum binaryFormat,
const GLvoid* binary,
GLsizei length) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glProgramParameteri(GLuint program,
GLenum pname,
GLint value) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glInvalidateFramebuffer(GLenum target,
GLsizei numAttachments,
const GLenum* attachments) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glInvalidateSubFramebuffer(GLenum target,
GLsizei numAttachments,
const GLenum* attachments,
GLint x,
GLint y,
GLsizei width,
GLsizei height) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glTexStorage2D(GLenum target,
GLsizei levels,
GLenum internalformat,
GLsizei width,
GLsizei height) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glTexStorage3D(GLenum target,
GLsizei levels,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLsizei depth) {
SB_NOTIMPLEMENTED();
}
void GL_APIENTRY glGetInternalformativ(GLenum target,
GLenum internalformat,
GLenum pname,
GLsizei bufSize,
GLint* params) {
SB_NOTIMPLEMENTED();
}
} // extern "C"