Flutter Engine
The Flutter Engine
GrGLFunctions.h
Go to the documentation of this file.
1
2/*
3 * Copyright 2012 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9#ifndef GrGLFunctions_DEFINED
10#define GrGLFunctions_DEFINED
11
12#include <cstring>
15
16
17extern "C" {
18
19///////////////////////////////////////////////////////////////////////////////
20
37using GrGLBlitFramebufferFn = 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);
114using GrGLGetShaderPrecisionFormatFn = GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum shadertype, GrGLenum precisiontype, GrGLint* range, GrGLint* precision);
151// GL_CHROMIUM_bind_uniform_location
154using GrGLShaderSourceFn = GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint shader, GrGLsizei count, const char* const* str, const GrGLint* length);
204
205/* GL_NV_framebuffer_mixed_samples */
207
208/* EXT_base_instance */
211
212/* EXT_multi_draw_indirect */
215
216/* ANGLE_base_vertex_base_instance */
217using GrGLMultiDrawArraysInstancedBaseInstanceFn = GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, const GrGLint* firsts, const GrGLsizei* counts, const GrGLsizei* instanceCounts, const GrGLuint* baseInstances, const GrGLsizei drawcount);
218using GrGLMultiDrawElementsInstancedBaseVertexBaseInstanceFn = 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);
219
220/* ARB_sync */
226
227/* ARB_internalformat_query */
229
230/* KHR_debug */
238
239/** EXT_window_rectangles */
241
242/** GL_QCOM_tiled_rendering */
245
246/** EGL functions */
251} // extern "C"
252
253// This is a lighter-weight std::function, trying to reduce code size and compile time
254// by only supporting the exact use cases we require.
255template <typename T> class GrGLFunction;
256
257template <typename R, typename... Args>
259public:
260 using Fn = R GR_GL_FUNCTION_TYPE(Args...);
261 // Construct empty.
262 GrGLFunction() = default;
263 GrGLFunction(std::nullptr_t) {}
264
265 // Construct from a simple function pointer.
266 GrGLFunction(Fn* fn_ptr) {
267 static_assert(sizeof(fn_ptr) <= sizeof(fBuf), "fBuf is too small");
268 if (fn_ptr) {
269 memcpy(fBuf, &fn_ptr, sizeof(fn_ptr));
270 fCall = [](const void* buf, Args... args) {
271 return (*(Fn* const *)buf)(std::forward<Args>(args)...);
272 };
273 }
274 }
275
276 // Construct from a small closure.
277 template <typename Closure>
279 static_assert(sizeof(Closure) <= sizeof(fBuf), "fBuf is too small");
280#if defined(__APPLE__) // I am having serious trouble getting these to work with all STLs...
283#endif
284
285 memcpy(fBuf, &closure, sizeof(closure));
286 fCall = [](const void* buf, Args... args) {
287 auto closure = (const Closure*)buf;
288 return (*closure)(args...);
289 };
290 }
291
292 R operator()(Args... args) const {
293 SkASSERT(fCall);
294 return fCall(fBuf, std::forward<Args>(args)...);
295 }
296
297 explicit operator bool() const { return fCall != nullptr; }
298
299 void reset() { fCall = nullptr; }
300
301private:
302 using Call = R(const void* buf, Args...);
303 Call* fCall = nullptr;
304 size_t fBuf[4];
305};
306
307#endif
static void fail(const SkString &err)
Definition: DM.cpp:234
int count
Definition: FontMgrTest.cpp:50
#define GR_GL_FUNCTION_TYPE
Definition: GrGLConfig.h:27
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target) GrGLGenerateMipmapFn
Definition: GrGLFunctions.h:91
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
Definition: GrGLFunctions.h:86
GrGLenum GR_GL_FUNCTION_TYPE(GrGLenum target) GrGLCheckFramebufferStatusFn
Definition: GrGLFunctions.h:40
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLuint shader) GrGLAttachShaderFn
Definition: GrGLFunctions.h:22
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLintptr offset, GrGLsizeiptr length) GrGLFlushMappedBufferRangeFn
Definition: GrGLFunctions.h:83
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode) GrGLFrontFaceFn
Definition: GrGLFunctions.h:87
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
Definition: GrGLFunctions.h:45
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum pname, GrGLint value) GrGLPatchParameteriFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint shader) GrGLCompileShaderFn
Definition: GrGLFunctions.h:47
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
Definition: GrGLFunctions.h:75
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLenum *bufs) GrGLDrawBuffersFn
Definition: GrGLFunctions.h:72
GrGLuint GR_GL_FUNCTION_TYPE(GrGLenum type) GrGLCreateShaderFn
Definition: GrGLFunctions.h:53
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program) GrGLUseProgramFn
GrGLvoid GR_GL_FUNCTION_TYPE() GrGLBlendBarrierFn
Definition: GrGLFunctions.h:33
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
Definition: GrGLFunctions.h:26
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
Definition: GrGLFunctions.h:42
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
Definition: GrGLFunctions.h:77
GrGLvoid GR_GL_FUNCTION_TYPE() GrGLPopDebugGroupFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLuint texture) GrGLBindTextureFn
Definition: GrGLFunctions.h:28
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
Definition: GrGLFunctions.h:62
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
Definition: GrGLFunctions.h:66
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target) GrGLEndQueryFn
Definition: GrGLFunctions.h:79
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLuint *ids) GrGLDeleteQueriesFn
Definition: GrGLFunctions.h:59
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
Definition: GrGLFunctions.h:73
GrGLvoid GR_GL_FUNCTION_TYPE() GrGLFlushFn
Definition: GrGLFunctions.h:82
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
Definition: GrGLFunctions.h:21
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
Definition: GrGLFunctions.h:41
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint id, GrGLenum pname, GrGLint *params) GrGLGetQueryObjectivFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode) GrGLCullFaceFn
Definition: GrGLFunctions.h:54
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
Definition: GrGLFunctions.h:48
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum attachment, GrGLenum renderbuffertarget, GrGLuint renderbuffer) GrGLFramebufferRenderbufferFn
Definition: GrGLFunctions.h:84
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
Definition: GrGLFunctions.h:90
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, GrGLuint *textures) GrGLGenTexturesFn
Definition: GrGLFunctions.h:95
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum pname, GrGLuint index, GrGLfloat *val) GrGLGetMultisamplefvFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei count, const GrGLuint *samplers) GrGLDeleteSamplersFn
Definition: GrGLFunctions.h:61
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
Definition: GrGLFunctions.h:63
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
Definition: GrGLFunctions.h:99
GrGLvoid GR_GL_FUNCTION_TYPE(const GrGLvoid *mem) GrGLUnmapTexSubImage2DFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLboolean flag) GrGLDepthMaskFn
Definition: GrGLFunctions.h:65
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint texture, GrGLint level, GrGLenum format, GrGLenum type, const GrGLvoid *data) GrGLClearTexImageFn
Definition: GrGLFunctions.h:44
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
Definition: GrGLFunctions.h:35
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
Definition: GrGLFunctions.h:25
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
Definition: GrGLFunctions.h:80
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
Definition: GrGLFunctions.h:60
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLuint *framebuffers) GrGLDeleteFramebuffersFn
Definition: GrGLFunctions.h:57
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, GrGLuint *renderbuffers) GrGLGenRenderbuffersFn
Definition: GrGLFunctions.h:93
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
Definition: GrGLFunctions.h:29
GrGLboolean GR_GL_FUNCTION_TYPE(GrGLsync sync) GrGLIsSyncFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei count, GrGLuint *samplers) GrGLGenSamplersFn
Definition: GrGLFunctions.h:94
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
Definition: GrGLFunctions.h:31
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
Definition: GrGLFunctions.h:37
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
Definition: GrGLFunctions.h:96
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program) GrGLDeleteProgramFn
Definition: GrGLFunctions.h:58
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, const GrGLuint *arrays) GrGLDeleteVertexArraysFn
Definition: GrGLFunctions.h:64
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLfloat width) GrGLLineWidthFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLsizeiptr size, const GrGLvoid *data, GrGLenum usage) GrGLBufferDataFn
Definition: GrGLFunctions.h:38
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint index) GrGLDisableVertexAttribArrayFn
Definition: GrGLFunctions.h:67
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
Definition: GrGLFunctions.h:36
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
Definition: GrGLFunctions.h:39
GrGLvoid *GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum access) GrGLMapBufferFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLuint id) GrGLBeginQueryFn
Definition: GrGLFunctions.h:23
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
Definition: GrGLFunctions.h:88
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLclampf red, GrGLclampf green, GrGLclampf blue, GrGLclampf alpha) GrGLBlendColorFn
Definition: GrGLFunctions.h:34
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
Definition: GrGLFunctions.h:27
GrGLsync GR_GL_FUNCTION_TYPE(GrGLenum condition, GrGLbitfield flags) GrGLFenceSyncFn
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum target, GrGLenum pname, GrGLint *params) GrGLGetBufferParameterivFn
Definition: GrGLFunctions.h:97
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLint first, GrGLsizei count) GrGLDrawArraysFn
Definition: GrGLFunctions.h:68
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
Definition: GrGLFunctions.h:69
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
Definition: GrGLFunctions.h:85
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
Definition: GrGLFunctions.h:76
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
Definition: GrGLFunctions.h:43
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLuint colorNumber, GrGLuint index, const GrGLchar *name) GrGLBindFragDataLocationIndexedFn
Definition: GrGLFunctions.h:30
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
Definition: GrGLFunctions.h:50
GrGLenum GR_GL_FUNCTION_TYPE() GrGLGetErrorFn
Definition: GrGLFunctions.h:98
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
Definition: GrGLFunctions.h:70
GrGLuint GR_GL_FUNCTION_TYPE() GrGLCreateProgramFn
Definition: GrGLFunctions.h:52
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
Definition: GrGLFunctions.h:49
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
Definition: GrGLFunctions.h:55
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
Definition: GrGLFunctions.h:81
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
Definition: GrGLFunctions.h:32
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
Definition: GrGLFunctions.h:89
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
Definition: GrGLFunctions.h:24
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode) GrGLDrawBufferFn
Definition: GrGLFunctions.h:71
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
Definition: GrGLFunctions.h:78
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLsizei n, GrGLuint *ids) GrGLGenQueriesFn
Definition: GrGLFunctions.h:92
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
Definition: GrGLFunctions.h:51
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum mode, GrGLsizei count, GrGLenum type, const GrGLvoid *indices, GrGLsizei primcount) GrGLDrawElementsInstancedFn
Definition: GrGLFunctions.h:74
GrGLvoid GR_GL_FUNCTION_TYPE(GrGLboolean red, GrGLboolean green, GrGLboolean blue, GrGLboolean alpha) GrGLColorMaskFn
Definition: GrGLFunctions.h:46
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
Definition: GrGLFunctions.h:56
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 int GrGLuint
Definition: GrGLTypes.h:113
float GrGLclampf
Definition: GrGLTypes.h:117
unsigned char GrGLboolean
Definition: GrGLTypes.h:103
int GrGLsizei
Definition: GrGLTypes.h:109
int64_t GrGLint64
Definition: GrGLTypes.h:110
float GrGLfloat
Definition: GrGLTypes.h:116
unsigned int GrGLbitfield
Definition: GrGLTypes.h:104
char GrGLchar
Definition: GrGLTypes.h:106
void(GR_GL_FUNCTION_TYPE * GRGLDEBUGPROC)(GrGLenum source, GrGLenum type, GrGLuint id, GrGLenum severity, GrGLsizei length, const GrGLchar *message, const void *userParam)
Definition: GrGLTypes.h:154
int GrGLint
Definition: GrGLTypes.h:108
void * GrEGLContext
Definition: GrGLTypes.h:167
unsigned int GrGLenum
Definition: GrGLTypes.h:102
void * GrEGLImage
Definition: GrGLTypes.h:165
void * GrEGLDisplay
Definition: GrGLTypes.h:166
signed long int GrGLintptr
Definition: GrGLTypes.h:125
unsigned int GrEGLenum
Definition: GrGLTypes.h:169
unsigned char GrGLubyte
Definition: GrGLTypes.h:111
void GrGLvoid
Definition: GrGLTypes.h:120
uint64_t GrGLuint64
Definition: GrGLTypes.h:114
int32_t GrEGLint
Definition: GrGLTypes.h:170
struct __GLsync * GrGLsync
Definition: GrGLTypes.h:129
void * GrEGLClientBuffer
Definition: GrGLTypes.h:168
unsigned int GrEGLBoolean
Definition: GrGLTypes.h:171
signed long int GrGLsizeiptr
Definition: GrGLTypes.h:126
static const char marker[]
#define SkASSERT(cond)
Definition: SkAssert.h:116
Vec2Value v2
GLenum type
static SkString identifier(const FontFamilyDesc &family, const FontDesc &font)
const EmbeddedViewParams * params
SkBitmap source
Definition: examples.cpp:28
struct MyStruct s
FlutterSemanticsFlag flag
FlutterSemanticsFlag flags
glong glong end
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
uint8_t value
uint32_t uint32_t * format
uint32_t * target
#define R(r)
size_t length
Win32Message message
FlTexture * texture
double y
double x
sk_sp< const SkImage > image
Definition: SkRecords.h:269
DEF_SWITCHES_START aot vmservice shared library name
Definition: switches.h:32
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
Definition: switches.h:239
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
Definition: switches.h:126
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
Definition: switches.h:228
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
Definition: switches.h:259
std::function< void()> closure
Definition: closure.h:14
def timeout(deadline, cmd)
int32_t height
int32_t width
static void usage(char *argv0)
SeparatedVector2 offset
std::shared_ptr< const fml::Mapping > data
Definition: texture_gles.cc:63