• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
BindSkiaToCommandBufferGL()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