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