9#ifndef GrGLFunctions_DEFINED
10#define GrGLFunctions_DEFINED
45using GrGLClearTexSubImageFn =
GrGLvoid GR_GL_FUNCTION_TYPE(
GrGLuint texture,
GrGLint level,
GrGLint xoffset,
GrGLint yoffset,
GrGLint zoffset,
GrGLsizei width,
GrGLsizei height,
GrGLsizei depth,
GrGLenum format,
GrGLenum type,
const GrGLvoid*
data);
257template <
typename R,
typename... Args>
267 static_assert(
sizeof(fn_ptr) <=
sizeof(fBuf),
"fBuf is too small");
269 memcpy(fBuf, &fn_ptr,
sizeof(fn_ptr));
270 fCall = [](
const void* buf, Args...
args) {
271 return (*(
Fn*
const *)buf)(std::forward<Args>(
args)...);
277 template <
typename Closure>
279 static_assert(
sizeof(Closure) <=
sizeof(fBuf),
"fBuf is too small");
280#if defined(__APPLE__)
286 fCall = [](
const void* buf, Args...
args) {
287 auto closure = (
const Closure*)buf;
294 return fCall(fBuf, std::forward<Args>(
args)...);
297 explicit operator bool()
const {
return fCall !=
nullptr; }
302 using Call =
R(
const void* buf, Args...);
303 Call* fCall =
nullptr;
static void fail(const SkString &err)
#define GR_GL_FUNCTION_TYPE
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target) GrGLGenerateMipmapFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum source, GrGLenum type, GrGLuint id, GrGLenum severity, GrGLsizei length, const GrGLchar *buf) GrGLDebugMessageInsertFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum attachment, GrGLenum textarget, GrGLuint texture, GrGLint level, GrGLsizei samples) GrGLFramebufferTexture2DMultisampleFn
GrGLenum GR_GL_FUNCTION_TYPE(GrGLenum target) GrGLCheckFramebufferStatusFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLuint shader) GrGLAttachShaderFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLintptr offset, GrGLsizeiptr length) GrGLFlushMappedBufferRangeFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode) GrGLFrontFaceFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint texture, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLint zoffset, GrGLsizei width, GrGLsizei height, GrGLsizei depth, GrGLenum format, GrGLenum type, const GrGLvoid *data) GrGLClearTexSubImageFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum pname, GrGLint value) GrGLPatchParameteriFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint shader) GrGLCompileShaderFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei length, const char *marker) GrGLPushGroupMarkerFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint id, GrGLenum pname, GrGLuint *params) GrGLGetQueryObjectuivFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLint v0, GrGLint v1) GrGLUniform2iFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint shader, GrGLenum pname, GrGLint *params) GrGLGetShaderivFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLenum type, const GrGLvoid *indirect) GrGLDrawElementsIndirectFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLenum *bufs) GrGLDrawBuffersFn
GrGLuint GR_GL_FUNCTION_TYPE(GrGLenum type) GrGLCreateShaderFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program) GrGLUseProgramFn
GrGLvoid GR_GL_FUNCTION_TYPE() GrGLBlendBarrierFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint shader, GrGLsizei bufsize, GrGLsizei *length, char *infolog) GrGLGetShaderInfoLogFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLsizei count, GrGLenum type, const void *indices, GrGLsizei instancecount, GrGLint basevertex, GrGLuint baseinstance) GrGLDrawElementsInstancedBaseVertexBaseInstanceFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLenum pname, GrGLint value) GrGLProgramParameteriFn
GrGLboolean GR_GL_FUNCTION_TYPE(GrGLuint fence) GrGLTestFenceFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLuint framebuffer) GrGLBindFramebufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint id, GrGLenum target) GrGLQueryCounterFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLsizei count, const GrGLfloat *v) GrGLUniform4fvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLclampf red, GrGLclampf green, GrGLclampf blue, GrGLclampf alpha) GrGLClearColorFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, const GrGLint *firsts, const GrGLsizei *counts, const GrGLsizei *instanceCounts, const GrGLuint *baseInstances, const GrGLsizei drawcount) GrGLMultiDrawArraysInstancedBaseInstanceFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum pname, GrGLfloat *params) GrGLGetFloatvFn
GrGLvoid GR_GL_FUNCTION_TYPE() GrGLPopGroupMarkerFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum internalformat, GrGLuint buffer, GrGLintptr offset, GrGLsizeiptr size) GrGLTexBufferRangeFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLint first, GrGLsizei count, GrGLsizei instancecount, GrGLuint baseinstance) GrGLDrawArraysInstancedBaseInstanceFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum cap) GrGLEnableFn
GrGLvoid GR_GL_FUNCTION_TYPE() GrGLPopDebugGroupFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLuint texture) GrGLBindTextureFn
GrGLvoid *GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLsizei width, GrGLsizei height, GrGLenum format, GrGLenum type, GrGLenum access) GrGLMapTexSubImage2DFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint shader) GrGLDeleteShaderFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLsizei count, const GrGLfloat *v) GrGLUniform1fvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLfloat v0, GrGLfloat v1) GrGLUniform2fFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint index, GrGLuint divisor) GrGLVertexAttribDivisorFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum GLtarget, GrGLenum pname, GrGLint *params) GrGLGetQueryivFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum source, GrGLenum type, GrGLenum severity, GrGLsizei count, const GrGLuint *ids, GrGLboolean enabled) GrGLDebugMessageControlFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum cap) GrGLDisableFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target) GrGLEndQueryFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLuint *ids) GrGLDeleteQueriesFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint indx, const GrGLfloat *values) GrGLVertexAttrib3fvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLsizei count, GrGLenum type, const GrGLvoid *indices) GrGLDrawElementsFn
GrGLvoid GR_GL_FUNCTION_TYPE() GrGLFlushFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei length, const char *marker) GrGLInsertEventMarkerFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height, GrGLenum format, GrGLenum type, GrGLvoid *pixels) GrGLReadPixelsFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum texture) GrGLActiveTextureFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLint level, GrGLenum pname, GrGLint *params) GrGLGetTexLevelParameterivFn
GrGLboolean GR_GL_FUNCTION_TYPE(GrGLuint texture) GrGLIsTextureFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLbitfield mask) GrGLClearFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint id, GrGLenum pname, GrGLint *params) GrGLGetQueryObjectivFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode) GrGLCullFaceFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLsizei count, const GrGLfloat *v) GrGLUniform2fvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum internalformat, GrGLuint buffer) GrGLTexBufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint buffer) GrGLInvalidateBufferDataFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLint level, GrGLenum internalformat, GrGLsizei width, GrGLsizei height, GrGLint border, GrGLsizei imageSize, const GrGLvoid *data) GrGLCompressedTexImage2DFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum attachment, GrGLenum renderbuffertarget, GrGLuint renderbuffer) GrGLFramebufferRenderbufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum pname, GrGLint param) GrGLTexParameteriFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum pname, GrGLint *params) GrGLGetRenderbufferParameterivFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum identifier, GrGLuint name, GrGLsizei length, const GrGLchar *label) GrGLObjectLabelFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, GrGLuint *framebuffers) GrGLGenFramebuffersFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, GrGLuint *textures) GrGLGenTexturesFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum pname, GrGLuint index, GrGLfloat *val) GrGLGetMultisamplefvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei count, const GrGLuint *samplers) GrGLDeleteSamplersFn
GrGLenum GR_GL_FUNCTION_TYPE(GrGLsync sync, GrGLbitfield flags, GrGLuint64 timeout) GrGLClientWaitSyncFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLint v0, GrGLint v1, GrGLint v2) GrGLUniform3iFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint x, GrGLuint y, GrGLuint width, GrGLuint height, GrGLbitfield preserveMask) GrGLStartTilingFn
GrGLvoid GR_GL_FUNCTION_TYPE() GrGLResolveMultisampleFramebufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLuint *textures) GrGLDeleteTexturesFn
GrGLvoid GR_GL_FUNCTION_TYPE(GRGLDEBUGPROC callback, const GrGLvoid *userParam) GrGLDebugMessageCallbackFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum attachment, GrGLenum pname, GrGLint *params) GrGLGetFramebufferAttachmentParameterivFn
GrGLvoid GR_GL_FUNCTION_TYPE(const GrGLvoid *mem) GrGLUnmapTexSubImage2DFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLboolean flag) GrGLDepthMaskFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint texture, GrGLint level, GrGLenum format, GrGLenum type, const GrGLvoid *data) GrGLClearTexImageFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLsizei numAttachments, const GrGLenum *attachments, GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height) GrGLInvalidateSubFramebufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum pname, GrGLint *params) GrGLGetIntegervFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLsizei count, const GrGLfloat *v) GrGLUniform3fvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode) GrGLBlendEquationFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum func, GrGLint ref, GrGLuint mask) GrGLStencilFuncFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLsizei count, const GrGLint *v) GrGLUniform1ivFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLuint buffer) GrGLBindBufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program) GrGLLinkProgramFn
const GrGLubyte *GR_GL_FUNCTION_TYPE(GrGLenum name, GrGLuint index) GrGLGetStringiFn
GrGLvoid GR_GL_FUNCTION_TYPE() GrGLFinishFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLsizei bufsize, GrGLsizei *length, GrGLenum *binaryFormat, void *binary) GrGLGetProgramBinaryFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint id, GrGLenum pname, GrGLuint64 *params) GrGLGetQueryObjectui64vFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLuint *renderbuffers) GrGLDeleteRenderbuffersFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLuint *framebuffers) GrGLDeleteFramebuffersFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, GrGLuint *renderbuffers) GrGLGenRenderbuffersFn
GrGLvoid *GR_GL_FUNCTION_TYPE(GrGLbitfield barriers) GrGLMemoryBarrierFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLsizei count, GrGLboolean transpose, const GrGLfloat *value) GrGLUniformMatrix2fvFn
GrGLboolean GR_GL_FUNCTION_TYPE(GrGLenum target) GrGLUnmapBufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLuint colorNumber, const GrGLchar *name) GrGLBindFragDataLocationFn
GrGLboolean GR_GL_FUNCTION_TYPE(GrGLsync sync) GrGLIsSyncFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei count, GrGLuint *samplers) GrGLGenSamplersFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLsizei count, GrGLboolean transpose, const GrGLfloat *value) GrGLUniformMatrix3fvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint indx, const GrGLfloat *values) GrGLVertexAttrib2fvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLint location, const char *name) GrGLBindUniformLocationFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint unit, GrGLuint sampler) GrGLBindSamplerFn
GrGLvoid GR_GL_FUNCTION_TYPE(const GrGLvoid *mem) GrGLUnmapBufferSubDataFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLfloat v0, GrGLfloat v1, GrGLfloat v2) GrGLUniform3fFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum components) GrGLCoverageModulationFn
GrGLvoid *GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLintptr offset, GrGLsizeiptr length, GrGLbitfield access) GrGLMapBufferRangeFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint indx, const GrGLfloat *values) GrGLVertexAttrib4fvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint srcX0, GrGLint srcY0, GrGLint srcX1, GrGLint srcY1, GrGLint dstX0, GrGLint dstY0, GrGLint dstX1, GrGLint dstY1, GrGLbitfield mask, GrGLenum filter) GrGLBlitFramebufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint sampler, GrGLenum pname, const GrGLint *params) GrGLSamplerParameterivFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum pname, const GrGLfloat *params) GrGLTexParameterfvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, GrGLuint *arrays) GrGLGenVertexArraysFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program) GrGLDeleteProgramFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLuint *arrays) GrGLDeleteVertexArraysFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLfloat width) GrGLLineWidthFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLsizeiptr size, const GrGLvoid *data, GrGLenum usage) GrGLBufferDataFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint index) GrGLDisableVertexAttribArrayFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsync sync, GrGLbitfield flags, GrGLuint64 timeout) GrGLWaitSyncFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLbitfield preserveMask) GrGLEndTilingFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum sfactor, GrGLenum dfactor) GrGLBlendFuncFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint sampler, GrGLenum pname, GrGLfloat param) GrGLSamplerParameterfFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLsizei count, GrGLboolean transpose, const GrGLfloat *value) GrGLUniformMatrix4fvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint texture, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLint zoffset, GrGLsizei width, GrGLsizei height, GrGLsizei depth) GrGLInvalidateTexSubImageFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint buffer, GrGLintptr offset, GrGLsizeiptr length) GrGLInvalidateBufferSubDataFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint mask) GrGLStencilMaskFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint indx, const GrGLfloat value) GrGLVertexAttrib1fFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLintptr offset, GrGLsizeiptr size, const GrGLvoid *data) GrGLBufferSubDataFn
GrGLvoid *GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum access) GrGLMapBufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLuint id) GrGLBeginQueryFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLsizei numAttachments, const GrGLenum *attachments) GrGLInvalidateFramebufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum face, GrGLuint mask) GrGLStencilMaskSeparateFn
GrEGLDisplay GR_GL_FUNCTION_TYPE() GrEGLGetCurrentDisplayFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, GrGLuint *buffers) GrGLGenBuffersFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLclampf red, GrGLclampf green, GrGLclampf blue, GrGLclampf alpha) GrGLBlendColorFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLint v0, GrGLint v1, GrGLint v2, GrGLint v3) GrGLUniform4iFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint indx, GrGLint size, GrGLenum type, GrGLsizei stride, const GrGLvoid *ptr) GrGLVertexAttribIPointerFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLuint renderbuffer) GrGLBindRenderbufferFn
GrGLsync GR_GL_FUNCTION_TYPE(GrGLenum condition, GrGLbitfield flags) GrGLFenceSyncFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum pname, GrGLint *params) GrGLGetBufferParameterivFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLint first, GrGLsizei count) GrGLDrawArraysFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum internalformat, GrGLenum pname, GrGLsizei bufSize, GrGLint *params) GrGLGetInternalformativFn
GrGLvoid GR_GL_FUNCTION_TYPE() GrGLTextureBarrierFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLint first, GrGLsizei count, GrGLsizei primcount) GrGLDrawArraysInstancedFn
GrEGLBoolean GR_GL_FUNCTION_TYPE(GrEGLDisplay dpy, GrEGLImage image) GrEGLDestroyImageFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height) GrGLViewportFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLfloat v0) GrGLUniform1fFn
const GrGLubyte *GR_GL_FUNCTION_TYPE(GrGLenum name) GrGLGetStringFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, const GrGLint *counts, GrGLenum type, const GrGLvoid *const *indices, const GrGLsizei *instanceCounts, const GrGLint *baseVertices, const GrGLuint *baseInstances, const GrGLsizei drawcount) GrGLMultiDrawElementsInstancedBaseVertexBaseInstanceFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLenum binaryFormat, void *binary, GrGLsizei length) GrGLProgramBinaryFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum attachment, GrGLenum textarget, GrGLuint texture, GrGLint level) GrGLFramebufferTexture2DFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLsizei count, const GrGLint box[]) GrGLWindowRectanglesFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint shader, GrGLsizei count, const char *const *str, const GrGLint *length) GrGLShaderSourceFn
GrGLvoid *GR_GL_FUNCTION_TYPE(GrGLuint target, GrGLintptr offset, GrGLsizeiptr size, GrGLenum access) GrGLMapBufferSubDataFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLuint start, GrGLuint end, GrGLsizei count, GrGLenum type, const GrGLvoid *indices) GrGLDrawRangeElementsFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum shadertype, GrGLenum precisiontype, GrGLint *range, GrGLint *precision) GrGLGetShaderPrecisionFormatFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsync sync) GrGLDeleteSyncFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum face, GrGLenum mode) GrGLPolygonModeFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint s) GrGLClearStencilFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLuint colorNumber, GrGLuint index, const GrGLchar *name) GrGLBindFragDataLocationIndexedFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height) GrGLScissorFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint id, GrGLenum pname, GrGLint64 *params) GrGLGetQueryObjecti64vFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum readTargt, GrGLenum writeTarget, GrGLintptr readOffset, GrGLintptr writeOffset, GrGLsizeiptr size) GrGLCopyBufferSubDataFn
GrGLenum GR_GL_FUNCTION_TYPE() GrGLGetErrorFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum face, GrGLenum fail, GrGLenum zfail, GrGLenum zpass) GrGLStencilOpSeparateFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, const GrGLvoid *indirect) GrGLDrawArraysIndirectFn
GrGLuint GR_GL_FUNCTION_TYPE() GrGLCreateProgramFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLsizei width, GrGLsizei height, GrGLenum format, GrGLsizei imageSize, const GrGLvoid *data) GrGLCompressedTexSubImage2DFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLsizei samples, GrGLenum internalformat, GrGLsizei width, GrGLsizei height) GrGLRenderbufferStorageMultisampleFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLuint *buffers) GrGLDeleteBuffersFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLsizei numAttachments, const GrGLenum *attachments) GrGLDiscardFramebufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint fence, GrGLenum condition) GrGLSetFenceFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLsizei count, const GrGLint *v) GrGLUniform4ivFn
GrEGLImage GR_GL_FUNCTION_TYPE(GrEGLDisplay dpy, GrEGLContext ctx, GrEGLenum target, GrEGLClientBuffer buffer, const GrEGLint *attrib_list) GrEGLCreateImageFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum pname, GrGLint param) GrGLPixelStoreiFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint fence) GrGLFinishFenceFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLenum type, const GrGLvoid *indirect, GrGLsizei drawcount, GrGLsizei stride) GrGLMultiDrawElementsIndirectFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum source, GrGLuint id, GrGLsizei length, const GrGLchar *message) GrGLPushDebugGroupFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum pname, GrGLfloat param) GrGLTexParameterfFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint array) GrGLBindVertexArrayFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLsizei count, const GrGLint *v) GrGLUniform3ivFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum fail, GrGLenum zfail, GrGLenum zpass) GrGLStencilOpFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLint level, GrGLint internalformat, GrGLsizei width, GrGLsizei height, GrGLint border, GrGLenum format, GrGLenum type, const GrGLvoid *pixels) GrGLTexImage2DFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLfloat v0, GrGLfloat v1, GrGLfloat v2, GrGLfloat v3) GrGLUniform4fFn
const char *GR_GL_FUNCTION_TYPE(GrEGLDisplay dpy, GrEGLint name) GrEGLQueryStringFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint indx, GrGLint size, GrGLenum type, GrGLboolean normalized, GrGLsizei stride, const GrGLvoid *ptr) GrGLVertexAttribPointerFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLenum pname, GrGLint *params) GrGLGetProgramivFn
GrGLuint GR_GL_FUNCTION_TYPE(GrGLuint count, GrGLsizei bufSize, GrGLenum *sources, GrGLenum *types, GrGLuint *ids, GrGLenum *severities, GrGLsizei *lengths, GrGLchar *messageLog) GrGLGetDebugMessageLogFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, GrGLuint *fences) GrGLGenFencesFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum pname, const GrGLint *params) GrGLTexParameterivFn
GrGLint GR_GL_FUNCTION_TYPE(GrGLuint program, const char *name) GrGLGetUniformLocationFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint texture, GrGLint level) GrGLInvalidateTexImageFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum internalformat, GrGLsizei width, GrGLsizei height) GrGLRenderbufferStorageFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum face, GrGLenum func, GrGLint ref, GrGLuint mask) GrGLStencilFuncSeparateFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLsizei levels, GrGLenum internalformat, GrGLsizei width, GrGLsizei height) GrGLTexStorage2DFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLint v0) GrGLUniform1iFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLuint index, const char *name) GrGLBindAttribLocationFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode) GrGLDrawBufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum src) GrGLReadBufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLsizei width, GrGLsizei height, GrGLenum format, GrGLenum type, const GrGLvoid *pixels) GrGLTexSubImage2DFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint index) GrGLEnableVertexAttribArrayFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, GrGLuint *ids) GrGLGenQueriesFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint sampler, GrGLenum pname, GrGLint param) GrGLSamplerParameteriFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLint level, GrGLint xoffset, GrGLint yoffset, GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height) GrGLCopyTexSubImage2DFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLsizei count, GrGLenum type, const GrGLvoid *indices, GrGLsizei primcount) GrGLDrawElementsInstancedFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLboolean red, GrGLboolean green, GrGLboolean blue, GrGLboolean alpha) GrGLColorMaskFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, const GrGLvoid *indirect, GrGLsizei drawcount, GrGLsizei stride) GrGLMultiDrawArraysIndirectFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLuint *fences) GrGLDeleteFencesFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLint location, GrGLsizei count, const GrGLint *v) GrGLUniform2ivFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLsizei bufsize, GrGLsizei *length, char *infolog) GrGLGetProgramInfoLogFn
unsigned char GrGLboolean
unsigned int GrGLbitfield
void(GR_GL_FUNCTION_TYPE * GRGLDEBUGPROC)(GrGLenum source, GrGLenum type, GrGLuint id, GrGLenum severity, GrGLsizei length, const GrGLchar *message, const void *userParam)
signed long int GrGLintptr
struct __GLsync * GrGLsync
unsigned int GrEGLBoolean
signed long int GrGLsizeiptr
static const char marker[]
R GR_GL_FUNCTION_TYPE(Args...) Fn
GrGLFunction(std::nullptr_t)
R operator()(Args... args) const
GrGLFunction(Closure closure)
static SkString identifier(const FontFamilyDesc &family, const FontDesc &font)
const EmbeddedViewParams * params
FlutterSemanticsFlag flag
FlutterSemanticsFlag flags
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
uint32_t uint32_t * format
sk_sp< const SkImage > image
DEF_SWITCHES_START aot vmservice shared library name
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core counts
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not defaults to or::depending on whether ipv6 is specified vm service A custom Dart VM Service port The default is to pick a randomly available open port disable vm Disable the Dart VM Service The Dart VM Service is never available in release mode disable vm service Disable mDNS Dart VM Service publication Bind to the IPv6 localhost address for the Dart VM Service Ignored if vm service host is set endless trace buffer
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
std::function< void()> closure
def timeout(deadline, cmd)
static void usage(char *argv0)
std::shared_ptr< const fml::Mapping > data