blob: 4c06f177706ab3d4987693514ce19dcaafe345b2 [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,
tomhudson@google.come67bd3f2011-06-16 14:08:04 +000022 kProbe_GrGLCapability, // fNPOTRenderTargetSupport
23 kProbe_GrGLCapability, // fMinRenderTargetHeight
24 kProbe_GrGLCapability, // fMinRenderTargetWidth
djsollen@google.come32b5832011-06-13 16:58:40 +000025 glActiveTexture,
26 glAttachShader,
27 glBindAttribLocation,
28 glBindBuffer,
29 glBindTexture,
30 glBlendColor,
31 glBlendFunc,
32 glBufferData,
33 glBufferSubData,
34 glClear,
35 glClearColor,
36 glClearStencil,
37 NULL, // glClientActiveTexture
38 NULL, // glColor4ub
39 glColorMask,
40 NULL, // glColorPointer
41 glCompileShader,
42 glCompressedTexImage2D,
43 glCreateProgram,
44 glCreateShader,
45 glCullFace,
46 glDeleteBuffers,
47 glDeleteProgram,
48 glDeleteShader,
49 glDeleteTextures,
50 glDepthMask,
51 glDisable,
52 NULL, // glDisableClientState
53 glDisableVertexAttribArray,
54 glDrawArrays,
55 glDrawElements,
56 glEnable,
57 NULL, // glEnableClientState
58 glEnableVertexAttribArray,
59 glFrontFace,
60 glGenBuffers,
61 glGenTextures,
62 glGetBufferParameteriv,
63 glGetError,
64 glGetIntegerv,
65 glGetProgramInfoLog,
66 glGetProgramiv,
67 glGetShaderInfoLog,
68 glGetShaderiv,
69 glGetString,
70 glGetUniformLocation,
71 glLineWidth,
72 glLinkProgram,
73 NULL, // glLoadMatrixf
74 NULL, // glMatrixMode
75 glPixelStorei,
76 NULL, // glPointSize
77 glReadPixels,
78 glScissor,
79 NULL, // glShadeModel
80 glShaderSource,
81 glStencilFunc,
82 glStencilFuncSeparate,
83 glStencilMask,
84 glStencilMaskSeparate,
85 glStencilOp,
86 glStencilOpSeparate,
87 NULL, // glTexCoordPointer
88 NULL, // glTexEnvi
89 glTexImage2D,
90 glTexParameteri,
91 glTexSubImage2D,
92 glUniform1f,
93 glUniform1i,
94 glUniform1fv,
95 glUniform1iv,
96 glUniform2f,
97 glUniform2i,
98 glUniform2fv,
99 glUniform2iv,
100 glUniform3f,
101 glUniform3i,
102 glUniform3fv,
103 glUniform3iv,
104 glUniform4f,
105 glUniform4i,
106 glUniform4fv,
107 glUniform4iv,
108 glUniformMatrix2fv,
109 glUniformMatrix3fv,
110 glUniformMatrix4fv,
111 glUseProgram,
112 glVertexAttrib4fv,
113 glVertexAttribPointer,
114 NULL, // glVertexPointer
115 glViewport,
116 glBindFramebuffer,
117 glBindRenderbuffer,
118 glCheckFramebufferStatus,
119 glDeleteFramebuffers,
120 glDeleteRenderbuffers,
121 glFramebufferRenderbuffer,
122 glFramebufferTexture2D,
123 glGenFramebuffers,
124 glGenRenderbuffers,
125 glRenderbufferStorage,
126 NULL, // glRenderbufferStorageMultisampleEXT,
127 NULL, // glBlitFramebufferEXT,
128 NULL, // glResolveMultisampleFramebuffer
129 glMapBufferOES,
130 glUnmapBufferOES,
vandebo@chromium.orgec364712011-07-26 03:44:05 +0000131 NULL,
djsollen@google.come32b5832011-06-13 16:58:40 +0000132 GrGLInterface::kStaticInitEndGuard
133 };
134 static bool host_StubGL_initialized = false;
135 if (!host_StubGL_initialized) {
136 GrGLSetGLInterface(&cmd_buffer_interface);
137 host_StubGL_initialized = true;
138 }
139}