| // 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 "webkit/glue/gl_bindings_skia_cmd_buffer.h" |
| |
| #define GL_GLEXT_PROTOTYPES |
| #include "gpu/GLES2/gl2.h" |
| #include "gpu/GLES2/gl2ext.h" |
| |
| #include "third_party/skia/gpu/include/GrGLInterface.h" |
| |
| namespace webkit_glue { |
| |
| void BindSkiaToCommandBufferGL() { |
| static GrGLInterface cmd_buffer_interface = { |
| kES2_GrGLBinding, |
| |
| glActiveTexture, |
| glAttachShader, |
| glBindAttribLocation, |
| glBindBuffer, |
| glBindTexture, |
| glBlendColor, |
| glBlendFunc, |
| glBufferData, |
| glBufferSubData, |
| glClear, |
| glClearColor, |
| glClearStencil, |
| NULL, // glClientActiveTexture |
| NULL, // glColor4ub |
| glColorMask, |
| NULL, // glColorPointer |
| glCompileShader, |
| glCompressedTexImage2D, |
| glCreateProgram, |
| glCreateShader, |
| glCullFace, |
| glDeleteBuffers, |
| glDeleteProgram, |
| glDeleteShader, |
| glDeleteTextures, |
| glDepthMask, |
| glDisable, |
| NULL, // glDisableClientState |
| glDisableVertexAttribArray, |
| glDrawArrays, |
| glDrawElements, |
| glEnable, |
| NULL, // glEnableClientState |
| glEnableVertexAttribArray, |
| glFrontFace, |
| glGenBuffers, |
| glGenTextures, |
| glGetBufferParameteriv, |
| glGetError, |
| glGetIntegerv, |
| glGetProgramInfoLog, |
| glGetProgramiv, |
| glGetShaderInfoLog, |
| glGetShaderiv, |
| glGetString, |
| glGetUniformLocation, |
| glLineWidth, |
| glLinkProgram, |
| NULL, // glLoadMatrixf |
| NULL, // glMatrixMode |
| glPixelStorei, |
| NULL, // glPointSize |
| glReadPixels, |
| glScissor, |
| NULL, // glShadeModel |
| glShaderSource, |
| glStencilFunc, |
| glStencilFuncSeparate, |
| glStencilMask, |
| glStencilMaskSeparate, |
| glStencilOp, |
| glStencilOpSeparate, |
| NULL, // glTexCoordPointer |
| NULL, // glTexEnvi |
| glTexImage2D, |
| glTexParameteri, |
| glTexSubImage2D, |
| glUniform1fv, |
| glUniform1i, |
| glUniform4fv, |
| glUniformMatrix3fv, |
| glUseProgram, |
| glVertexAttrib4fv, |
| glVertexAttribPointer, |
| NULL, // glVertexPointer |
| glViewport, |
| glBindFramebuffer, |
| glBindRenderbuffer, |
| glCheckFramebufferStatus, |
| glDeleteFramebuffers, |
| glDeleteRenderbuffers, |
| glFramebufferRenderbuffer, |
| glFramebufferTexture2D, |
| glGenFramebuffers, |
| glGenRenderbuffers, |
| glRenderbufferStorage, |
| glRenderbufferStorageMultisampleEXT, |
| glBlitFramebufferEXT, |
| NULL, // glResolveMultisampleFramebuffer |
| NULL, // glMapBuffer |
| NULL, // glUnmapBuffer |
| |
| GrGLInterface::kStaticInitEndGuard |
| }; |
| static bool host_StubGL_initialized = false; |
| if (!host_StubGL_initialized) { |
| GrGLSetGLInterface(&cmd_buffer_interface); |
| host_StubGL_initialized = true; |
| } |
| } |
| |
| } // namespace webkit_glue |
| |