Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Side by Side Diff: ui/gl/gl_stub_api.cc

Issue 2136223002: Introduce GLStubApi (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ui/gl/gl_stub_api.h"
6
7 namespace gl {
8
9 namespace {
10
11 void GenHelper(GLsizei count, GLuint* objects) {
12 for (GLsizei i = 0; i < count; ++i)
13 objects[i] = i + 1;
14 }
15
16 } // anonymous namespace
17
18 GLenum GLStubApi::glCheckFramebufferStatusEXTFn(GLenum target) {
19 return GL_FRAMEBUFFER_COMPLETE;
20 }
21
22 GLuint GLStubApi::glCreateProgramFn(void) {
23 return 1;
24 }
25
26 GLuint GLStubApi::glCreateShaderFn(GLenum type) {
27 return 2;
28 }
29
30 GLsync GLStubApi::glFenceSyncFn(GLenum condition, GLbitfield flags) {
31 return reinterpret_cast<GLsync>(1);
32 }
33
34 void GLStubApi::glGenBuffersARBFn(GLsizei n, GLuint* buffers) {
35 GenHelper(n, buffers);
36 }
37
38 void GLStubApi::glGenerateMipmapEXTFn(GLenum target) {}
39
40 void GLStubApi::glGenFencesAPPLEFn(GLsizei n, GLuint* fences) {
41 GenHelper(n, fences);
42 }
43
44 void GLStubApi::glGenFencesNVFn(GLsizei n, GLuint* fences) {
45 GenHelper(n, fences);
46 }
47
48 void GLStubApi::glGenFramebuffersEXTFn(GLsizei n, GLuint* framebuffers) {
49 GenHelper(n, framebuffers);
50 }
51
52 GLuint GLStubApi::glGenPathsNVFn(GLsizei range) {
53 return 1;
54 }
55
56 void GLStubApi::glGenQueriesFn(GLsizei n, GLuint* ids) {
57 GenHelper(n, ids);
58 }
59
60 void GLStubApi::glGenRenderbuffersEXTFn(GLsizei n, GLuint* renderbuffers) {
61 GenHelper(n, renderbuffers);
62 }
63
64 void GLStubApi::glGenSamplersFn(GLsizei n, GLuint* samplers) {
65 GenHelper(n, samplers);
66 }
67
68 void GLStubApi::glGenTexturesFn(GLsizei n, GLuint* textures) {
69 GenHelper(n, textures);
70 }
71
72 void GLStubApi::glGenTransformFeedbacksFn(GLsizei n, GLuint* ids) {
73 GenHelper(n, ids);
74 }
75
76 void GLStubApi::glGenVertexArraysOESFn(GLsizei n, GLuint* arrays) {
77 GenHelper(n, arrays);
78 }
79
80 void GLStubApi::glGetIntegervFn(GLenum pname, GLint* params) {
81 // We need some values to be large enough to initialize ContextGroup.
82 switch (pname) {
83 default:
84 *params = 1;
85 break;
86 case GL_MAX_RENDERBUFFER_SIZE:
87 *params = 512;
88 break;
89 case GL_MAX_SAMPLES:
90 *params = 4;
91 break;
92 case GL_MAX_COLOR_ATTACHMENTS_EXT:
93 *params = 4;
94 break;
95 case GL_MAX_DRAW_BUFFERS_ARB:
96 *params = 4;
97 break;
98 case GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:
99 *params = 4;
100 break;
101 case GL_MAX_UNIFORM_BUFFER_BINDINGS:
102 *params = 24;
103 break;
104 case GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT:
105 *params = 256;
106 break;
107 case GL_MAX_VERTEX_ATTRIBS:
108 *params = 8;
109 break;
110 case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:
111 *params = 8;
112 break;
113 case GL_MAX_TEXTURE_IMAGE_UNITS:
114 *params = 8;
115 break;
116 case GL_MAX_TEXTURE_SIZE:
117 *params = 2048;
118 break;
119 case GL_MAX_CUBE_MAP_TEXTURE_SIZE:
120 *params = 2048;
121 break;
122 case GL_MAX_3D_TEXTURE_SIZE:
123 *params = 256;
124 break;
125 case GL_MAX_ARRAY_TEXTURE_LAYERS:
126 *params = 256;
127 break;
128 case GL_MAX_VARYING_VECTORS:
129 *params = 8;
130 break;
131 case GL_MAX_VERTEX_UNIFORM_VECTORS:
132 *params = 128;
133 break;
134 case GL_MAX_FRAGMENT_UNIFORM_VECTORS:
135 *params = 16;
136 break;
137 case GL_MAX_VERTEX_OUTPUT_COMPONENTS:
138 *params = 64;
139 break;
140 case GL_MAX_FRAGMENT_INPUT_COMPONENTS:
141 *params = 60;
142 break;
143 case GL_MAX_PROGRAM_TEXEL_OFFSET:
144 *params = 7;
145 break;
146 case GL_MIN_PROGRAM_TEXEL_OFFSET:
147 *params = -8;
148 break;
149 case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS:
150 *params = 32;
151 break;
152 case GL_MAX_VIEWPORT_DIMS:
153 *params = 1024 << 8;
154 break;
155 case GL_ALPHA_BITS:
156 *params = 8;
157 break;
158 case GL_DEPTH_BITS:
159 *params = 24;
160 break;
161 case GL_STENCIL_BITS:
162 *params = 8;
163 break;
164 case GL_TEXTURE_BINDING_2D:
165 *params = 1;
166 break;
167 case GL_FRAMEBUFFER_BINDING:
168 *params = 1;
169 break;
170 case GL_IMPLEMENTATION_COLOR_READ_TYPE:
171 *params = GL_UNSIGNED_BYTE;
172 break;
173 case GL_IMPLEMENTATION_COLOR_READ_FORMAT:
174 *params = GL_RGBA;
175 break;
176 }
177 }
178
179 void GLStubApi::glGetProgramivFn(GLuint program, GLenum pname, GLint* params) {
180 switch (pname) {
181 case GL_LINK_STATUS:
182 *params = GL_TRUE;
183 break;
184 case GL_VALIDATE_STATUS:
185 *params = GL_TRUE;
186 break;
187 default:
188 break;
189 }
190 }
191
192 void GLStubApi::glGetShaderivFn(GLuint shader, GLenum pname, GLint* params) {
193 switch (pname) {
194 case GL_COMPILE_STATUS:
195 *params = GL_TRUE;
196 break;
197 default:
198 break;
199 }
200 }
201
202 const GLubyte* GLStubApi::glGetStringFn(GLenum name) {
203 switch (name) {
204 case GL_RENDERER:
205 default:
206 return reinterpret_cast<const GLubyte*>("");
207 case GL_VERSION:
208 return reinterpret_cast<const GLubyte*>("OpenGL ES 3.0");
209 case GL_EXTENSIONS:
210 return reinterpret_cast<const GLubyte*>("GL_EXT_framebuffer_object");
211 }
212 }
213
214 const GLubyte* GLStubApi::glGetStringiFn(GLenum name, GLuint index) {
215 return reinterpret_cast<const GLubyte*>("");
216 }
217
218 GLboolean GLStubApi::glIsBufferFn(GLuint buffer) {
219 return GL_TRUE;
220 }
221
222 GLboolean GLStubApi::glIsEnabledFn(GLenum cap) {
223 return GL_TRUE;
224 }
225
226 GLboolean GLStubApi::glIsFenceAPPLEFn(GLuint fence) {
227 return GL_TRUE;
228 }
229
230 GLboolean GLStubApi::glIsFenceNVFn(GLuint fence) {
231 return GL_TRUE;
232 }
233
234 GLboolean GLStubApi::glIsFramebufferEXTFn(GLuint framebuffer) {
235 return GL_TRUE;
236 }
237
238 GLboolean GLStubApi::glIsPathNVFn(GLuint path) {
239 return GL_TRUE;
240 }
241
242 GLboolean GLStubApi::glIsProgramFn(GLuint program) {
243 return GL_TRUE;
244 }
245
246 GLboolean GLStubApi::glIsQueryFn(GLuint query) {
247 return GL_TRUE;
248 }
249
250 GLboolean GLStubApi::glIsRenderbufferEXTFn(GLuint renderbuffer) {
251 return GL_TRUE;
252 }
253
254 GLboolean GLStubApi::glIsSamplerFn(GLuint sampler) {
255 return GL_TRUE;
256 }
257
258 GLboolean GLStubApi::glIsShaderFn(GLuint shader) {
259 return GL_TRUE;
260 }
261
262 GLboolean GLStubApi::glIsSyncFn(GLsync sync) {
263 return GL_TRUE;
264 }
265
266 GLboolean GLStubApi::glIsTextureFn(GLuint texture) {
267 return GL_TRUE;
268 }
269
270 GLboolean GLStubApi::glIsTransformFeedbackFn(GLuint id) {
271 return GL_TRUE;
272 }
273
274 GLboolean GLStubApi::glIsVertexArrayOESFn(GLuint array) {
275 return GL_TRUE;
276 }
277
278 GLboolean GLStubApi::glTestFenceAPPLEFn(GLuint fence) {
279 return GL_TRUE;
280 }
281
282 GLboolean GLStubApi::glTestFenceNVFn(GLuint fence) {
283 return GL_TRUE;
284 }
285
286 GLboolean GLStubApi::glUnmapBufferFn(GLenum target) {
287 return GL_TRUE;
288 }
289
290 GLenum GLStubApi::glWaitSyncFn(GLsync sync,
291 GLbitfield flags,
292 GLuint64 timeout) {
293 return GL_TRUE;
294 }
295
296 } // namespace gl
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698