Index: app/gfx/gl/gl_bindings_skia.cc |
=================================================================== |
--- app/gfx/gl/gl_bindings_skia.cc (revision 78807) |
+++ app/gfx/gl/gl_bindings_skia.cc (working copy) |
@@ -1,517 +0,0 @@ |
-// Copyright (c) 2011 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 "app/gfx/gl/gl_bindings_skia.h" |
- |
-#include "app/gfx/gl/gl_bindings.h" |
-#include "app/gfx/gl/gl_implementation.h" |
-#include "base/logging.h" |
- |
-// Skia is built against the headers in gpu\GLES. These functions |
-// are exported without any call-type modifiers. |
-#define GR_GL_FUNCTION_TYPE |
- |
-// The GrGLInterface header pulls in the default GL headers. Disable pulling |
-// in the default platform headers to prevent conflicts with the GL api points |
-// included via gl_bindings.h |
-#define GR_GL_NO_PLATFORM_INCLUDES 1 |
-#include "third_party/skia/gpu/include/GrGLInterface.h" |
-#undef GR_GL_NO_PLATFORM_INCLUDES |
- |
-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 against the GLES headers, so the interfaces in |
-// GrGLInterface are __cdecl. |
- |
-GLvoid StubGLActiveTexture(GLenum texture) { |
- glActiveTexture(texture); |
-} |
- |
-GLvoid StubGLAttachShader(GLuint program, GLuint shader) { |
- glAttachShader(program, shader); |
-} |
- |
-GLvoid StubGLBindAttribLocation(GLuint program, GLuint index, |
- const char* name) { |
- glBindAttribLocation(program, index, name); |
-} |
- |
-GLvoid StubGLBindBuffer(GLenum target, GLuint buffer) { |
- glBindBuffer(target, buffer); |
-} |
- |
-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, GLsizei size, const void* data, |
- GLenum usage) { |
- glBufferData(target, size, data, usage); |
-} |
- |
-GLvoid StubGLBufferSubData(GLenum target, GLint offset, GLsizei 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 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 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 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 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); |
-} |
- |
-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 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); |
-} |
- |
-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 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 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 StubGLUniform1fv(GLint location, GLsizei count, const GLfloat* v) { |
- glUniform1fv(location, count, v); |
-} |
- |
-GLvoid StubGLUniform1i(GLint location, GLint x) { |
- glUniform1i(location, x); |
-} |
- |
-GLvoid StubGLUniform4fv(GLint location, GLsizei count, const GLfloat* v) { |
- glUniform4fv(location, count, v); |
-} |
- |
-GLvoid StubGLUniformMatrix3fv(GLint location, GLsizei count, |
- GLboolean transpose, const GLfloat* value) { |
- glUniformMatrix3fv(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" |
- |
-// Populate |gl_interface| with pointers to the GL implementation used by |
-// Chrome. |
-void InitializeGrGLInterface(GrGLInterface* gl_interface) { |
- |
- // Propagate the type of GL bindings exported back to skia. |
- switch (gfx::GetGLImplementation()) { |
- case gfx::kGLImplementationNone: |
- NOTREACHED(); |
- break; |
- case gfx::kGLImplementationDesktopGL: |
- gl_interface->fBindingsExported = kDesktop_GrGLBinding; |
- break; |
- case gfx::kGLImplementationOSMesaGL: |
- gl_interface->fBindingsExported = kDesktop_GrGLBinding; |
- break; |
- case gfx::kGLImplementationEGLGLES2: |
- gl_interface->fBindingsExported = kES2_GrGLBinding; |
- break; |
- case gfx::kGLImplementationMockGL: |
- NOTREACHED(); |
- break; |
- } |
- |
- gl_interface->fClientActiveTexture = NULL; |
- gl_interface->fColor4ub = NULL; |
- gl_interface->fColorPointer = NULL; |
- gl_interface->fDisableClientState = NULL; |
- gl_interface->fEnableClientState = NULL; |
- gl_interface->fLoadMatrixf = NULL; |
- gl_interface->fMatrixMode = NULL; |
- gl_interface->fPointSize = NULL; |
- gl_interface->fShadeModel = NULL; |
- gl_interface->fTexCoordPointer = NULL; |
- gl_interface->fTexEnvi = NULL; |
- gl_interface->fVertexPointer = NULL; |
- |
- gl_interface->fFramebufferTexture2DMultisample = NULL; |
- gl_interface->fResolveMultisampleFramebuffer = NULL; |
- gl_interface->fActiveTexture = StubGLActiveTexture; |
- gl_interface->fAttachShader = StubGLAttachShader; |
- gl_interface->fBindAttribLocation = StubGLBindAttribLocation; |
- gl_interface->fBindBuffer = StubGLBindBuffer; |
- gl_interface->fBindTexture = StubGLBindTexture; |
- gl_interface->fBlendColor = StubGLBlendColor; |
- gl_interface->fBlendFunc = StubGLBlendFunc; |
- gl_interface->fBufferData = StubGLBufferData; |
- gl_interface->fBufferSubData = StubGLBufferSubData; |
- gl_interface->fClear = StubGLClear; |
- gl_interface->fClearColor = StubGLClearColor; |
- gl_interface->fClearStencil = StubGLClearStencil; |
- gl_interface->fColorMask = StubGLColorMask; |
- gl_interface->fCompileShader = StubGLCompileShader; |
- gl_interface->fCompressedTexImage2D = StubGLCompressedTexImage2D; |
- gl_interface->fCreateProgram = StubGLCreateProgram; |
- gl_interface->fCreateShader = StubGLCreateShader; |
- gl_interface->fCullFace = StubGLCullFace; |
- gl_interface->fDeleteBuffers = StubGLDeleteBuffers; |
- gl_interface->fDeleteProgram = StubGLDeleteProgram; |
- gl_interface->fDeleteShader = StubGLDeleteShader; |
- gl_interface->fDeleteTextures = StubGLDeleteTextures; |
- gl_interface->fDepthMask = StubGLDepthMask; |
- gl_interface->fDisable = StubGLDisable; |
- gl_interface->fDisableVertexAttribArray = StubGLDisableVertexAttribArray; |
- gl_interface->fDrawArrays = StubGLDrawArrays; |
- gl_interface->fDrawElements = StubGLDrawElements; |
- gl_interface->fEnable = StubGLEnable; |
- gl_interface->fEnableVertexAttribArray = StubGLEnableVertexAttribArray; |
- gl_interface->fFrontFace = StubGLFrontFace; |
- gl_interface->fGenBuffers = StubGLGenBuffers; |
- gl_interface->fGenTextures = StubGLGenTextures; |
- gl_interface->fGetBufferParameteriv = StubGLGetBufferParameteriv; |
- gl_interface->fGetError = StubGLGetError; |
- gl_interface->fGetIntegerv = StubGLGetIntegerv; |
- gl_interface->fGetProgramInfoLog = StubGLGetProgramInfoLog; |
- gl_interface->fGetProgramiv = StubGLGetProgramiv; |
- gl_interface->fGetShaderInfoLog = StubGLGetShaderInfoLog; |
- gl_interface->fGetShaderiv = StubGLGetShaderiv; |
- gl_interface->fGetString = StubGLGetString; |
- gl_interface->fGetUniformLocation = StubGLGetUniformLocation; |
- gl_interface->fLineWidth = StubGLLineWidth; |
- gl_interface->fLinkProgram = StubGLLinkProgram; |
- gl_interface->fPixelStorei = StubGLPixelStorei; |
- gl_interface->fReadPixels = StubGLReadPixels; |
- gl_interface->fScissor = StubGLScissor; |
- gl_interface->fShaderSource = StubGLShaderSource; |
- gl_interface->fStencilFunc = StubGLStencilFunc; |
- gl_interface->fStencilFuncSeparate = StubGLStencilFuncSeparate; |
- gl_interface->fStencilMask = StubGLStencilMask; |
- gl_interface->fStencilMaskSeparate = StubGLStencilMaskSeparate; |
- gl_interface->fStencilOp = StubGLStencilOp; |
- gl_interface->fStencilOpSeparate = StubGLStencilOpSeparate; |
- gl_interface->fTexImage2D = StubGLTexImage2D; |
- gl_interface->fTexParameteri = StubGLTexParameteri; |
- gl_interface->fTexSubImage2D = StubGLTexSubImage2D; |
- gl_interface->fUniform1fv = StubGLUniform1fv; |
- gl_interface->fUniform1i = StubGLUniform1i; |
- gl_interface->fUniform4fv = StubGLUniform4fv; |
- gl_interface->fUniformMatrix3fv = StubGLUniformMatrix3fv; |
- gl_interface->fUseProgram = StubGLUseProgram; |
- gl_interface->fVertexAttrib4fv = StubGLVertexAttrib4fv; |
- gl_interface->fVertexAttribPointer = StubGLVertexAttribPointer; |
- gl_interface->fViewport = StubGLViewport; |
- gl_interface->fBindFramebuffer = StubGLBindFramebuffer; |
- gl_interface->fBindRenderbuffer = StubGLBindRenderbuffer; |
- gl_interface->fCheckFramebufferStatus = StubGLCheckFramebufferStatus; |
- gl_interface->fDeleteFramebuffers = StubGLDeleteFramebuffers; |
- gl_interface->fDeleteRenderbuffers = StubGLDeleteRenderbuffers; |
- gl_interface->fFramebufferRenderbuffer = StubGLFramebufferRenderbuffer; |
- gl_interface->fFramebufferTexture2D = StubGLFramebufferTexture2D; |
- gl_interface->fGenFramebuffers = StubGLGenFramebuffers; |
- gl_interface->fGenRenderbuffers = StubGLGenRenderbuffers; |
- gl_interface->fRenderbufferStorage = StubGLRenderBufferStorage; |
- gl_interface->fRenderbufferStorageMultisample = |
- StubGLRenderbufferStorageMultisample; |
- gl_interface->fBlitFramebuffer = StubGLBlitFramebuffer; |
- gl_interface->fMapBuffer = StubGLMapBuffer; |
- gl_interface->fUnmapBuffer = StubGLUnmapBuffer; |
-} |
- |
-} // namespace |
- |
-namespace gfx { |
- |
-void BindSkiaToHostGL() { |
- static GrGLInterface host_gl_interface; |
- static bool host_StubGL_initialized = false; |
- if (!host_StubGL_initialized) { |
- InitializeGrGLInterface(&host_gl_interface); |
- GrGLSetGLInterface(&host_gl_interface); |
- host_StubGL_initialized = true; |
- } |
-} |
- |
-} // namespace gfx |