5 #ifndef FLUTTER_IMPELLER_TOOLKIT_GLVK_PROC_TABLE_H_
6 #define FLUTTER_IMPELLER_TOOLKIT_GLVK_PROC_TABLE_H_
13 #define FOR_EACH_GLVK_PROC(PROC) \
16 PROC(BindAttribLocation) \
18 PROC(BindFramebuffer) \
21 PROC(CheckFramebufferStatus) \
29 PROC(DeleteFramebuffers) \
32 PROC(DeleteTextures) \
35 PROC(EGLImageTargetTexture2DOES) \
37 PROC(EnableVertexAttribArray) \
39 PROC(FramebufferTexture2D) \
41 PROC(GenFramebuffers) \
45 PROC(GetUniformLocation) \
50 PROC(UniformMatrix4fv) \
52 PROC(VertexAttribPointer) \
63 using Resolver = std::function<
void*(
const char* function_name)>;
90 #define GLVK_PROC(name) GLProc<decltype(gl##name)> name = {"gl" #name, nullptr};
97 bool is_valid_ =
false;
A proc. table consisting of methods that are useful when interoperating between OpenGL and Vulkan....
ProcTable & operator=(const ProcTable &)=delete
std::function< void *(const char *function_name)> Resolver
ProcTable(const ProcTable &)=delete
ProcTable(const Resolver &resolver)
Create a proc table using a resolver to resolve OpenGL methods.
FOR_EACH_GLVK_PROC(GLVK_PROC)
bool IsValid() const
Determines if a proc. table is suitable for interop purposes. The absence of optional extension metho...