OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_GL_GL_INTERFACE_H_ | 5 #ifndef UI_GL_GL_INTERFACE_H_ |
6 #define UI_GL_GL_INTERFACE_H_ | 6 #define UI_GL_GL_INTERFACE_H_ |
7 | 7 |
8 // This file implements glue to a GL interface so we can mock it for unit | 8 // This file implements glue to a GL interface so we can mock it for unit |
9 // testing. It has to be Desktop GL, not GLES2 as it is used to test the service | 9 // testing. It has to be Desktop GL, not GLES2 as it is used to test the service |
10 // side code. | 10 // side code. |
11 | 11 |
12 #include "ui/gl/gl_bindings.h" | 12 #include "ui/gl/gl_bindings.h" |
13 | 13 |
14 namespace gfx { | 14 namespace gfx { |
15 | 15 |
16 class GL_EXPORT GLInterface { | 16 class GL_EXPORT GLInterface { |
17 public: | 17 public: |
18 virtual ~GLInterface() {} | 18 virtual ~GLInterface() {} |
19 | 19 |
20 static void SetGLInterface(GLInterface* gl_interface); | 20 static void SetGLInterface(GLInterface* gl_interface); |
21 | 21 |
22 static GLInterface* GetGLInterface(); | 22 static GLInterface* GetGLInterface(); |
23 | 23 |
24 virtual void ActiveTexture(GLenum texture) = 0; | 24 // Include the auto-generated part of this class. We split this because |
25 | 25 // it means we can easily edit the non-auto generated parts right here in |
26 virtual void AttachShader(GLuint program, | 26 // this file instead of having to edit some template or the code generator. |
27 GLuint shader) = 0; | 27 #include "gl_interface_autogen_gl.h" |
28 | |
29 virtual void BeginQuery(GLenum target, GLuint id) = 0; | |
30 | |
31 virtual void BeginQueryARB(GLenum target, GLuint id) = 0; | |
32 | |
33 virtual void BindAttribLocation(GLuint program, | |
34 GLuint index, | |
35 const char* name) = 0; | |
36 | |
37 virtual void BindBuffer(GLenum target, GLuint buffer) = 0; | |
38 | |
39 virtual void BindFragDataLocationIndexed(GLuint program, | |
40 GLuint colorNumber, | |
41 GLuint index, | |
42 const char* name) = 0; | |
43 | |
44 virtual void BindFragDataLocation(GLuint program, | |
45 GLuint colorNumber, | |
46 const char* name) = 0; | |
47 | |
48 virtual void BindFramebufferEXT(GLenum target, GLuint framebuffer) = 0; | |
49 | |
50 virtual void BindRenderbufferEXT(GLenum target, GLuint renderbuffer) = 0; | |
51 | |
52 virtual void BindTexture(GLenum target, GLuint texture) = 0; | |
53 | |
54 virtual void BlendColor(GLclampf red, | |
55 GLclampf green, | |
56 GLclampf blue, | |
57 GLclampf alpha) = 0; | |
58 | |
59 virtual void BlendEquation(GLenum mode) = 0; | |
60 | |
61 virtual void BlendEquationSeparate(GLenum modeRGB, | |
62 GLenum modeAlpha) = 0; | |
63 | |
64 virtual void BlendFunc(GLenum sfactor, GLenum dfactor) = 0; | |
65 | |
66 virtual void BlendFuncSeparate(GLenum srcRGB, | |
67 GLenum dstRGB, | |
68 GLenum srcAlpha, | |
69 GLenum dstAlpha) = 0; | |
70 | |
71 virtual void BlitFramebufferANGLE( | |
72 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, | |
73 GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, | |
74 GLbitfield mask, GLenum filter) = 0; | |
75 | |
76 virtual void BlitFramebufferEXT( | |
77 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, | |
78 GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, | |
79 GLbitfield mask, GLenum filter) = 0; | |
80 | |
81 virtual void BufferData(GLenum target, | |
82 GLsizeiptr size, | |
83 const void* data, | |
84 GLenum usage) = 0; | |
85 | |
86 virtual void BufferSubData(GLenum target, | |
87 GLintptr offset, | |
88 GLsizeiptr size, | |
89 const void* data) = 0; | |
90 | |
91 virtual GLenum CheckFramebufferStatusEXT(GLenum target) = 0; | |
92 | |
93 virtual void Clear(GLbitfield mask) = 0; | |
94 | |
95 virtual void ClearColor(GLclampf red, | |
96 GLclampf green, | |
97 GLclampf blue, | |
98 GLclampf alpha) = 0; | |
99 | |
100 virtual void ClearDepth(GLclampd depth) = 0; | |
101 | |
102 virtual void ClearDepthf(GLclampf depth) = 0; | |
103 | |
104 virtual void ClearStencil(GLint s) = 0; | |
105 | |
106 virtual void ColorMask(GLboolean red, | |
107 GLboolean green, | |
108 GLboolean blue, | |
109 GLboolean alpha) = 0; | |
110 | |
111 virtual void CompileShader(GLuint shader) = 0; | |
112 | |
113 virtual void CompressedTexImage2D(GLenum target, | |
114 GLint level, | |
115 GLenum internalformat, | |
116 GLsizei width, GLsizei height, | |
117 GLint border, | |
118 GLsizei imageSize, | |
119 const void* data) = 0; | |
120 | |
121 virtual void CompressedTexSubImage2D(GLenum target, | |
122 GLint level, | |
123 GLint xoffset, GLint yoffset, | |
124 GLsizei width, GLsizei height, | |
125 GLenum format, | |
126 GLsizei imageSize, | |
127 const void* data) = 0; | |
128 | |
129 virtual void CopyTexImage2D(GLenum target, | |
130 GLint level, | |
131 GLenum internalformat, | |
132 GLint x, GLint y, | |
133 GLsizei width, GLsizei height, | |
134 GLint border) = 0; | |
135 | |
136 virtual void CopyTexSubImage2D(GLenum target, | |
137 GLint level, | |
138 GLint xoffset, GLint yoffset, | |
139 GLint x, GLint y, | |
140 GLsizei width, GLsizei height) = 0; | |
141 | |
142 virtual GLuint CreateProgram() = 0; | |
143 | |
144 virtual GLuint CreateShader(GLenum type) = 0; | |
145 | |
146 virtual void CullFace(GLenum mode) = 0; | |
147 | |
148 virtual void DeleteBuffersARB(GLsizei n, const GLuint* buffers) = 0; | |
149 | |
150 virtual void DeleteFramebuffersEXT(GLsizei n, const GLuint* framebuffers) = 0; | |
151 | |
152 virtual void DeleteProgram(GLuint program) = 0; | |
153 | |
154 virtual void DeleteRenderbuffersEXT(GLsizei n, | |
155 const GLuint* renderbuffers) = 0; | |
156 | |
157 virtual void DeleteQueries(GLsizei n, const GLuint* ids) = 0; | |
158 | |
159 virtual void DeleteQueriesARB(GLsizei n, const GLuint* ids) = 0; | |
160 | |
161 virtual void DeleteShader(GLuint shader) = 0; | |
162 | |
163 virtual void DeleteTextures(GLsizei n, const GLuint* textures) = 0; | |
164 | |
165 virtual void DepthFunc(GLenum func) = 0; | |
166 | |
167 virtual void DepthMask(GLboolean flag) = 0; | |
168 | |
169 virtual void DepthRange(GLclampd zNear, GLclampd zFar) = 0; | |
170 | |
171 virtual void DepthRangef(GLclampf zNear, GLclampf zFar) = 0; | |
172 | |
173 virtual void DetachShader(GLuint program, GLuint shader) = 0; | |
174 | |
175 virtual void Disable(GLenum cap) = 0; | |
176 | |
177 virtual void DisableVertexAttribArray(GLuint index) = 0; | |
178 | |
179 virtual void DrawArrays(GLenum mode, GLint first, GLsizei count) = 0; | |
180 | |
181 virtual void DrawBuffer(GLenum mode) = 0; | |
182 | |
183 virtual void DrawBuffersARB(GLsizei n, const GLenum* bufs) = 0; | |
184 | |
185 virtual void DrawElements(GLenum mode, | |
186 GLsizei count, | |
187 GLenum type, | |
188 const void* indices) = 0; | |
189 | |
190 virtual void EGLImageTargetTexture2DOES( | |
191 GLenum target, GLeglImageOES image) = 0; | |
192 | |
193 virtual void EGLImageTargetRenderbufferStorageOES( | |
194 GLenum target, GLeglImageOES image) = 0; | |
195 | |
196 virtual void Enable(GLenum cap) = 0; | |
197 | |
198 virtual void EnableVertexAttribArray(GLuint index) = 0; | |
199 | |
200 virtual void EndQuery(GLenum target) = 0; | |
201 | |
202 virtual void EndQueryARB(GLenum target) = 0; | |
203 | |
204 virtual void Finish() = 0; | |
205 | |
206 virtual void Flush() = 0; | |
207 | |
208 virtual void FramebufferRenderbufferEXT(GLenum target, | |
209 GLenum attachment, | |
210 GLenum renderbuffertarget, | |
211 GLuint renderbuffer) = 0; | |
212 | |
213 virtual void FramebufferTexture2DEXT(GLenum target, | |
214 GLenum attachment, | |
215 GLenum textarget, | |
216 GLuint texture, | |
217 GLint level) = 0; | |
218 | |
219 virtual void FrontFace(GLenum mode) = 0; | |
220 | |
221 virtual void GenBuffersARB(GLsizei n, GLuint* buffers) = 0; | |
222 | |
223 virtual void GenerateMipmapEXT(GLenum target) = 0; | |
224 | |
225 virtual void GenFramebuffersEXT(GLsizei n, GLuint* framebuffers) = 0; | |
226 | |
227 virtual void GenQueries(GLsizei n, GLuint* ids) = 0; | |
228 | |
229 virtual void GenQueriesARB(GLsizei n, GLuint* ids) = 0; | |
230 | |
231 virtual void GenRenderbuffersEXT(GLsizei n, GLuint* renderbuffers) = 0; | |
232 | |
233 virtual void GenTextures(GLsizei n, GLuint* textures) = 0; | |
234 | |
235 virtual void GetActiveAttrib(GLuint program, | |
236 GLuint index, | |
237 GLsizei bufsize, | |
238 GLsizei* length, | |
239 GLint* size, | |
240 GLenum* type, | |
241 char* name) = 0; | |
242 | |
243 virtual void GetActiveUniform(GLuint program, | |
244 GLuint index, | |
245 GLsizei bufsize, | |
246 GLsizei* length, | |
247 GLint* size, | |
248 GLenum* type, | |
249 char* name) = 0; | |
250 | |
251 virtual void GetAttachedShaders(GLuint program, | |
252 GLsizei maxcount, | |
253 GLsizei* count, | |
254 GLuint* shaders) = 0; | |
255 | |
256 virtual GLint GetAttribLocation(GLuint program, const char* name) = 0; | |
257 | |
258 virtual void GetBooleanv(GLenum pname, GLboolean* params) = 0; | |
259 | |
260 virtual void GetBufferParameteriv(GLenum target, | |
261 GLenum pname, | |
262 GLint* params) = 0; | |
263 | |
264 virtual GLenum GetError() = 0; | |
265 | |
266 virtual void GetFloatv(GLenum pname, GLfloat* params) = 0; | |
267 | |
268 virtual void GetFramebufferAttachmentParameterivEXT(GLenum target, | |
269 GLenum attachment, | |
270 GLenum pname, | |
271 GLint* params) = 0; | |
272 | |
273 virtual void GetIntegerv(GLenum pname, GLint* params) = 0; | |
274 | |
275 virtual void GetProgramBinary(GLuint program, | |
276 GLsizei bufSize, | |
277 GLsizei* length, | |
278 GLenum* binaryFormat, | |
279 GLvoid* binary) = 0; | |
280 | |
281 virtual void GetProgramiv(GLuint program, GLenum pname, GLint* params) = 0; | |
282 | |
283 // TODO(gman): Implement this | |
284 virtual void GetProgramInfoLog(GLuint program, | |
285 GLsizei bufsize, | |
286 GLsizei* length, | |
287 char* infolog) = 0; | |
288 | |
289 virtual void GetQueryiv(GLenum target, GLenum pname, GLint* params) = 0; | |
290 | |
291 virtual void GetQueryivARB(GLenum target, GLenum pname, GLint* params) = 0; | |
292 | |
293 virtual void GetQueryObjecti64v(GLuint id, GLenum pname, GLint64* params) = 0; | |
294 | |
295 virtual void GetQueryObjectiv(GLuint id, GLenum pname, GLint* params) = 0; | |
296 | |
297 virtual void GetQueryObjectui64v(GLuint id, | |
298 GLenum pname, | |
299 GLuint64* params) = 0; | |
300 | |
301 virtual void GetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params) = 0; | |
302 | |
303 virtual void GetQueryObjectuivARB(GLuint id, | |
304 GLenum pname, | |
305 GLuint* params) = 0; | |
306 | |
307 virtual void GetRenderbufferParameterivEXT(GLenum target, | |
308 GLenum pname, | |
309 GLint* params) = 0; | |
310 | |
311 virtual void GetShaderiv(GLuint shader, GLenum pname, GLint* params) = 0; | |
312 | |
313 // TODO(gman): Implement this | |
314 virtual void GetShaderInfoLog(GLuint shader, | |
315 GLsizei bufsize, | |
316 GLsizei* length, | |
317 char* infolog) = 0; | |
318 | |
319 virtual void GetShaderPrecisionFormat(GLenum shadertype, | |
320 GLenum precisiontype, | |
321 GLint* range, | |
322 GLint* precision) = 0; | |
323 | |
324 // TODO(gman): Implement this | |
325 virtual void GetShaderSource(GLuint shader, | |
326 GLsizei bufsize, | |
327 GLsizei* length, | |
328 char* source) = 0; | |
329 | |
330 virtual const GLubyte* GetString(GLenum name) = 0; | |
331 | |
332 virtual void GetTexLevelParameterfv(GLenum target, | |
333 GLint level, | |
334 GLenum pname, | |
335 GLfloat* params) = 0; | |
336 | |
337 virtual void GetTexLevelParameteriv(GLenum target, | |
338 GLint level, | |
339 GLenum pname, | |
340 GLint* params) = 0; | |
341 | |
342 virtual void GetTexParameterfv(GLenum target, | |
343 GLenum pname, | |
344 GLfloat* params) = 0; | |
345 | |
346 virtual void GetTexParameteriv(GLenum target, | |
347 GLenum pname, | |
348 GLint* params) = 0; | |
349 | |
350 virtual void GetTranslatedShaderSourceANGLE(GLuint shader, | |
351 GLsizei bufsize, | |
352 GLsizei* length, | |
353 char* source) = 0; | |
354 | |
355 virtual void GetUniformfv(GLuint program, | |
356 GLint location, | |
357 GLfloat* params) = 0; | |
358 | |
359 virtual void GetUniformiv(GLuint program, | |
360 GLint location, | |
361 GLint* params) = 0; | |
362 | |
363 virtual GLint GetUniformLocation(GLuint program, const char* name) = 0; | |
364 | |
365 virtual void GetVertexAttribfv(GLuint index, | |
366 GLenum pname, | |
367 GLfloat* params) = 0; | |
368 | |
369 virtual void GetVertexAttribiv(GLuint index, | |
370 GLenum pname, | |
371 GLint* params) = 0; | |
372 | |
373 virtual void GetVertexAttribPointerv(GLuint index, | |
374 GLenum pname, | |
375 void** pointer) = 0; | |
376 | |
377 virtual void Hint(GLenum target, GLenum mode) = 0; | |
378 | |
379 virtual GLboolean IsBuffer(GLuint buffer) = 0; | |
380 | |
381 virtual GLboolean IsEnabled(GLenum cap) = 0; | |
382 | |
383 virtual GLboolean IsFramebufferEXT(GLuint framebuffer) = 0; | |
384 | |
385 virtual GLboolean IsProgram(GLuint program) = 0; | |
386 | |
387 virtual GLboolean IsQueryARB(GLuint query) = 0; | |
388 | |
389 virtual GLboolean IsRenderbufferEXT(GLuint renderbuffer) = 0; | |
390 | |
391 virtual GLboolean IsShader(GLuint shader) = 0; | |
392 | |
393 virtual GLboolean IsTexture(GLuint texture) = 0; | |
394 | |
395 virtual void* MapBuffer(GLenum target, GLenum access) = 0; | |
396 | |
397 virtual void LineWidth(GLfloat width) = 0; | |
398 | |
399 virtual void LinkProgram(GLuint program) = 0; | |
400 | |
401 virtual void PixelStorei(GLenum pname, GLint param) = 0; | |
402 | |
403 virtual void PointParameteri(GLenum pname, GLint param) = 0; | |
404 | |
405 virtual void PolygonOffset(GLfloat factor, GLfloat units) = 0; | |
406 | |
407 virtual void ProgramBinary(GLuint program, | |
408 GLenum binaryFormat, | |
409 const GLvoid* binary, | |
410 GLsizei length) = 0; | |
411 | |
412 virtual void ProgramParameteri(GLuint program, GLenum pname, GLint value) = 0; | |
413 | |
414 virtual void QueryCounter(GLuint id, GLenum target) = 0; | |
415 | |
416 virtual void ReadBuffer(GLenum src) = 0; | |
417 | |
418 virtual void ReadPixels(GLint x, GLint y, | |
419 GLsizei width, GLsizei height, | |
420 GLenum format, | |
421 GLenum type, | |
422 void* pixels) = 0; | |
423 | |
424 virtual void ReleaseShaderCompiler(void) = 0; | |
425 | |
426 virtual void RenderbufferStorageEXT(GLenum target, | |
427 GLenum internalformat, | |
428 GLsizei width, GLsizei height) = 0; | |
429 | |
430 virtual void RenderbufferStorageMultisampleANGLE(GLenum target, | |
431 GLsizei samples, | |
432 GLenum internalformat, | |
433 GLsizei width, | |
434 GLsizei height) = 0; | |
435 | |
436 virtual void RenderbufferStorageMultisampleEXT(GLenum target, | |
437 GLsizei samples, | |
438 GLenum internalformat, | |
439 GLsizei width, | |
440 GLsizei height) = 0; | |
441 | |
442 virtual void SampleCoverage(GLclampf value, GLboolean invert) = 0; | |
443 | |
444 virtual void Scissor(GLint x, GLint y, GLsizei width, GLsizei height) = 0; | |
445 | |
446 virtual void ShaderBinary(GLsizei n, | |
447 const GLuint* shaders, | |
448 GLenum binaryformat, | |
449 const void* binary, | |
450 GLsizei length) = 0; | |
451 | |
452 virtual void ShaderSource(GLuint shader, | |
453 GLsizei count, | |
454 const char** str, | |
455 const GLint* length) = 0; | |
456 | |
457 virtual void StencilFunc(GLenum func, GLint ref, GLuint mask) = 0; | |
458 | |
459 virtual void StencilFuncSeparate(GLenum face, | |
460 GLenum func, | |
461 GLint ref, | |
462 GLuint mask) = 0; | |
463 | |
464 virtual void StencilMask(GLuint mask) = 0; | |
465 | |
466 virtual void StencilMaskSeparate(GLenum face, GLuint mask) = 0; | |
467 | |
468 virtual void StencilOp(GLenum fail, GLenum zfail, GLenum zpass) = 0; | |
469 | |
470 virtual void StencilOpSeparate(GLenum face, | |
471 GLenum fail, | |
472 GLenum zfail, | |
473 GLenum zpass) = 0; | |
474 | |
475 virtual void TexImage2D(GLenum target, | |
476 GLint level, | |
477 GLint internalformat, | |
478 GLsizei width, GLsizei height, | |
479 GLint border, | |
480 GLenum format, | |
481 GLenum type, | |
482 const void* pixels) = 0; | |
483 | |
484 virtual void TexParameterf(GLenum target, GLenum pname, GLfloat param) = 0; | |
485 | |
486 virtual void TexParameterfv(GLenum target, | |
487 GLenum pname, | |
488 const GLfloat* params) = 0; | |
489 | |
490 virtual void TexParameteri(GLenum target, GLenum pname, GLint param) = 0; | |
491 | |
492 virtual void TexParameteriv(GLenum target, | |
493 GLenum pname, | |
494 const GLint* params) = 0; | |
495 | |
496 virtual void TexStorage2DEXT(GLenum target, | |
497 GLsizei levels, | |
498 GLenum internalformat, | |
499 GLsizei width, | |
500 GLsizei height) = 0; | |
501 | |
502 virtual void TexSubImage2D(GLenum target, | |
503 GLint level, | |
504 GLint xoffset, GLint yoffset, | |
505 GLsizei width, GLsizei height, | |
506 GLenum format, | |
507 GLenum type, | |
508 const void* pixels) = 0; | |
509 | |
510 virtual void Uniform1f(GLint location, GLfloat x) = 0; | |
511 | |
512 virtual void Uniform1fv(GLint location, GLsizei count, const GLfloat* v) = 0; | |
513 | |
514 virtual void Uniform1i(GLint location, GLint x) = 0; | |
515 | |
516 virtual void Uniform1iv(GLint location, GLsizei count, const GLint* v) = 0; | |
517 | |
518 virtual void Uniform2f(GLint location, GLfloat x, GLfloat y) = 0; | |
519 | |
520 virtual void Uniform2fv(GLint location, GLsizei count, const GLfloat* v) = 0; | |
521 | |
522 virtual void Uniform2i(GLint location, GLint x, GLint y) = 0; | |
523 | |
524 virtual void Uniform2iv(GLint location, GLsizei count, const GLint* v) = 0; | |
525 | |
526 virtual void Uniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) = 0; | |
527 | |
528 virtual void Uniform3fv(GLint location, GLsizei count, const GLfloat* v) = 0; | |
529 | |
530 virtual void Uniform3i(GLint location, GLint x, GLint y, GLint z) = 0; | |
531 | |
532 virtual void Uniform3iv(GLint location, GLsizei count, const GLint* v) = 0; | |
533 | |
534 virtual void Uniform4f(GLint location, | |
535 GLfloat x, | |
536 GLfloat y, | |
537 GLfloat z, | |
538 GLfloat w) = 0; | |
539 | |
540 virtual void Uniform4fv(GLint location, GLsizei count, const GLfloat* v) = 0; | |
541 | |
542 virtual void Uniform4i(GLint location, | |
543 GLint x, | |
544 GLint y, | |
545 GLint z, | |
546 GLint w) = 0; | |
547 | |
548 virtual void Uniform4iv(GLint location, GLsizei count, const GLint* v) = 0; | |
549 | |
550 virtual void UniformMatrix2fv(GLint location, | |
551 GLsizei count, | |
552 GLboolean transpose, | |
553 const GLfloat* value) = 0; | |
554 | |
555 virtual void UniformMatrix3fv(GLint location, | |
556 GLsizei count, | |
557 GLboolean transpose, | |
558 const GLfloat* value) = 0; | |
559 | |
560 virtual void UniformMatrix4fv(GLint location, | |
561 GLsizei count, | |
562 GLboolean transpose, | |
563 const GLfloat* value) = 0; | |
564 | |
565 virtual GLboolean UnmapBuffer(GLenum target) = 0; | |
566 | |
567 virtual void UseProgram(GLuint program) = 0; | |
568 | |
569 virtual void ValidateProgram(GLuint program) = 0; | |
570 | |
571 virtual void VertexAttrib1f(GLuint indx, GLfloat x) = 0; | |
572 | |
573 virtual void VertexAttrib1fv(GLuint indx, const GLfloat* values) = 0; | |
574 | |
575 virtual void VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) = 0; | |
576 | |
577 virtual void VertexAttrib2fv(GLuint indx, const GLfloat* values) = 0; | |
578 | |
579 virtual void VertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) = 0; | |
580 | |
581 virtual void VertexAttrib3fv(GLuint indx, const GLfloat* values) = 0; | |
582 | |
583 virtual void VertexAttrib4f(GLuint indx, | |
584 GLfloat x, | |
585 GLfloat y, | |
586 GLfloat z, | |
587 GLfloat w) = 0; | |
588 | |
589 virtual void VertexAttrib4fv(GLuint indx, const GLfloat* values) = 0; | |
590 | |
591 virtual void VertexAttribPointer(GLuint indx, | |
592 GLint size, | |
593 GLenum type, | |
594 GLboolean normalized, | |
595 GLsizei stride, | |
596 const void* ptr) = 0; | |
597 | |
598 virtual void Viewport(GLint x, GLint y, GLsizei width, GLsizei height) = 0; | |
599 | |
600 virtual void SwapBuffers() = 0; | |
601 | |
602 virtual GLuint GetMaxValueInBufferCHROMIUM(GLuint buffer_id, | |
603 GLsizei count, | |
604 GLenum type, | |
605 GLuint offset) = 0; | |
606 | |
607 virtual void GenFencesNV(GLsizei n, GLuint *fences) = 0; | |
608 | |
609 virtual void DeleteFencesNV(GLsizei n, const GLuint *fences) = 0; | |
610 | |
611 virtual void SetFenceNV(GLuint fence, GLenum condition) = 0; | |
612 | |
613 virtual GLboolean TestFenceNV(GLuint fence) = 0; | |
614 | |
615 virtual void FinishFenceNV(GLuint fence) = 0; | |
616 | |
617 virtual GLboolean IsFenceNV(GLuint fence) = 0; | |
618 | |
619 virtual void GetFenceivNV(GLuint fence, GLenum pname, GLint *params) = 0; | |
620 | |
621 virtual void SetSurfaceCHROMIUM(GLuint id) = 0; | |
622 | |
623 virtual GLenum GetGraphicsResetStatusARB() = 0; | |
624 | |
625 virtual GLsync FenceSync(GLenum condition, GLbitfield flags) = 0; | |
626 | |
627 virtual void DeleteSync(GLsync sync) = 0; | |
628 | |
629 virtual void GetSynciv(GLsync sync, | |
630 GLenum pname, | |
631 GLsizei bufSize, | |
632 GLsizei* length, | |
633 GLint* values) = 0; | |
634 | |
635 virtual void DrawArraysInstancedANGLE(GLenum mode, | |
636 GLint first, | |
637 GLsizei count, | |
638 GLsizei primcount) = 0; | |
639 | |
640 virtual void DrawElementsInstancedANGLE(GLenum mode, | |
641 GLsizei count, | |
642 GLenum type, | |
643 const void* indices, | |
644 GLsizei primcount) = 0; | |
645 | |
646 virtual void VertexAttribDivisorANGLE(GLuint index, GLuint divisor) = 0; | |
647 | |
648 virtual void GenVertexArraysOES(GLsizei n, GLuint* arrays) = 0; | |
649 | |
650 virtual void DeleteVertexArraysOES(GLsizei n, const GLuint* array) = 0; | |
651 | |
652 virtual void BindVertexArrayOES(GLuint array) = 0; | |
653 | |
654 virtual GLboolean IsVertexArrayOES(GLuint array) = 0; | |
655 | 28 |
656 private: | 29 private: |
657 static GLInterface* interface_; | 30 static GLInterface* interface_; |
658 }; | 31 }; |
659 | 32 |
660 } // namespace gfx | 33 } // namespace gfx |
661 | 34 |
662 #endif // UI_GL_GL_INTERFACE_H_ | 35 #endif // UI_GL_GL_INTERFACE_H_ |
OLD | NEW |