| Flutter Impeller |

Namespaces | Macros | Functions
proc_table_gles.cc File Reference
`#include "impeller/renderer/backend/gles/proc_table_gles.h"`
`#include <format>`
`#include <sstream>`
`#include "GLES3/gl3.h"`
`#include "impeller/base/allocation.h"`
`#include "impeller/base/comparable.h"`
`#include "impeller/base/validation.h"`
`#include "impeller/renderer/backend/gles/capabilities_gles.h"`
`#include "impeller/renderer/capabilities.h"`

Go to the source code of this file.

## Namespaces
| impeller

## Macros
#define | IMPELLER_PROC(proc_ivar)

## Functions
std::string_view | impeller::GLErrorToString (GLenum value)
bool | impeller::GLErrorIsFatal (GLenum value)
ProcTableGLES::Resolver | impeller::WrappedResolver (const ProcTableGLES::Resolver &resolver)
static const char * | impeller::FramebufferStatusToString (GLenum status)
static const char * | impeller::AttachmentTypeString (GLint type)
static std::string | impeller::DescribeFramebufferAttachment (const ProcTableGLES &gl, GLenum attachment)
static std::optional< GLenum > | impeller::ToDebugIdentifier (DebugResourceType type)
static bool | impeller::ResourceIsLive (const ProcTableGLES &gl, DebugResourceType type, GLint name)

## Macro Definition Documentation

## ◆ IMPELLER_PROC [1/2]

#define IMPELLER_PROC | ( |  | proc_ivar | ) |

Value:
if (auto fn_ptr = resolver(proc_ivar.name.data())) { \
proc_ivar.function = \
reinterpret_cast<decltype(proc_ivar.function)>(fn_ptr); \
proc_ivar.error_fn = error_fn; \
} else { \
VALIDATION_LOG << "Could not resolve " << proc_ivar.name; \
return; \
}

## ◆ IMPELLER_PROC [2/2]

#define IMPELLER_PROC | ( |  | proc_ivar | ) |

Value:
if (auto fn_ptr = resolver(proc_ivar.name.data())) { \
proc_ivar.function = \
reinterpret_cast<decltype(proc_ivar.function)>(fn_ptr); \
proc_ivar.error_fn = error_fn; \
}