blob: b402176de9509e2d4dfab91f8bdcf628b16aa002 [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,
bsalomon@google.comd32c5f52011-08-02 19:29:03 +000055 NULL, // glDrawBuffer
56 NULL, // glDrawBuffers
djsollen@google.come32b5832011-06-13 16:58:40 +000057 glDrawElements,
58 glEnable,
59 NULL, // glEnableClientState
60 glEnableVertexAttribArray,
61 glFrontFace,
62 glGenBuffers,
63 glGenTextures,
64 glGetBufferParameteriv,
65 glGetError,
66 glGetIntegerv,
67 glGetProgramInfoLog,
68 glGetProgramiv,
69 glGetShaderInfoLog,
70 glGetShaderiv,
71 glGetString,
bsalomon@google.comcee661a2011-07-26 12:32:36 +000072 NULL, // glGetTexLevelParameteriv
djsollen@google.come32b5832011-06-13 16:58:40 +000073 glGetUniformLocation,
74 glLineWidth,
75 glLinkProgram,
76 NULL, // glLoadMatrixf
77 NULL, // glMatrixMode
78 glPixelStorei,
79 NULL, // glPointSize
80 glReadPixels,
81 glScissor,
82 NULL, // glShadeModel
83 glShaderSource,
84 glStencilFunc,
85 glStencilFuncSeparate,
86 glStencilMask,
87 glStencilMaskSeparate,
88 glStencilOp,
89 glStencilOpSeparate,
90 NULL, // glTexCoordPointer
91 NULL, // glTexEnvi
92 glTexImage2D,
93 glTexParameteri,
94 glTexSubImage2D,
95 glUniform1f,
96 glUniform1i,
97 glUniform1fv,
98 glUniform1iv,
99 glUniform2f,
100 glUniform2i,
101 glUniform2fv,
102 glUniform2iv,
103 glUniform3f,
104 glUniform3i,
105 glUniform3fv,
106 glUniform3iv,
107 glUniform4f,
108 glUniform4i,
109 glUniform4fv,
110 glUniform4iv,
111 glUniformMatrix2fv,
112 glUniformMatrix3fv,
113 glUniformMatrix4fv,
114 glUseProgram,
115 glVertexAttrib4fv,
116 glVertexAttribPointer,
117 NULL, // glVertexPointer
118 glViewport,
119 glBindFramebuffer,
120 glBindRenderbuffer,
121 glCheckFramebufferStatus,
122 glDeleteFramebuffers,
123 glDeleteRenderbuffers,
124 glFramebufferRenderbuffer,
125 glFramebufferTexture2D,
126 glGenFramebuffers,
127 glGenRenderbuffers,
bsalomon@google.comcee661a2011-07-26 12:32:36 +0000128 glGetFramebufferAttachmentParameteriv,
129 glGetRenderbufferParameteriv,
djsollen@google.come32b5832011-06-13 16:58:40 +0000130 glRenderbufferStorage,
131 NULL, // glRenderbufferStorageMultisampleEXT,
132 NULL, // glBlitFramebufferEXT,
133 NULL, // glResolveMultisampleFramebuffer
134 glMapBufferOES,
135 glUnmapBufferOES,
bsalomon@google.comcee661a2011-07-26 12:32:36 +0000136 NULL, // glBindFragDataLocationIndexed
djsollen@google.come32b5832011-06-13 16:58:40 +0000137 GrGLInterface::kStaticInitEndGuard
138 };
139 static bool host_StubGL_initialized = false;
140 if (!host_StubGL_initialized) {
141 GrGLSetGLInterface(&cmd_buffer_interface);
142 host_StubGL_initialized = true;
143 }
144}