#include <proc_table_gles.h>
Public Types | |
using | Resolver = std::function< void *(const char *function_name)> |
Public Member Functions | |
ProcTableGLES (Resolver resolver) | |
ProcTableGLES (ProcTableGLES &&other)=default | |
~ProcTableGLES () | |
FOR_EACH_IMPELLER_PROC (IMPELLER_PROC) | |
FOR_EACH_IMPELLER_ES_ONLY_PROC (IMPELLER_PROC) | |
FOR_EACH_IMPELLER_DESKTOP_ONLY_PROC (IMPELLER_PROC) | |
FOR_EACH_IMPELLER_GLES3_PROC (IMPELLER_PROC) | |
FOR_EACH_IMPELLER_EXT_PROC (IMPELLER_PROC) | |
bool | IsValid () const |
void | ShaderSourceMapping (GLuint shader, const fml::Mapping &mapping, const std::vector< Scalar > &defines={}) const |
Set the source for the attached [shader]. More... | |
const DescriptionGLES * | GetDescription () const |
const std::shared_ptr< const CapabilitiesGLES > & | GetCapabilities () const |
std::string | DescribeCurrentFramebuffer () const |
std::string | GetProgramInfoLogString (GLuint program) const |
bool | IsCurrentFramebufferComplete () const |
bool | SupportsDebugLabels () const |
bool | SetDebugLabel (DebugResourceType type, GLint name, std::string_view label) const |
void | PushDebugGroup (const std::string &string) const |
void | PopDebugGroup () const |
std::optional< std::string > | ComputeShaderWithDefines (const fml::Mapping &mapping, const std::vector< Scalar > &defines) const |
Definition at line 282 of file proc_table_gles.h.
using impeller::ProcTableGLES::Resolver = std::function<void*(const char* function_name)> |
Definition at line 284 of file proc_table_gles.h.
|
explicit |
Definition at line 74 of file proc_table_gles.cc.
References FOR_EACH_IMPELLER_DESKTOP_ONLY_PROC(), FOR_EACH_IMPELLER_ES_ONLY_PROC(), FOR_EACH_IMPELLER_EXT_PROC(), FOR_EACH_IMPELLER_GLES3_PROC(), FOR_EACH_IMPELLER_PROC(), IMPELLER_PROC, IP_ENABLE_GLES_LABELING, VALIDATION_LOG, and impeller::WrappedResolver().
|
default |
|
default |
std::optional< std::string > impeller::ProcTableGLES::ComputeShaderWithDefines | ( | const fml::Mapping & | mapping, |
const std::vector< Scalar > & | defines | ||
) | const |
Definition at line 183 of file proc_table_gles.cc.
References VALIDATION_LOG.
Referenced by ShaderSourceMapping().
std::string impeller::ProcTableGLES::DescribeCurrentFramebuffer | ( | ) | const |
Definition at line 276 of file proc_table_gles.cc.
References impeller::DescribeFramebufferAttachment(), impeller::FramebufferStatusToString(), IsCurrentFramebufferComplete(), and impeller::SPrintF().
impeller::ProcTableGLES::FOR_EACH_IMPELLER_DESKTOP_ONLY_PROC | ( | IMPELLER_PROC | ) |
Referenced by ProcTableGLES().
impeller::ProcTableGLES::FOR_EACH_IMPELLER_ES_ONLY_PROC | ( | IMPELLER_PROC | ) |
Referenced by ProcTableGLES().
impeller::ProcTableGLES::FOR_EACH_IMPELLER_EXT_PROC | ( | IMPELLER_PROC | ) |
Referenced by ProcTableGLES().
impeller::ProcTableGLES::FOR_EACH_IMPELLER_GLES3_PROC | ( | IMPELLER_PROC | ) |
Referenced by ProcTableGLES().
impeller::ProcTableGLES::FOR_EACH_IMPELLER_PROC | ( | IMPELLER_PROC | ) |
Referenced by ProcTableGLES().
const std::shared_ptr< const CapabilitiesGLES > & impeller::ProcTableGLES::GetCapabilities | ( | ) | const |
Definition at line 211 of file proc_table_gles.cc.
Referenced by impeller::BufferBindingsGLES::BindVertexAttributes(), impeller::SamplerGLES::ConfigureBoundTexture(), and impeller::BufferBindingsGLES::UnbindVertexAttributes().
const DescriptionGLES * impeller::ProcTableGLES::GetDescription | ( | ) | const |
Definition at line 207 of file proc_table_gles.cc.
Referenced by impeller::CapabilitiesGLES::CapabilitiesGLES(), impeller::GPUTracerGLES::GPUTracerGLES(), and impeller::BufferBindingsGLES::ReadUniformsBindings().
std::string impeller::ProcTableGLES::GetProgramInfoLogString | ( | GLuint | program | ) | const |
Definition at line 424 of file proc_table_gles.cc.
References impeller::Allocation::GetBuffer(), and impeller::Allocation::Truncate().
bool impeller::ProcTableGLES::IsCurrentFramebufferComplete | ( | ) | const |
bool impeller::ProcTableGLES::IsValid | ( | ) | const |
Definition at line 155 of file proc_table_gles.cc.
void impeller::ProcTableGLES::PopDebugGroup | ( | ) | const |
Definition at line 414 of file proc_table_gles.cc.
void impeller::ProcTableGLES::PushDebugGroup | ( | const std::string & | string | ) | const |
Definition at line 397 of file proc_table_gles.cc.
Referenced by impeller::EncodeCommandsInReactor().
bool impeller::ProcTableGLES::SetDebugLabel | ( | DebugResourceType | type, |
GLint | name, | ||
std::string_view | label | ||
) | const |
Definition at line 374 of file proc_table_gles.cc.
References impeller::ResourceIsLive(), SupportsDebugLabels(), impeller::ToDebugIdentifier(), and type.
void impeller::ProcTableGLES::ShaderSourceMapping | ( | GLuint | shader, |
const fml::Mapping & | mapping, | ||
const std::vector< Scalar > & | defines = {} |
||
) | const |
Set the source for the attached [shader].
Optionally, [defines] may contain a string value that will be append to the shader source after the version marker. This can be used to support static specialization. For example, setting "#define Foo 1".
Definition at line 159 of file proc_table_gles.cc.
References ComputeShaderWithDefines(), and VALIDATION_LOG.
bool impeller::ProcTableGLES::SupportsDebugLabels | ( | ) | const |