Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
GrGLInterfaceAutogen.cpp
Go to the documentation of this file.
1/*
2 * Copyright 2011 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 *
7 * THIS FILE IS AUTOGENERATED
8 * Make edits to tools/gpu/gl/interface/templates.go or they will
9 * be overwritten.
10 */
11
15
16#include <stdio.h>
17
21
22#if GR_GL_CHECK_ERROR
23static const char* get_error_string(GrGLenum err) {
24 switch (err) {
25 case GR_GL_NO_ERROR:
26 return "";
28 return "Invalid Enum";
30 return "Invalid Value";
32 return "Invalid Operation";
34 return "Out of Memory";
36 return "Context Lost";
37 }
38 return "Unknown";
39}
40
41GrGLenum GrGLInterface::checkError(const char* location, const char* call) const {
43 if (error != GR_GL_NO_ERROR && !fSuppressErrorLogging) {
44 SkDebugf("---- glGetError 0x%x(%s)", error, get_error_string(error));
45 if (location) {
46 SkDebugf(" at\n\t%s", location);
47 }
48 if (call) {
49 SkDebugf("\n\t\t%s", call);
50 }
51 SkDebugf("\n");
53 fOOMed = true;
54 }
55 }
56 return error;
57}
58
59bool GrGLInterface::checkAndResetOOMed() const {
60 if (fOOMed) {
61 fOOMed = false;
62 return true;
63 }
64 return false;
65}
66
67void GrGLInterface::suppressErrorLogging() { fSuppressErrorLogging = true; }
68#endif
69
70#define RETURN_FALSE_INTERFACE \
71 SkDEBUGF("%s:%d GrGLInterface::validate() failed.\n", __FILE__, __LINE__); \
72 return false
73
75
78 }
79
82 }
83
84 GrGLVersion glVer = GrGLGetVersion(this);
85 if (GR_GL_INVALID_VER == glVer) {
87 }
88 // Autogenerated content follows
182 }
183
184 if (GR_IS_GR_GL(fStandard)) {
185 if (!fFunctions.fDrawBuffer ||
188 }
189 }
190
191 if ((GR_IS_GR_GL(fStandard) && (
192 (glVer >= GR_GL_VER(3,0)))) ||
194 (glVer >= GR_GL_VER(3,0)))) ||
196 (glVer >= GR_GL_VER(2,0))))) {
197 if (!fFunctions.fGetStringi) {
199 }
200 }
201
202 if ((GR_IS_GR_GL(fStandard) && (
203 (glVer >= GR_GL_VER(4,2)))) ||
205 (glVer >= GR_GL_VER(3,1))))) {
206 // all functions were marked optional or test_only
207 }
208
209 if ((GR_IS_GR_GL(fStandard) && (
210 (glVer >= GR_GL_VER(3,0)) ||
211 fExtensions.has("GL_ARB_vertex_array_object") ||
212 fExtensions.has("GL_APPLE_vertex_array_object"))) ||
214 (glVer >= GR_GL_VER(3,0)) ||
215 fExtensions.has("GL_OES_vertex_array_object"))) ||
217 (glVer >= GR_GL_VER(2,0)) ||
218 fExtensions.has("GL_OES_vertex_array_object") ||
219 fExtensions.has("OES_vertex_array_object")))) {
224 }
225 }
226
227 if ((GR_IS_GR_GL(fStandard) && (
228 (glVer >= GR_GL_VER(4,0)) ||
229 fExtensions.has("GL_ARB_tessellation_shader"))) ||
231 (glVer >= GR_GL_VER(3,2)) ||
232 fExtensions.has("GL_OES_tessellation_shader")))) {
235 }
236 }
237
238 if ((GR_IS_GR_GL(fStandard) && (
239 (glVer >= GR_GL_VER(3,0)))) ||
241 (glVer >= GR_GL_VER(3,0) && fExtensions.has("GL_EXT_blend_func_extended"))))) {
244 }
245 }
246
247 if ((GR_IS_GR_GL(fStandard) && (
248 (glVer >= GR_GL_VER(3,3)) ||
249 fExtensions.has("GL_ARB_blend_func_extended"))) ||
251 (glVer >= GR_GL_VER(3,0) && fExtensions.has("GL_EXT_blend_func_extended"))))) {
254 }
255 }
256
257 if ((GR_IS_GR_GL(fStandard) && (
258 fExtensions.has("GL_KHR_blend_equation_advanced") ||
259 fExtensions.has("GL_NV_blend_equation_advanced"))) ||
261 fExtensions.has("GL_KHR_blend_equation_advanced") ||
262 fExtensions.has("GL_NV_blend_equation_advanced")))) {
265 }
266 }
267
268 if ((GR_IS_GR_GL(fStandard) && (
269 (glVer >= GR_GL_VER(4,4)) ||
270 fExtensions.has("GL_ARB_clear_texture"))) ||
272 fExtensions.has("GL_EXT_clear_texture")))) {
273 // all functions were marked optional or test_only
274 }
275
276 if ((GR_IS_GR_GL(fStandard) && (
277 (glVer >= GR_GL_VER(3,1)) ||
278 fExtensions.has("GL_ARB_draw_instanced") ||
279 fExtensions.has("GL_EXT_draw_instanced"))) ||
281 (glVer >= GR_GL_VER(3,0)) ||
282 fExtensions.has("GL_EXT_draw_instanced") ||
283 fExtensions.has("GL_ANGLE_instanced_arrays"))) ||
285 (glVer >= GR_GL_VER(2,0))))) {
289 }
290 }
291
292 if ((GR_IS_GR_GL(fStandard) && (
293 (glVer >= GR_GL_VER(4,2)) ||
294 fExtensions.has("GL_ARB_base_instance"))) ||
296 fExtensions.has("GL_EXT_base_instance") ||
297 fExtensions.has("GL_ANGLE_base_vertex_base_instance"))) ||
299 fExtensions.has("GL_WEBGL_draw_instanced_base_vertex_base_instance")))) {
303 }
304 }
305
306 if (GR_IS_GR_GL(fStandard) ||
308 (glVer >= GR_GL_VER(3,0)))) ||
310 (glVer >= GR_GL_VER(2,0))))) {
314 }
315 }
316
317 if ((GR_IS_GR_GL(fStandard) && (
318 (glVer >= GR_GL_VER(4,0)) ||
319 fExtensions.has("GL_ARB_draw_indirect"))) ||
321 (glVer >= GR_GL_VER(3,1))))) {
325 }
326 }
327
328 if ((GR_IS_GR_GL_ES(fStandard) && (
329 fExtensions.has("GL_ANGLE_base_vertex_base_instance"))) ||
331 fExtensions.has("GL_WEBGL_multi_draw_instanced_base_vertex_base_instance")))) {
335 }
336 }
337
338 if (GR_IS_GR_GL(fStandard) ||
340 (glVer >= GR_GL_VER(3,0)))) ||
342 (glVer >= GR_GL_VER(2,0))))) {
345 }
346 }
347
348 if ((GR_IS_GR_GL(fStandard) && (
349 (glVer >= GR_GL_VER(3,2)) ||
350 fExtensions.has("GL_ARB_texture_multisample"))) ||
352 (glVer >= GR_GL_VER(3,1))))) {
355 }
356 }
357
358 if (GR_IS_GR_GL(fStandard) ||
360 (glVer >= GR_GL_VER(3,1))))) {
363 }
364 }
365
366 if ((GR_IS_GR_GL(fStandard) && (
367 (glVer >= GR_GL_VER(4,3)) ||
368 fExtensions.has("GL_ARB_multi_draw_indirect"))) ||
370 fExtensions.has("GL_EXT_multi_draw_indirect")))) {
374 }
375 }
376
377 if ((GR_IS_GR_GL(fStandard) && (
378 (glVer >= GR_GL_VER(3,1)))) ||
380 (glVer >= GR_GL_VER(3,2)) ||
381 fExtensions.has("GL_OES_texture_buffer") ||
382 fExtensions.has("GL_EXT_texture_buffer")))) {
383 if (!fFunctions.fTexBuffer) {
385 }
386 }
387
388 if ((GR_IS_GR_GL(fStandard) && (
389 (glVer >= GR_GL_VER(4,3)))) ||
391 (glVer >= GR_GL_VER(3,2)) ||
392 fExtensions.has("GL_OES_texture_buffer") ||
393 fExtensions.has("GL_EXT_texture_buffer")))) {
396 }
397 }
398
399 if ((GR_IS_GR_GL(fStandard) && (
400 (glVer >= GR_GL_VER(4,2)) ||
401 fExtensions.has("GL_ARB_texture_storage") ||
402 fExtensions.has("GL_EXT_texture_storage"))) ||
404 (glVer >= GR_GL_VER(3,0)) ||
405 fExtensions.has("GL_EXT_texture_storage"))) ||
407 (glVer >= GR_GL_VER(2,0))))) {
410 }
411 }
412
413 if ((GR_IS_GR_GL(fStandard) && (
414 (glVer >= GR_GL_VER(4,5)) ||
415 fExtensions.has("GL_ARB_texture_barrier") ||
416 fExtensions.has("GL_NV_texture_barrier"))) ||
418 fExtensions.has("GL_NV_texture_barrier")))) {
421 }
422 }
423
424 if ((GR_IS_GR_GL_ES(fStandard) && (
425 fExtensions.has("GL_EXT_discard_framebuffer")))) {
428 }
429 }
430
431 if ((GR_IS_GR_GL_ES(fStandard) && (
432 fExtensions.has("GL_QCOM_tiled_rendering")))) {
433 // all functions were marked optional or test_only
434 }
435
436 if ((GR_IS_GR_GL(fStandard) && (
437 (glVer >= GR_GL_VER(3,2)) ||
438 fExtensions.has("GL_ARB_instanced_arrays"))) ||
440 (glVer >= GR_GL_VER(3,0)) ||
441 fExtensions.has("GL_EXT_instanced_arrays") ||
442 fExtensions.has("GL_ANGLE_instanced_arrays"))) ||
444 (glVer >= GR_GL_VER(2,0))))) {
447 }
448 }
449
450 if ((GR_IS_GR_GL(fStandard) && (
451 (glVer >= GR_GL_VER(3,0)))) ||
453 (glVer >= GR_GL_VER(3,0)))) ||
455 (glVer >= GR_GL_VER(2,0))))) {
458 }
459 }
460
461 if ((GR_IS_GR_GL(fStandard) && (
462 (glVer >= GR_GL_VER(3,0)) ||
463 fExtensions.has("GL_ARB_framebuffer_object") ||
464 fExtensions.has("GL_EXT_framebuffer_object"))) ||
481 }
482 }
483
484 if ((GR_IS_GR_GL(fStandard) && (
485 (glVer >= GR_GL_VER(3,0)) ||
486 fExtensions.has("GL_ARB_framebuffer_object") ||
487 fExtensions.has("GL_EXT_framebuffer_blit"))) ||
489 (glVer >= GR_GL_VER(3,0)) ||
490 fExtensions.has("GL_NV_framebuffer_blit") ||
491 fExtensions.has("GL_CHROMIUM_framebuffer_multisample") ||
492 fExtensions.has("GL_ANGLE_framebuffer_blit"))) ||
494 (glVer >= GR_GL_VER(2,0))))) {
497 }
498 }
499
500 if ((GR_IS_GR_GL(fStandard) && (
501 (glVer >= GR_GL_VER(3,0)) ||
502 fExtensions.has("GL_ARB_framebuffer_object") ||
503 fExtensions.has("GL_EXT_framebuffer_multisample"))) ||
505 (glVer >= GR_GL_VER(3,0)) ||
506 fExtensions.has("GL_CHROMIUM_framebuffer_multisample") ||
507 fExtensions.has("GL_ANGLE_framebuffer_multisample"))) ||
509 (glVer >= GR_GL_VER(2,0))))) {
512 }
513 }
514
515 if ((GR_IS_GR_GL_ES(fStandard) && (
516 fExtensions.has("GL_CHROMIUM_map_sub")))) {
522 }
523 }
524
525 if ((GR_IS_GR_GL_ES(fStandard) && (
526 fExtensions.has("GL_EXT_multisampled_render_to_texture") ||
527 fExtensions.has("GL_IMG_multisampled_render_to_texture")))) {
530 }
531 }
532
533 if ((GR_IS_GR_GL_ES(fStandard) && (
534 fExtensions.has("GL_EXT_multisampled_render_to_texture")))) {
537 }
538 }
539
540 if ((GR_IS_GR_GL_ES(fStandard) && (
541 fExtensions.has("GL_IMG_multisampled_render_to_texture")))) {
544 }
545 }
546
547 if ((GR_IS_GR_GL_ES(fStandard) && (
548 fExtensions.has("GL_APPLE_framebuffer_multisample")))) {
552 }
553 }
554
555 if (GR_IS_GR_GL(fStandard) ||
557 fExtensions.has("GL_OES_mapbuffer")))) {
558 if (!fFunctions.fMapBuffer) {
560 }
561 }
562
563 if (GR_IS_GR_GL(fStandard) ||
565 (glVer >= GR_GL_VER(3,0)) ||
566 fExtensions.has("GL_OES_mapbuffer")))) {
569 }
570 }
571
572 if ((GR_IS_GR_GL(fStandard) && (
573 (glVer >= GR_GL_VER(3,0)) ||
574 fExtensions.has("GL_ARB_map_buffer_range"))) ||
576 (glVer >= GR_GL_VER(3,0)) ||
577 fExtensions.has("GL_EXT_map_buffer_range")))) {
581 }
582 }
583
584 if ((GR_IS_GR_GL(fStandard) && (
585 fExtensions.has("GL_EXT_debug_marker"))) ||
587 fExtensions.has("GL_EXT_debug_marker")))) {
592 }
593 }
594
595 if ((GR_IS_GR_GL(fStandard) && (
596 (glVer >= GR_GL_VER(3,1)) ||
597 fExtensions.has("GL_ARB_copy_buffer"))) ||
599 (glVer >= GR_GL_VER(3,0)) ||
600 fExtensions.has("GL_NV_copy_buffer"))) ||
602 (glVer >= GR_GL_VER(2,0))))) {
605 }
606 }
607
608 if ((GR_IS_GR_GL(fStandard) && (
609 (glVer >= GR_GL_VER(4,3)) ||
610 fExtensions.has("GL_KHR_debug"))) ||
612 fExtensions.has("GL_KHR_debug")))) {
621 }
622 }
623
624 if ((GR_IS_GR_GL_ES(fStandard) && (
625 fExtensions.has("GL_CHROMIUM_bind_uniform_location")))) {
628 }
629 }
630
631 if ((GR_IS_GR_GL(fStandard) && (
632 fExtensions.has("GL_EXT_window_rectangles"))) ||
634 fExtensions.has("GL_EXT_window_rectangles")))) {
637 }
638 }
639
640 if ((GR_IS_GR_GL(fStandard) && (
641 (glVer >= GR_GL_VER(3,2)) ||
642 fExtensions.has("GL_ARB_sync"))) ||
644 (glVer >= GR_GL_VER(3,0)) ||
645 fExtensions.has("GL_APPLE_sync"))) ||
647 (glVer >= GR_GL_VER(2,0))))) {
654 }
655 }
656
657 if ((GR_IS_GR_GL(fStandard) && (
658 (glVer >= GR_GL_VER(4,2)) ||
659 fExtensions.has("GL_ARB_internalformat_query"))) ||
661 (glVer >= GR_GL_VER(3,0))))) {
664 }
665 }
666
667 if ((GR_IS_GR_GL(fStandard) && (
668 (glVer >= GR_GL_VER(4,1)))) ||
670 (glVer >= GR_GL_VER(3,0)) ||
671 fExtensions.has("GL_OES_get_program_binary")))) {
675 }
676 }
677
678 if ((GR_IS_GR_GL(fStandard) && (
679 (glVer >= GR_GL_VER(4,1)))) ||
681 (glVer >= GR_GL_VER(3,0))))) {
684 }
685 }
686
687 if ((GR_IS_GR_GL(fStandard) && (
688 (glVer >= GR_GL_VER(3,2)) ||
689 fExtensions.has("GL_ARB_sampler_objects"))) ||
691 (glVer >= GR_GL_VER(3,0)))) ||
693 (glVer >= GR_GL_VER(2,0))))) {
701 }
702 }
703
704 if (GR_IS_GR_GL(fStandard)) {
707 }
708 }
709
710 if (GR_IS_GR_GL(fStandard) ||
712 (glVer >= GR_GL_VER(3,0)) ||
713 fExtensions.has("GL_EXT_occlusion_query_boolean")))) {
714#if defined(GR_TEST_UTILS)
715 if (!fFunctions.fBeginQuery ||
722 }
723#endif
724 // all functions were marked optional or test_only
725 }
726
727 if ((GR_IS_GR_GL(fStandard) && (
728 (glVer >= GR_GL_VER(3,3)) ||
729 fExtensions.has("GL_ARB_timer_query") ||
730 fExtensions.has("GL_EXT_timer_query")))) {
734 }
735 }
736
737 if ((GR_IS_GR_GL(fStandard) && (
738 (glVer >= GR_GL_VER(3,3)) ||
739 fExtensions.has("GL_ARB_timer_query")))) {
742 }
743 }
744
745 if ((GR_IS_GR_GL(fStandard) && (
746 (glVer >= GR_GL_VER(4,3)) ||
747 fExtensions.has("GL_ARB_invalidate_subdata"))) ||
749 fExtensions.has("GL_ARB_invalidate_subdata")))) {
755 }
756 }
757
758 if ((GR_IS_GR_GL(fStandard) && (
759 (glVer >= GR_GL_VER(4,3)) ||
760 fExtensions.has("GL_ARB_invalidate_subdata"))) ||
762 (glVer >= GR_GL_VER(3,0)) ||
763 fExtensions.has("GL_ARB_invalidate_subdata"))) ||
765 (glVer >= GR_GL_VER(2,0))))) {
769 }
770 }
771
772 if ((GR_IS_GR_GL(fStandard) && (
773 (glVer >= GR_GL_VER(4,3)) ||
774 fExtensions.has("GL_ARB_ES2_compatibility"))) ||
779 }
780 }
781
782 if ((GR_IS_GR_GL(fStandard) && (
783 fExtensions.has("GL_NV_fence"))) ||
785 fExtensions.has("GL_NV_fence")))) {
792 }
793 }
794
795
796 // End autogenerated content
797 return true;
798}
799
800#if defined(GR_TEST_UTILS)
801
802void GrGLInterface::abandon() const {
803 const_cast<GrGLInterface*>(this)->fFunctions = GrGLInterface::Functions();
804}
805
806#endif // defined(GR_TEST_UTILS)
#define GR_GL_OUT_OF_MEMORY
#define GR_GL_INVALID_ENUM
#define GR_GL_CONTEXT_LOST
#define GR_GL_NO_ERROR
#define GR_GL_INVALID_OPERATION
#define GR_GL_INVALID_VALUE
#define RETURN_FALSE_INTERFACE
@ kNone_GrGLStandard
Definition GrGLTypes.h:20
#define GR_IS_GR_WEBGL(standard)
Definition GrGLTypes.h:50
unsigned int GrGLenum
Definition GrGLTypes.h:102
#define GR_IS_GR_GL(standard)
Definition GrGLTypes.h:48
#define GR_IS_GR_GL_ES(standard)
Definition GrGLTypes.h:49
GrGLVersion GrGLGetVersion(const GrGLInterface *gl)
Definition GrGLUtil.cpp:109
#define GR_GL_INVALID_VER
Definition GrGLUtil.h:37
#define GR_GL_VER(major, minor)
Definition GrGLUtil.h:26
uint32_t GrGLVersion
Definition GrGLUtil.h:22
void SK_SPI SkDebugf(const char format[],...) SK_PRINTF_LIKE(1
bool has(const char[]) const
bool isInitialized() const
const uint8_t uint32_t uint32_t GError ** error
GrGLFunction< GrGLGetQueryObjectuivFn > fGetQueryObjectuiv
GrGLFunction< GrGLBufferSubDataFn > fBufferSubData
GrGLFunction< GrGLEnableVertexAttribArrayFn > fEnableVertexAttribArray
GrGLFunction< GrGLGenerateMipmapFn > fGenerateMipmap
GrGLFunction< GrGLBindSamplerFn > fBindSampler
GrGLFunction< GrGLDisableFn > fDisable
GrGLFunction< GrGLGetQueryObjectivFn > fGetQueryObjectiv
GrGLFunction< GrGLBlitFramebufferFn > fBlitFramebuffer
GrGLFunction< GrGLBlendBarrierFn > fBlendBarrier
GrGLFunction< GrGLDrawElementsIndirectFn > fDrawElementsIndirect
GrGLFunction< GrGLDrawElementsFn > fDrawElements
GrGLFunction< GrGLMapBufferSubDataFn > fMapBufferSubData
GrGLFunction< GrGLBeginQueryFn > fBeginQuery
GrGLFunction< GrGLVertexAttrib2fvFn > fVertexAttrib2fv
GrGLFunction< GrGLSamplerParameterfFn > fSamplerParameterf
GrGLFunction< GrGLDiscardFramebufferFn > fDiscardFramebuffer
GrGLFunction< GrGLUniform3fvFn > fUniform3fv
GrGLFunction< GrGLBlendColorFn > fBlendColor
GrGLFunction< GrGLDepthMaskFn > fDepthMask
GrGLFunction< GrGLClientWaitSyncFn > fClientWaitSync
GrGLFunction< GrGLGetBufferParameterivFn > fGetBufferParameteriv
GrGLFunction< GrGLUnmapBufferFn > fUnmapBuffer
GrGLFunction< GrGLIsSyncFn > fIsSync
GrGLFunction< GrGLInvalidateTexSubImageFn > fInvalidateTexSubImage
GrGLFunction< GrGLInvalidateBufferDataFn > fInvalidateBufferData
GrGLFunction< GrGLFramebufferRenderbufferFn > fFramebufferRenderbuffer
GrGLFunction< GrGLGetShaderivFn > fGetShaderiv
GrGLFunction< GrGLQueryCounterFn > fQueryCounter
GrGLFunction< GrGLMultiDrawElementsInstancedBaseVertexBaseInstanceFn > fMultiDrawElementsInstancedBaseVertexBaseInstance
GrGLFunction< GrGLPixelStoreiFn > fPixelStorei
GrGLFunction< GrGLCreateProgramFn > fCreateProgram
GrGLFunction< GrGLUniform4fvFn > fUniform4fv
GrGLFunction< GrGLFinishFenceFn > fFinishFence
GrGLFunction< GrGLUniform3fFn > fUniform3f
GrGLFunction< GrGLGetUniformLocationFn > fGetUniformLocation
GrGLFunction< GrGLTexSubImage2DFn > fTexSubImage2D
GrGLFunction< GrGLMultiDrawElementsIndirectFn > fMultiDrawElementsIndirect
GrGLFunction< GrGLInvalidateSubFramebufferFn > fInvalidateSubFramebuffer
GrGLFunction< GrGLDrawRangeElementsFn > fDrawRangeElements
GrGLFunction< GrGLActiveTextureFn > fActiveTexture
GrGLFunction< GrGLReadPixelsFn > fReadPixels
GrGLFunction< GrGLVertexAttrib4fvFn > fVertexAttrib4fv
GrGLFunction< GrGLAttachShaderFn > fAttachShader
GrGLFunction< GrGLRenderbufferStorageMultisampleFn > fRenderbufferStorageMultisampleES2EXT
GrGLFunction< GrGLVertexAttribIPointerFn > fVertexAttribIPointer
GrGLFunction< GrGLMultiDrawArraysIndirectFn > fMultiDrawArraysIndirect
GrGLFunction< GrGLRenderbufferStorageMultisampleFn > fRenderbufferStorageMultisampleES2APPLE
GrGLFunction< GrGLBindFragDataLocationIndexedFn > fBindFragDataLocationIndexed
GrGLFunction< GrGLUniform2ivFn > fUniform2iv
GrGLFunction< GrGLShaderSourceFn > fShaderSource
GrGLFunction< GrGLPatchParameteriFn > fPatchParameteri
GrGLFunction< GrGLVertexAttrib3fvFn > fVertexAttrib3fv
GrGLFunction< GrGLCompileShaderFn > fCompileShader
GrGLFunction< GrGLRenderbufferStorageFn > fRenderbufferStorage
GrGLFunction< GrGLTexImage2DFn > fTexImage2D
GrGLFunction< GrGLPopDebugGroupFn > fPopDebugGroup
GrGLFunction< GrGLLinkProgramFn > fLinkProgram
GrGLFunction< GrGLGetErrorFn > fGetError
GrGLFunction< GrGLTexBufferFn > fTexBuffer
GrGLFunction< GrGLResolveMultisampleFramebufferFn > fResolveMultisampleFramebuffer
GrGLFunction< GrGLGetShaderInfoLogFn > fGetShaderInfoLog
GrGLFunction< GrGLDebugMessageCallbackFn > fDebugMessageCallback
GrGLFunction< GrGLInvalidateBufferSubDataFn > fInvalidateBufferSubData
GrGLFunction< GrGLUniformMatrix2fvFn > fUniformMatrix2fv
GrGLFunction< GrGLCullFaceFn > fCullFace
GrGLFunction< GrGLGenQueriesFn > fGenQueries
GrGLFunction< GrGLCopyBufferSubDataFn > fCopyBufferSubData
GrGLFunction< GrGLUniform2fFn > fUniform2f
GrGLFunction< GrGLUniform1fvFn > fUniform1fv
GrGLFunction< GrGLDrawElementsInstancedBaseVertexBaseInstanceFn > fDrawElementsInstancedBaseVertexBaseInstance
GrGLFunction< GrGLBindFragDataLocationFn > fBindFragDataLocation
GrGLFunction< GrGLUniform4ivFn > fUniform4iv
GrGLFunction< GrGLMapTexSubImage2DFn > fMapTexSubImage2D
GrGLFunction< GrGLDeleteVertexArraysFn > fDeleteVertexArrays
GrGLFunction< GrGLUseProgramFn > fUseProgram
GrGLFunction< GrGLDebugMessageInsertFn > fDebugMessageInsert
GrGLFunction< GrGLReadBufferFn > fReadBuffer
GrGLFunction< GrGLFrontFaceFn > fFrontFace
GrGLFunction< GrGLInvalidateFramebufferFn > fInvalidateFramebuffer
GrGLFunction< GrGLViewportFn > fViewport
GrGLFunction< GrGLTexParameterivFn > fTexParameteriv
GrGLFunction< GrGLStencilOpFn > fStencilOp
GrGLFunction< GrGLStencilOpSeparateFn > fStencilOpSeparate
GrGLFunction< GrGLTexBufferRangeFn > fTexBufferRange
GrGLFunction< GrGLGenFencesFn > fGenFences
GrGLFunction< GrGLDeleteTexturesFn > fDeleteTextures
GrGLFunction< GrGLEnableFn > fEnable
GrGLFunction< GrGLUniform2iFn > fUniform2i
GrGLFunction< GrGLGenSamplersFn > fGenSamplers
GrGLFunction< GrGLMapBufferFn > fMapBuffer
GrGLFunction< GrGLStencilFuncFn > fStencilFunc
GrGLFunction< GrGLDeleteFramebuffersFn > fDeleteFramebuffers
GrGLFunction< GrGLGenBuffersFn > fGenBuffers
GrGLFunction< GrGLDeleteSyncFn > fDeleteSync
GrGLFunction< GrGLMultiDrawArraysInstancedBaseInstanceFn > fMultiDrawArraysInstancedBaseInstance
GrGLFunction< GrGLDrawArraysInstancedFn > fDrawArraysInstanced
GrGLFunction< GrGLDrawElementsInstancedFn > fDrawElementsInstanced
GrGLFunction< GrGLUniform3iFn > fUniform3i
GrGLFunction< GrGLDeleteProgramFn > fDeleteProgram
GrGLFunction< GrGLIsTextureFn > fIsTexture
GrGLFunction< GrGLGetMultisamplefvFn > fGetMultisamplefv
GrGLFunction< GrGLDeleteShaderFn > fDeleteShader
GrGLFunction< GrGLStencilMaskSeparateFn > fStencilMaskSeparate
GrGLFunction< GrGLUniform1ivFn > fUniform1iv
GrGLFunction< GrGLDrawBufferFn > fDrawBuffer
GrGLFunction< GrGLPolygonModeFn > fPolygonMode
GrGLFunction< GrGLCopyTexSubImage2DFn > fCopyTexSubImage2D
GrGLFunction< GrGLStencilFuncSeparateFn > fStencilFuncSeparate
GrGLFunction< GrGLUnmapBufferSubDataFn > fUnmapBufferSubData
GrGLFunction< GrGLGetIntegervFn > fGetIntegerv
GrGLFunction< GrGLObjectLabelFn > fObjectLabel
GrGLFunction< GrGLFramebufferTexture2DFn > fFramebufferTexture2D
GrGLFunction< GrGLUniform2fvFn > fUniform2fv
GrGLFunction< GrGLTexParameteriFn > fTexParameteri
GrGLFunction< GrGLFlushMappedBufferRangeFn > fFlushMappedBufferRange
GrGLFunction< GrGLBufferDataFn > fBufferData
GrGLFunction< GrGLGetShaderPrecisionFormatFn > fGetShaderPrecisionFormat
GrGLFunction< GrGLVertexAttrib1fFn > fVertexAttrib1f
GrGLFunction< GrGLMapBufferRangeFn > fMapBufferRange
GrGLFunction< GrGLDeleteBuffersFn > fDeleteBuffers
GrGLFunction< GrGLScissorFn > fScissor
GrGLFunction< GrGLUniformMatrix3fvFn > fUniformMatrix3fv
GrGLFunction< GrGLBlendEquationFn > fBlendEquation
GrGLFunction< GrGLProgramBinaryFn > fProgramBinary
GrGLFunction< GrGLClearStencilFn > fClearStencil
GrGLFunction< GrGLGenVertexArraysFn > fGenVertexArrays
GrGLFunction< GrGLGetFramebufferAttachmentParameterivFn > fGetFramebufferAttachmentParameteriv
GrGLFunction< GrGLUniform4fFn > fUniform4f
GrGLFunction< GrGLGetProgramivFn > fGetProgramiv
GrGLFunction< GrGLGetFloatvFn > fGetFloatv
GrGLFunction< GrGLCompressedTexImage2DFn > fCompressedTexImage2D
GrGLFunction< GrGLGetDebugMessageLogFn > fGetDebugMessageLog
GrGLFunction< GrGLFenceSyncFn > fFenceSync
GrGLFunction< GrGLInsertEventMarkerFn > fInsertEventMarker
GrGLFunction< GrGLProgramParameteriFn > fProgramParameteri
GrGLFunction< GrGLBindVertexArrayFn > fBindVertexArray
GrGLFunction< GrGLBlendFuncFn > fBlendFunc
GrGLFunction< GrGLGetQueryObjectui64vFn > fGetQueryObjectui64v
GrGLFunction< GrGLGetProgramBinaryFn > fGetProgramBinary
GrGLFunction< GrGLBindTextureFn > fBindTexture
GrGLFunction< GrGLGetQueryivFn > fGetQueryiv
GrGLFunction< GrGLFramebufferTexture2DMultisampleFn > fFramebufferTexture2DMultisample
GrGLFunction< GrGLBindRenderbufferFn > fBindRenderbuffer
GrGLFunction< GrGLDrawBuffersFn > fDrawBuffers
GrGLFunction< GrGLColorMaskFn > fColorMask
GrGLFunction< GrGLTextureBarrierFn > fTextureBarrier
GrGLFunction< GrGLDeleteFencesFn > fDeleteFences
GrGLFunction< GrGLDeleteQueriesFn > fDeleteQueries
GrGLFunction< GrGLPopGroupMarkerFn > fPopGroupMarker
GrGLFunction< GrGLTexStorage2DFn > fTexStorage2D
GrGLFunction< GrGLBindFramebufferFn > fBindFramebuffer
GrGLFunction< GrGLDeleteRenderbuffersFn > fDeleteRenderbuffers
GrGLFunction< GrGLCheckFramebufferStatusFn > fCheckFramebufferStatus
GrGLFunction< GrGLInvalidateTexImageFn > fInvalidateTexImage
GrGLFunction< GrGLDrawArraysInstancedBaseInstanceFn > fDrawArraysInstancedBaseInstance
GrGLFunction< GrGLVertexAttribDivisorFn > fVertexAttribDivisor
GrGLFunction< GrGLClearColorFn > fClearColor
GrGLFunction< GrGLGenFramebuffersFn > fGenFramebuffers
GrGLFunction< GrGLCompressedTexSubImage2DFn > fCompressedTexSubImage2D
GrGLFunction< GrGLUniform4iFn > fUniform4i
GrGLFunction< GrGLGetProgramInfoLogFn > fGetProgramInfoLog
GrGLFunction< GrGLRenderbufferStorageMultisampleFn > fRenderbufferStorageMultisample
GrGLFunction< GrGLGetQueryObjecti64vFn > fGetQueryObjecti64v
GrGLFunction< GrGLGetStringFn > fGetString
GrGLFunction< GrGLBindAttribLocationFn > fBindAttribLocation
GrGLFunction< GrGLStencilMaskFn > fStencilMask
GrGLFunction< GrGLGetRenderbufferParameterivFn > fGetRenderbufferParameteriv
GrGLFunction< GrGLBindBufferFn > fBindBuffer
GrGLFunction< GrGLDrawArraysIndirectFn > fDrawArraysIndirect
GrGLFunction< GrGLGetStringiFn > fGetStringi
GrGLFunction< GrGLTexParameterfFn > fTexParameterf
GrGLFunction< GrGLGenRenderbuffersFn > fGenRenderbuffers
GrGLFunction< GrGLUniform1fFn > fUniform1f
GrGLFunction< GrGLWindowRectanglesFn > fWindowRectangles
GrGLFunction< GrGLDeleteSamplersFn > fDeleteSamplers
GrGLFunction< GrGLUniform3ivFn > fUniform3iv
GrGLFunction< GrGLSetFenceFn > fSetFence
GrGLFunction< GrGLGetTexLevelParameterivFn > fGetTexLevelParameteriv
GrGLFunction< GrGLBindUniformLocationFn > fBindUniformLocation
GrGLFunction< GrGLSamplerParameteriFn > fSamplerParameteri
GrGLFunction< GrGLFinishFn > fFinish
GrGLFunction< GrGLDrawArraysFn > fDrawArrays
GrGLFunction< GrGLDisableVertexAttribArrayFn > fDisableVertexAttribArray
GrGLFunction< GrGLTexParameterfvFn > fTexParameterfv
GrGLFunction< GrGLTestFenceFn > fTestFence
GrGLFunction< GrGLDebugMessageControlFn > fDebugMessageControl
GrGLFunction< GrGLUniform1iFn > fUniform1i
GrGLFunction< GrGLFlushFn > fFlush
GrGLFunction< GrGLCreateShaderFn > fCreateShader
GrGLFunction< GrGLLineWidthFn > fLineWidth
GrGLFunction< GrGLPushGroupMarkerFn > fPushGroupMarker
GrGLFunction< GrGLPushDebugGroupFn > fPushDebugGroup
GrGLFunction< GrGLUnmapTexSubImage2DFn > fUnmapTexSubImage2D
GrGLFunction< GrGLClearFn > fClear
GrGLFunction< GrGLSamplerParameterivFn > fSamplerParameteriv
GrGLFunction< GrGLWaitSyncFn > fWaitSync
GrGLFunction< GrGLGetInternalformativFn > fGetInternalformativ
GrGLFunction< GrGLGenTexturesFn > fGenTextures
GrGLFunction< GrGLUniformMatrix4fvFn > fUniformMatrix4fv
GrGLFunction< GrGLEndQueryFn > fEndQuery
GrGLFunction< GrGLVertexAttribPointerFn > fVertexAttribPointer
struct GrGLInterface::Functions fFunctions
GrGLExtensions fExtensions
GrGLStandard fStandard