blob: dfb9041cd7ae988b577b39638fd06628f219bed4 [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,
bsalomon@google.comcee661a2011-07-26 12:32:36 +000070 NULL, // glGetTexLevelParameteriv
djsollen@google.come32b5832011-06-13 16:58:40 +000071 glGetUniformLocation,
72 glLineWidth,
73 glLinkProgram,
74 NULL, // glLoadMatrixf
75 NULL, // glMatrixMode
76 glPixelStorei,
77 NULL, // glPointSize
78 glReadPixels,
79 glScissor,
80 NULL, // glShadeModel
81 glShaderSource,
82 glStencilFunc,
83 glStencilFuncSeparate,
84 glStencilMask,
85 glStencilMaskSeparate,
86 glStencilOp,
87 glStencilOpSeparate,
88 NULL, // glTexCoordPointer
89 NULL, // glTexEnvi
90 glTexImage2D,
91 glTexParameteri,
92 glTexSubImage2D,
93 glUniform1f,
94 glUniform1i,
95 glUniform1fv,
96 glUniform1iv,
97 glUniform2f,
98 glUniform2i,
99 glUniform2fv,
100 glUniform2iv,
101 glUniform3f,
102 glUniform3i,
103 glUniform3fv,
104 glUniform3iv,
105 glUniform4f,
106 glUniform4i,
107 glUniform4fv,
108 glUniform4iv,
109 glUniformMatrix2fv,
110 glUniformMatrix3fv,
111 glUniformMatrix4fv,
112 glUseProgram,
113 glVertexAttrib4fv,
114 glVertexAttribPointer,
115 NULL, // glVertexPointer
116 glViewport,
117 glBindFramebuffer,
118 glBindRenderbuffer,
119 glCheckFramebufferStatus,
120 glDeleteFramebuffers,
121 glDeleteRenderbuffers,
122 glFramebufferRenderbuffer,
123 glFramebufferTexture2D,
124 glGenFramebuffers,
125 glGenRenderbuffers,
bsalomon@google.comcee661a2011-07-26 12:32:36 +0000126 glGetFramebufferAttachmentParameteriv,
127 glGetRenderbufferParameteriv,
djsollen@google.come32b5832011-06-13 16:58:40 +0000128 glRenderbufferStorage,
129 NULL, // glRenderbufferStorageMultisampleEXT,
130 NULL, // glBlitFramebufferEXT,
131 NULL, // glResolveMultisampleFramebuffer
132 glMapBufferOES,
133 glUnmapBufferOES,
bsalomon@google.comcee661a2011-07-26 12:32:36 +0000134 NULL, // glBindFragDataLocationIndexed
djsollen@google.come32b5832011-06-13 16:58:40 +0000135 GrGLInterface::kStaticInitEndGuard
136 };
137 static bool host_StubGL_initialized = false;
138 if (!host_StubGL_initialized) {
139 GrGLSetGLInterface(&cmd_buffer_interface);
140 host_StubGL_initialized = true;
141 }
142}