blob: 033a93cd2e5f878723c8d0799b3050d3b11a4872 [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
bsalomon@google.comc49d66b2011-08-03 14:22:30 +000080 NULL, // glReadBuffer
djsollen@google.come32b5832011-06-13 16:58:40 +000081 glReadPixels,
82 glScissor,
83 NULL, // glShadeModel
84 glShaderSource,
85 glStencilFunc,
86 glStencilFuncSeparate,
87 glStencilMask,
88 glStencilMaskSeparate,
89 glStencilOp,
90 glStencilOpSeparate,
91 NULL, // glTexCoordPointer
92 NULL, // glTexEnvi
93 glTexImage2D,
94 glTexParameteri,
95 glTexSubImage2D,
96 glUniform1f,
97 glUniform1i,
98 glUniform1fv,
99 glUniform1iv,
100 glUniform2f,
101 glUniform2i,
102 glUniform2fv,
103 glUniform2iv,
104 glUniform3f,
105 glUniform3i,
106 glUniform3fv,
107 glUniform3iv,
108 glUniform4f,
109 glUniform4i,
110 glUniform4fv,
111 glUniform4iv,
112 glUniformMatrix2fv,
113 glUniformMatrix3fv,
114 glUniformMatrix4fv,
115 glUseProgram,
116 glVertexAttrib4fv,
117 glVertexAttribPointer,
118 NULL, // glVertexPointer
119 glViewport,
120 glBindFramebuffer,
121 glBindRenderbuffer,
122 glCheckFramebufferStatus,
123 glDeleteFramebuffers,
124 glDeleteRenderbuffers,
125 glFramebufferRenderbuffer,
126 glFramebufferTexture2D,
127 glGenFramebuffers,
128 glGenRenderbuffers,
bsalomon@google.comcee661a2011-07-26 12:32:36 +0000129 glGetFramebufferAttachmentParameteriv,
130 glGetRenderbufferParameteriv,
djsollen@google.come32b5832011-06-13 16:58:40 +0000131 glRenderbufferStorage,
132 NULL, // glRenderbufferStorageMultisampleEXT,
133 NULL, // glBlitFramebufferEXT,
134 NULL, // glResolveMultisampleFramebuffer
135 glMapBufferOES,
136 glUnmapBufferOES,
bsalomon@google.comcee661a2011-07-26 12:32:36 +0000137 NULL, // glBindFragDataLocationIndexed
djsollen@google.come32b5832011-06-13 16:58:40 +0000138 GrGLInterface::kStaticInitEndGuard
139 };
140 static bool host_StubGL_initialized = false;
141 if (!host_StubGL_initialized) {
142 GrGLSetGLInterface(&cmd_buffer_interface);
143 host_StubGL_initialized = true;
144 }
145}