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

Side by Side Diff: ui/gfx/gl/gl_interface.h

Issue 10392068: ui: Move gl/ directory out of gfx/, up to ui/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix mac_rel Created 8 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « ui/gfx/gl/gl_implementation_win.cc ('k') | ui/gfx/gl/gl_interface.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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_
OLDNEW
« no previous file with comments | « ui/gfx/gl/gl_implementation_win.cc ('k') | ui/gfx/gl/gl_interface.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698