1 // Modified from chromium/src/webkit/glue/gl_bindings_skia_cmd_buffer.cc 2 3 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 4 // Use of this source code is governed by a BSD-style license that can be 5 // found in the LICENSE file. 6 7 #include "GrGLInterface.h" 8 9 #ifndef GL_GLEXT_PROTOTYPES 10 #define GL_GLEXT_PROTOTYPES 11 #endif 12 13 #include "gl2.h" 14 #include "gl2ext.h" 15 /* 16 #include "gpu/GLES2/gl2.h" 17 #include "gpu/GLES2/gl2ext.h" 18 */ 19 void GrGLSetDefaultGLInterface() { 20 static GrGLInterface cmd_buffer_interface = { 21 kES2_GrGLBinding, 22 23 glActiveTexture, 24 glAttachShader, 25 glBindAttribLocation, 26 glBindBuffer, 27 glBindTexture, 28 glBlendColor, 29 glBlendFunc, 30 glBufferData, 31 glBufferSubData, 32 glClear, 33 glClearColor, 34 glClearStencil, 35 NULL, // glClientActiveTexture 36 NULL, // glColor4ub 37 glColorMask, 38 NULL, // glColorPointer 39 glCompileShader, 40 glCompressedTexImage2D, 41 glCreateProgram, 42 glCreateShader, 43 glCullFace, 44 glDeleteBuffers, 45 glDeleteProgram, 46 glDeleteShader, 47 glDeleteTextures, 48 glDepthMask, 49 glDisable, 50 NULL, // glDisableClientState 51 glDisableVertexAttribArray, 52 glDrawArrays, 53 glDrawElements, 54 glEnable, 55 NULL, // glEnableClientState 56 glEnableVertexAttribArray, 57 glFrontFace, 58 glGenBuffers, 59 glGenTextures, 60 glGetBufferParameteriv, 61 glGetError, 62 glGetIntegerv, 63 glGetProgramInfoLog, 64 glGetProgramiv, 65 glGetShaderInfoLog, 66 glGetShaderiv, 67 glGetString, 68 glGetUniformLocation, 69 glLineWidth, 70 glLinkProgram, 71 NULL, // glLoadMatrixf 72 NULL, // glMatrixMode 73 glPixelStorei, 74 NULL, // glPointSize 75 glReadPixels, 76 glScissor, 77 NULL, // glShadeModel 78 glShaderSource, 79 glStencilFunc, 80 glStencilFuncSeparate, 81 glStencilMask, 82 glStencilMaskSeparate, 83 glStencilOp, 84 glStencilOpSeparate, 85 NULL, // glTexCoordPointer 86 NULL, // glTexEnvi 87 glTexImage2D, 88 glTexParameteri, 89 glTexSubImage2D, 90 glUniform1f, 91 glUniform1i, 92 glUniform1fv, 93 glUniform1iv, 94 glUniform2f, 95 glUniform2i, 96 glUniform2fv, 97 glUniform2iv, 98 glUniform3f, 99 glUniform3i, 100 glUniform3fv, 101 glUniform3iv, 102 glUniform4f, 103 glUniform4i, 104 glUniform4fv, 105 glUniform4iv, 106 glUniformMatrix2fv, 107 glUniformMatrix3fv, 108 glUniformMatrix4fv, 109 glUseProgram, 110 glVertexAttrib4fv, 111 glVertexAttribPointer, 112 NULL, // glVertexPointer 113 glViewport, 114 glBindFramebuffer, 115 glBindRenderbuffer, 116 glCheckFramebufferStatus, 117 glDeleteFramebuffers, 118 glDeleteRenderbuffers, 119 glFramebufferRenderbuffer, 120 glFramebufferTexture2D, 121 glGenFramebuffers, 122 glGenRenderbuffers, 123 glRenderbufferStorage, 124 NULL, // glRenderbufferStorageMultisampleEXT, 125 NULL, // glBlitFramebufferEXT, 126 NULL, // glResolveMultisampleFramebuffer 127 glMapBufferOES, 128 glUnmapBufferOES, 129 NULL, 130 GrGLInterface::kStaticInitEndGuard 131 }; 132 static bool host_StubGL_initialized = false; 133 if (!host_StubGL_initialized) { 134 GrGLSetGLInterface(&cmd_buffer_interface); 135 host_StubGL_initialized = true; 136 } 137 } 138 139