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