diff options
Diffstat (limited to 'ui/gl/gl_bindings_skia_in_process.cc')
-rw-r--r-- | ui/gl/gl_bindings_skia_in_process.cc | 676 |
1 files changed, 676 insertions, 0 deletions
diff --git a/ui/gl/gl_bindings_skia_in_process.cc b/ui/gl/gl_bindings_skia_in_process.cc new file mode 100644 index 0000000..a2f6433 --- /dev/null +++ b/ui/gl/gl_bindings_skia_in_process.cc @@ -0,0 +1,676 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + + +#include "ui/gl/gl_bindings_skia_in_process.h" + +#include "base/logging.h" +#include "third_party/skia/include/gpu/gl/GrGLInterface.h" +#include "ui/gl/gl_bindings.h" +#include "ui/gl/gl_implementation.h" + +namespace { + +extern "C" { +// The following stub functions are required because the glXXX routines exported +// via gl_bindings.h use call-type GL_BINDING_CALL, which on Windows is stdcall. +// Skia has been built such that its GrGLInterface GL pointers are __cdecl. + +GLvoid StubGLActiveTexture(GLenum texture) { + glActiveTexture(texture); +} + +GLvoid StubGLAttachShader(GLuint program, GLuint shader) { + glAttachShader(program, shader); +} + +GLvoid StubGLBeginQuery(GLenum target, GLuint id) { + glBeginQuery(target, id); +} + +GLvoid StubGLBindAttribLocation(GLuint program, GLuint index, + const char* name) { + glBindAttribLocation(program, index, name); +} + +GLvoid StubGLBindBuffer(GLenum target, GLuint buffer) { + glBindBuffer(target, buffer); +} + +GLvoid StubGLBindFragDataLocation(GLuint program, GLuint colorNumber, + const GLchar * name) { + glBindFragDataLocation(program, colorNumber, name); +} + +GLvoid StubGLBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, + GLuint index, const GLchar * name) { + glBindFragDataLocationIndexed(program, colorNumber, index, name); +} + +GLvoid StubGLBindFramebuffer(GLenum target, GLuint framebuffer) { + glBindFramebufferEXT(target, framebuffer); +} + +GLvoid StubGLBindRenderbuffer(GLenum target, GLuint renderbuffer) { + glBindRenderbufferEXT(target, renderbuffer); +} + +GLvoid StubGLBindTexture(GLenum target, GLuint texture) { + glBindTexture(target, texture); +} + +GLvoid StubGLBlendColor(GLclampf red, GLclampf green, GLclampf blue, + GLclampf alpha) { + glBlendColor(red, green, blue, alpha); +} + +GLvoid StubGLBlendFunc(GLenum sfactor, GLenum dfactor) { + glBlendFunc(sfactor, dfactor); +} + +GLvoid StubGLBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, + GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, + GLbitfield mask, GLenum filter) { + glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, + mask, filter); +} + +GLvoid StubGLBufferData(GLenum target, GLsizeiptr size, const void* data, + GLenum usage) { + glBufferData(target, size, data, usage); +} + +GLvoid StubGLBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, + const void* data) { + glBufferSubData(target, offset, size, data); +} + +GLenum StubGLCheckFramebufferStatus(GLenum target) { + return glCheckFramebufferStatusEXT(target); +} + +GLvoid StubGLClear(GLbitfield mask) { + glClear(mask); +} + +GLvoid StubGLClearColor(GLclampf red, GLclampf green, GLclampf blue, + GLclampf alpha) { + glClearColor(red, green, blue, alpha); +} + +GLvoid StubGLClearStencil(GLint s) { + glClearStencil(s); +} + +GLvoid StubGLColorMask(GLboolean red, GLboolean green, GLboolean blue, + GLboolean alpha) { + glColorMask(red, green, blue, alpha); +} + +GLvoid StubGLCompileShader(GLuint shader) { + glCompileShader(shader); +} + +GLvoid StubGLCompressedTexImage2D(GLenum target, GLint level, + GLenum internalformat, GLsizei width, + GLsizei height, GLint border, + GLsizei imageSize, const void* data) { + glCompressedTexImage2D(target, level, internalformat, width, height, border, + imageSize, data); +} + +GLuint StubGLCreateProgram(void) { + return glCreateProgram(); +} + +GLuint StubGLCreateShader(GLenum type) { + return glCreateShader(type); +} + +GLvoid StubGLCullFace(GLenum mode) { + glCullFace(mode); +} + +GLvoid StubGLDeleteBuffers(GLsizei n, const GLuint* buffers) { + glDeleteBuffersARB(n, buffers); +} + +GLvoid StubGLDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) { + glDeleteFramebuffersEXT(n, framebuffers); +} + +GLvoid StubGLDeleteQueries(GLsizei n, const GLuint* ids) { + glDeleteQueries(n, ids); +} + +GLvoid StubGLDeleteProgram(GLuint program) { + glDeleteProgram(program); +} + +GLvoid StubGLDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) { + glDeleteRenderbuffersEXT(n, renderbuffers); +} + +GLvoid StubGLDeleteShader(GLuint shader) { + glDeleteShader(shader); +} + +GLvoid StubGLDeleteTextures(GLsizei n, const GLuint* textures) { + glDeleteTextures(n, textures); +} + +GLvoid StubGLDepthMask(GLboolean flag) { + glDepthMask(flag); +} + +GLvoid StubGLDisable(GLenum cap) { + glDisable(cap); +} + +GLvoid StubGLDisableVertexAttribArray(GLuint index) { + glDisableVertexAttribArray(index); +} + +GLvoid StubGLDrawArrays(GLenum mode, GLint first, GLsizei count) { + glDrawArrays(mode, first, count); +} + +GLvoid StubGLDrawBuffer(GLenum mode) { + glDrawBuffer(mode); +} + +GLvoid StubGLDrawBuffers(GLsizei n, const GLenum* bufs) { + glDrawBuffersARB(n, bufs); +} + +GLvoid StubGLDrawElements(GLenum mode, GLsizei count, GLenum type, + const void* indices) { + glDrawElements(mode, count, type, indices); +} + +GLvoid StubGLEnable(GLenum cap) { + glEnable(cap); +} + +GLvoid StubGLEnableVertexAttribArray(GLuint index) { + glEnableVertexAttribArray(index); +} + +GLvoid StubGLEndQuery(GLenum target) { + glEndQuery(target); +} + +GLvoid StubGLFinish() { + glFinish(); +} + +GLvoid StubGLFlush() { + glFlush(); +} + +GLvoid StubGLFramebufferRenderbuffer(GLenum target, GLenum attachment, + GLenum renderbuffertarget, + GLuint renderbuffer) { + glFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, + renderbuffer); +} + +GLvoid StubGLFramebufferTexture2D(GLenum target, GLenum attachment, + GLenum textarget, GLuint texture, + GLint level) { + glFramebufferTexture2DEXT(target, attachment, textarget, texture, level); +} + +GLvoid StubGLFrontFace(GLenum mode) { + glFrontFace(mode); +} + +GLvoid StubGLGenBuffers(GLsizei n, GLuint* buffers) { + glGenBuffersARB(n, buffers); +} + +GLvoid StubGLGenFramebuffers(GLsizei n, GLuint* framebuffers) { + glGenFramebuffersEXT(n, framebuffers); +} + +GLvoid StubGLGenQueries(GLsizei n, GLuint* ids) { + glGenQueries(n, ids); +} + +GLvoid StubGLGenRenderbuffers(GLsizei n, GLuint* renderbuffers) { + glGenRenderbuffersEXT(n, renderbuffers); +} + +GLvoid StubGLGenTextures(GLsizei n, GLuint* textures) { + glGenTextures(n, textures); +} + +GLvoid StubGLGetBufferParameteriv(GLenum target, GLenum pname, GLint* params) { + glGetBufferParameteriv(target, pname, params); +} + +GLvoid StubGLGetFramebufferAttachmentParameteriv(GLenum target, + GLenum attachment, + GLenum pname, GLint* params) { + glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, params); +} + +GLenum StubGLGetError() { + return glGetError(); +} + +GLvoid StubGLGetIntegerv(GLenum pname, GLint* params) { + glGetIntegerv(pname, params); +} + +GLvoid StubGLGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, + char* infolog) { + glGetProgramInfoLog(program, bufsize, length, infolog); +} + +GLvoid StubGLGetProgramiv(GLuint program, GLenum pname, GLint* params) { + glGetProgramiv(program, pname, params); +} + +GLvoid StubGLGetRenderbufferParameteriv(GLenum target, + GLenum pname, GLint* params) { + glGetRenderbufferParameterivEXT(target, pname, params); +} + +GLvoid StubGLGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, + char* infolog) { + glGetShaderInfoLog(shader, bufsize, length, infolog); +} + +GLvoid StubGLGetShaderiv(GLuint shader, GLenum pname, GLint* params) { + glGetShaderiv(shader, pname, params); +} + +const GLubyte* StubGLGetString(GLenum name) { + return glGetString(name); +} + +GLvoid StubGLGetQueryiv(GLenum target, GLenum pname, GLint* params) { + glGetQueryiv(target, pname, params); +} + +GLvoid StubGLGetQueryObjecti64v(GLuint id, GLenum pname, GLint64* params) { + glGetQueryObjecti64v(id, pname, params); +} + +GLvoid StubGLGetQueryObjectiv(GLuint id, GLenum pname, GLint* params) { + glGetQueryObjectiv(id, pname, params); +} + +GLvoid StubGLGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64* params) { + glGetQueryObjectui64v(id, pname, params); +} + +GLvoid StubGLGetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params) { + glGetQueryObjectuiv(id, pname, params); +} + +GLvoid StubGLGetTexLevelParameteriv(GLenum target, GLint level, + GLenum pname, GLint* params) { + glGetTexLevelParameteriv(target, level, pname, params); +} + +GLint StubGLGetUniformLocation(GLuint program, const char* name) { + return glGetUniformLocation(program, name); +} + +GLvoid StubGLLineWidth(GLfloat width) { + glLineWidth(width); +} + +GLvoid StubGLLinkProgram(GLuint program) { + glLinkProgram(program); +} + +void* StubGLMapBuffer(GLenum target, GLenum access) { + return glMapBuffer(target, access); +} + +GLvoid StubGLPixelStorei(GLenum pname, GLint param) { + glPixelStorei(pname, param); +} + +GLvoid StubGLQueryCounter(GLuint id, GLenum target) { + glQueryCounter(id, target); +} + +GLvoid StubGLReadBuffer(GLenum src) { + glReadBuffer(src); +} + +GLvoid StubGLReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, + GLenum format, GLenum type, void* pixels) { + glReadPixels(x, y, width, height, format, type, pixels); +} + +GLvoid StubGLRenderbufferStorage(GLenum target, GLenum internalformat, + GLsizei width, GLsizei height) { + glRenderbufferStorageEXT(target, internalformat, width, height); +} + +GLvoid StubGLRenderbufferStorageMultisample(GLenum target, GLsizei samples, + GLenum internalformat, + GLsizei width, GLsizei height) { + glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width, + height); +} + +GLvoid StubGLScissor(GLint x, GLint y, GLsizei width, GLsizei height) { + glScissor(x, y, width, height); +} + +GLvoid StubGLShaderSource(GLuint shader, GLsizei count, const char** str, + const GLint* length) { + glShaderSource(shader, count, str, length); +} + +GLvoid StubGLStencilFunc(GLenum func, GLint ref, GLuint mask) { + glStencilFunc(func, ref, mask); +} + +GLvoid StubGLStencilFuncSeparate(GLenum face, GLenum func, GLint ref, + GLuint mask) { + glStencilFuncSeparate(face, func, ref, mask); +} + +GLvoid StubGLStencilMask(GLuint mask) { + glStencilMask(mask); +} + +GLvoid StubGLStencilMaskSeparate(GLenum face, GLuint mask) { + glStencilMaskSeparate(face, mask); +} + +GLvoid StubGLStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { + glStencilOp(fail, zfail, zpass); +} + +GLvoid StubGLStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, + GLenum zpass) { + glStencilOpSeparate(face, fail, zfail, zpass); +} + +GLvoid StubGLTexImage2D(GLenum target, GLint level, GLint internalformat, + GLsizei width, GLsizei height, GLint border, + GLenum format, GLenum type, const void* pixels) { + glTexImage2D(target, level, internalformat, width, height, border, format, + type, pixels); +} + +GLvoid StubGLTexParameteri(GLenum target, GLenum pname, GLint param) { + glTexParameteri(target, pname, param); +} + +GLvoid StubGLTexStorage2D(GLenum target, GLsizei levels, GLenum internalFormat, + GLsizei width, GLsizei height) { + glTexStorage2DEXT(target, levels, internalFormat, width, height); +} + +GLvoid StubGLTexSubImage2D(GLenum target, GLint level, GLint xoffset, + GLint yoffset, GLsizei width, GLsizei height, + GLenum format, GLenum type, const void* pixels) { + glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, + pixels); +} + +GLvoid StubGLUniform1f(GLint location, GLfloat v) { + glUniform1i(location, v); +} + +GLvoid StubGLUniform1i(GLint location, GLint v) { + glUniform1i(location, v); +} + +GLvoid StubGLUniform1fv(GLint location, GLsizei count, const GLfloat* v) { + glUniform1fv(location, count, v); +} + +GLvoid StubGLUniform1iv(GLint location, GLsizei count, const GLint* v) { + glUniform1iv(location, count, v); +} + +GLvoid StubGLUniform2f(GLint location, GLfloat v0, GLfloat v1) { + glUniform2i(location, v0, v1); +} + +GLvoid StubGLUniform2i(GLint location, GLint v0, GLint v1) { + glUniform2i(location, v0, v1); +} + +GLvoid StubGLUniform2fv(GLint location, GLsizei count, const GLfloat* v) { + glUniform2fv(location, count, v); +} + +GLvoid StubGLUniform2iv(GLint location, GLsizei count, const GLint* v) { + glUniform2iv(location, count, v); +} + +GLvoid StubGLUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { + glUniform3i(location, v0, v1, v2); +} + +GLvoid StubGLUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { + glUniform3i(location, v0, v1, v2); +} + +GLvoid StubGLUniform3fv(GLint location, GLsizei count, const GLfloat* v) { + glUniform3fv(location, count, v); +} + +GLvoid StubGLUniform3iv(GLint location, GLsizei count, const GLint* v) { + glUniform3iv(location, count, v); +} + +GLvoid StubGLUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, + GLfloat v3) { + glUniform4i(location, v0, v1, v2, v3); +} + +GLvoid StubGLUniform4i(GLint location, GLint v0, GLint v1, GLint v2, + GLint v3) { + glUniform4i(location, v0, v1, v2, v3); +} + +GLvoid StubGLUniform4fv(GLint location, GLsizei count, const GLfloat* v) { + glUniform4fv(location, count, v); +} + +GLvoid StubGLUniform4iv(GLint location, GLsizei count, const GLint* v) { + glUniform4iv(location, count, v); +} + +GLvoid StubGLUniformMatrix2fv(GLint location, GLsizei count, + GLboolean transpose, const GLfloat* value) { + glUniformMatrix2fv(location, count, transpose, value); +} + +GLvoid StubGLUniformMatrix3fv(GLint location, GLsizei count, + GLboolean transpose, const GLfloat* value) { + glUniformMatrix3fv(location, count, transpose, value); +} + +GLvoid StubGLUniformMatrix4fv(GLint location, GLsizei count, + GLboolean transpose, const GLfloat* value) { + glUniformMatrix4fv(location, count, transpose, value); +} + +GLboolean StubGLUnmapBuffer(GLenum target) { + return glUnmapBuffer(target); +} + +GLvoid StubGLUseProgram(GLuint program) { + glUseProgram(program); +} + +GLvoid StubGLVertexAttrib4fv(GLuint indx, const GLfloat* values) { + glVertexAttrib4fv(indx, values); +} + +GLvoid StubGLVertexAttribPointer(GLuint indx, GLint size, GLenum type, + GLboolean normalized, GLsizei stride, + const void* ptr) { + glVertexAttribPointer(indx, size, type, normalized, stride, ptr); +} + +GLvoid StubGLViewport(GLint x, GLint y, GLsizei width, GLsizei height) { + glViewport(x, y, width, height); +} +} // extern "C" +} // namespace + +namespace gfx { + +GrGLInterface* CreateInProcessSkiaGLBinding() { + GrGLBinding binding; + switch (gfx::GetGLImplementation()) { + case gfx::kGLImplementationNone: + NOTREACHED(); + return NULL; + case gfx::kGLImplementationDesktopGL: + case gfx::kGLImplementationAppleGL: + binding = kDesktop_GrGLBinding; + break; + case gfx::kGLImplementationOSMesaGL: + binding = kDesktop_GrGLBinding; + break; + case gfx::kGLImplementationEGLGLES2: + binding = kES2_GrGLBinding; + break; + case gfx::kGLImplementationMockGL: + NOTREACHED(); + return NULL; + default: + NOTREACHED(); + return NULL; + } + + GrGLInterface* interface = new GrGLInterface; + + interface->fBindingsExported = binding; + interface->fActiveTexture = StubGLActiveTexture; + interface->fAttachShader = StubGLAttachShader; + interface->fBeginQuery = StubGLBeginQuery; + interface->fBindAttribLocation = StubGLBindAttribLocation; + interface->fBindBuffer = StubGLBindBuffer; + interface->fBindFragDataLocation = StubGLBindFragDataLocation; + interface->fBindTexture = StubGLBindTexture; + interface->fBlendColor = StubGLBlendColor; + interface->fBlendFunc = StubGLBlendFunc; + interface->fBufferData = StubGLBufferData; + interface->fBufferSubData = StubGLBufferSubData; + interface->fClear = StubGLClear; + interface->fClearColor = StubGLClearColor; + interface->fClearStencil = StubGLClearStencil; + interface->fColorMask = StubGLColorMask; + interface->fCompileShader = StubGLCompileShader; + interface->fCompressedTexImage2D = StubGLCompressedTexImage2D; + interface->fCreateProgram = StubGLCreateProgram; + interface->fCreateShader = StubGLCreateShader; + interface->fCullFace = StubGLCullFace; + interface->fDeleteBuffers = StubGLDeleteBuffers; + interface->fDeleteProgram = StubGLDeleteProgram; + interface->fDeleteQueries = StubGLDeleteQueries; + interface->fDeleteShader = StubGLDeleteShader; + interface->fDeleteTextures = StubGLDeleteTextures; + interface->fDepthMask = StubGLDepthMask; + interface->fDisable = StubGLDisable; + interface->fDisableVertexAttribArray = StubGLDisableVertexAttribArray; + interface->fDrawArrays = StubGLDrawArrays; + interface->fDrawBuffer = StubGLDrawBuffer; + interface->fDrawBuffers = StubGLDrawBuffers; + interface->fDrawElements = StubGLDrawElements; + interface->fEnable = StubGLEnable; + interface->fEnableVertexAttribArray = StubGLEnableVertexAttribArray; + interface->fEndQuery = StubGLEndQuery; + interface->fFinish = StubGLFinish; + interface->fFlush = StubGLFlush; + interface->fFrontFace = StubGLFrontFace; + interface->fGenBuffers = StubGLGenBuffers; + interface->fGenQueries = StubGLGenQueries; + interface->fGenTextures = StubGLGenTextures; + interface->fGetBufferParameteriv = StubGLGetBufferParameteriv; + interface->fGetError = StubGLGetError; + interface->fGetIntegerv = StubGLGetIntegerv; + interface->fGetQueryiv = StubGLGetQueryiv; + interface->fGetQueryObjecti64v = StubGLGetQueryObjecti64v; + interface->fGetQueryObjectiv = StubGLGetQueryObjectiv; + interface->fGetQueryObjectui64v = StubGLGetQueryObjectui64v; + interface->fGetQueryObjectuiv = StubGLGetQueryObjectuiv; + interface->fGetProgramInfoLog = StubGLGetProgramInfoLog; + interface->fGetProgramiv = StubGLGetProgramiv; + interface->fGetShaderInfoLog = StubGLGetShaderInfoLog; + interface->fGetShaderiv = StubGLGetShaderiv; + interface->fGetString = StubGLGetString; + interface->fGetTexLevelParameteriv = StubGLGetTexLevelParameteriv; + interface->fGetUniformLocation = StubGLGetUniformLocation; + interface->fLineWidth = StubGLLineWidth; + interface->fLinkProgram = StubGLLinkProgram; + interface->fPixelStorei = StubGLPixelStorei; + interface->fQueryCounter = StubGLQueryCounter; + interface->fReadBuffer = StubGLReadBuffer; + interface->fReadPixels = StubGLReadPixels; + interface->fScissor = StubGLScissor; + interface->fShaderSource = StubGLShaderSource; + interface->fStencilFunc = StubGLStencilFunc; + interface->fStencilFuncSeparate = StubGLStencilFuncSeparate; + interface->fStencilMask = StubGLStencilMask; + interface->fStencilMaskSeparate = StubGLStencilMaskSeparate; + interface->fStencilOp = StubGLStencilOp; + interface->fStencilOpSeparate = StubGLStencilOpSeparate; + interface->fTexImage2D = StubGLTexImage2D; + interface->fTexParameteri = StubGLTexParameteri; + interface->fTexSubImage2D = StubGLTexSubImage2D; + interface->fTexStorage2D = StubGLTexStorage2D; + interface->fUniform1f = StubGLUniform1f; + interface->fUniform1i = StubGLUniform1i; + interface->fUniform1fv = StubGLUniform1fv; + interface->fUniform1iv = StubGLUniform1iv; + interface->fUniform2f = StubGLUniform2f; + interface->fUniform2i = StubGLUniform2i; + interface->fUniform2fv = StubGLUniform2fv; + interface->fUniform2iv = StubGLUniform2iv; + interface->fUniform3f = StubGLUniform3f; + interface->fUniform3i = StubGLUniform3i; + interface->fUniform3fv = StubGLUniform3fv; + interface->fUniform3iv = StubGLUniform3iv; + interface->fUniform4f = StubGLUniform4f; + interface->fUniform4i = StubGLUniform4i; + interface->fUniform4fv = StubGLUniform4fv; + interface->fUniform4iv = StubGLUniform4iv; + interface->fUniformMatrix2fv = StubGLUniformMatrix2fv; + interface->fUniformMatrix3fv = StubGLUniformMatrix3fv; + interface->fUniformMatrix4fv = StubGLUniformMatrix4fv; + interface->fUseProgram = StubGLUseProgram; + interface->fVertexAttrib4fv = StubGLVertexAttrib4fv; + interface->fVertexAttribPointer = StubGLVertexAttribPointer; + interface->fViewport = StubGLViewport; + interface->fBindFramebuffer = StubGLBindFramebuffer; + interface->fBindRenderbuffer = StubGLBindRenderbuffer; + interface->fCheckFramebufferStatus = StubGLCheckFramebufferStatus; + interface->fDeleteFramebuffers = StubGLDeleteFramebuffers; + interface->fDeleteRenderbuffers = StubGLDeleteRenderbuffers; + interface->fFramebufferRenderbuffer = StubGLFramebufferRenderbuffer; + interface->fFramebufferTexture2D = StubGLFramebufferTexture2D; + interface->fGenFramebuffers = StubGLGenFramebuffers; + interface->fGenRenderbuffers = StubGLGenRenderbuffers; + interface->fGetFramebufferAttachmentParameteriv = + StubGLGetFramebufferAttachmentParameteriv; + interface->fGetRenderbufferParameteriv = StubGLGetRenderbufferParameteriv; + interface->fRenderbufferStorage = StubGLRenderbufferStorage; + interface->fRenderbufferStorageMultisample = + StubGLRenderbufferStorageMultisample; + interface->fBlitFramebuffer = StubGLBlitFramebuffer; + interface->fMapBuffer = StubGLMapBuffer; + interface->fUnmapBuffer = StubGLUnmapBuffer; + interface->fBindFragDataLocationIndexed = + StubGLBindFragDataLocationIndexed; + return interface; +} + +} // namespace gfx |