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