Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | List of all members
GrGLInterface Struct Reference

#include <GrGLInterface.h>

Inheritance diagram for GrGLInterface:
SkRefCnt SkRefCntBase

Classes

struct  Functions
 

Public Member Functions

 GrGLInterface ()
 
bool validate () const
 
bool hasExtension (const char ext[]) const
 
- Public Member Functions inherited from SkRefCntBase
 SkRefCntBase ()
 
virtual ~SkRefCntBase ()
 
bool unique () const
 
void ref () const
 
void unref () const
 

Public Attributes

GrGLStandard fStandard
 
GrGLExtensions fExtensions
 
struct GrGLInterface::Functions fFunctions
 

Detailed Description

GrContext uses the following interface to make all calls into OpenGL. When a GrContext is created it is given a GrGLInterface. The interface's function pointers must be valid for the OpenGL context associated with the GrContext. On some platforms, such as Windows, function pointers for OpenGL extensions may vary between OpenGL contexts. So the caller must be careful to use a GrGLInterface initialized for the correct context. All functions that should be available based on the OpenGL's version and extension string must be non-NULL or GrContext creation will fail. This can be tested with the validate() method when the OpenGL context has been made current.

Definition at line 48 of file GrGLInterface.h.

Constructor & Destructor Documentation

◆ GrGLInterface()

GrGLInterface::GrGLInterface ( )

Definition at line 18 of file GrGLInterfaceAutogen.cpp.

18 {
20}
@ kNone_GrGLStandard
Definition GrGLTypes.h:20
GrGLStandard fStandard

Member Function Documentation

◆ hasExtension()

bool GrGLInterface::hasExtension ( const char  ext[]) const
inline

Definition at line 84 of file GrGLInterface.h.

84{ return fExtensions.has(ext); }
bool has(const char[]) const
GrGLExtensions fExtensions

◆ validate()

bool GrGLInterface::validate ( ) const

Definition at line 74 of file GrGLInterfaceAutogen.cpp.

74 {
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}
#define RETURN_FALSE_INTERFACE
#define GR_IS_GR_WEBGL(standard)
Definition GrGLTypes.h:50
#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
bool isInitialized() const
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

Member Data Documentation

◆ fExtensions

GrGLExtensions GrGLInterface::fExtensions

Definition at line 82 of file GrGLInterface.h.

◆ fFunctions

struct GrGLInterface::Functions GrGLInterface::fFunctions

◆ fStandard

GrGLStandard GrGLInterface::fStandard

Definition at line 81 of file GrGLInterface.h.


The documentation for this struct was generated from the following files: