blob: e52277e19bb9091801e0c8e2627dc8c58a30ae93 [file] [log] [blame]
djsollen@google.come32b5832011-06-13 16:58:40 +00001// 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*/
19void 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