// 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