Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
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);
50using GrGLCopyBufferSubDataFn = GrGLvoid GR_GL_FUNCTION_TYPE(GrGLenum readTargt, GrGLenum writeTarget, GrGLintptr readOffset, GrGLintptr writeOffset, GrGLsizeiptr size);
103using GrGLGetProgramBinaryFn = GrGLvoid GR_GL_FUNCTION_TYPE(GrGLuint program, GrGLsizei bufsize, GrGLsizei* length, GrGLenum* binaryFormat, void* binary);
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 */
234using GrGLGetDebugMessageLogFn = GrGLuint GR_GL_FUNCTION_TYPE(GrGLuint count, GrGLsizei bufSize, GrGLenum* sources, GrGLenum* types, GrGLuint* ids, GrGLenum* severities, GrGLsizei* lengths, GrGLchar* messageLog);
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>
278 GrGLFunction(Closure closure) : GrGLFunction() {
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...
281 static_assert(std::is_trivially_copyable<Closure>::value, "");
282 static_assert(std::is_trivially_destructible<Closure>::value, "");
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
#define GR_GL_FUNCTION_TYPE
Definition GrGLConfig.h:27
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 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
std::vector< std::shared_ptr< FakeTexture > > textures
static SkString identifier(const FontFamilyDesc &family, const FontDesc &font)
const EmbeddedViewParams * params
sk_sp< SkImage > image
Definition examples.cpp:29
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
static const uint8_t buffer[]
uint32_t uint32_t * format
uint32_t * target
const char * name
Definition fuchsia.cc:50
#define R(r)
size_t length
Win32Message message
FlTexture * texture
double y
double x
int32_t height
int32_t width
static void usage(char *argv0)
Point offset