A proc. table consisting of methods that are useful when interoperating between OpenGL and Vulkan. This is different from the OpenGL proc. table since it may contain more interop extension related methods.
More...
#include <proc_table.h>
|
| using | Resolver = std::function< void *(const char *function_name)> |
| |
A proc. table consisting of methods that are useful when interoperating between OpenGL and Vulkan. This is different from the OpenGL proc. table since it may contain more interop extension related methods.
Definition at line 61 of file proc_table.h.
◆ Resolver
◆ ProcTable() [1/2]
| impeller::glvk::ProcTable::ProcTable |
( |
const Resolver & |
resolver | ) |
|
|
explicit |
Create a proc table using a resolver to resolve OpenGL methods.
- Parameters
-
Definition at line 11 of file proc_table.cc.
16 auto error_fn =
reinterpret_cast<PFNGLGETERRORPROC
>(resolver(
"glGetError"));
22 #define GLVK_PROC(proc_ivar) \
23 if (auto fn_ptr = resolver(proc_ivar.name)) { \
24 proc_ivar.function = \
25 reinterpret_cast<decltype(proc_ivar.function)>(fn_ptr); \
26 proc_ivar.error_fn = error_fn; \
28 VALIDATION_LOG << "Could not resolve " << proc_ivar.name; \
References FOR_EACH_GLVK_PROC(), GLVK_PROC, and VALIDATION_LOG.
◆ ~ProcTable()
| impeller::glvk::ProcTable::~ProcTable |
( |
| ) |
|
|
default |
◆ ProcTable() [2/2]
| impeller::glvk::ProcTable::ProcTable |
( |
const ProcTable & |
| ) |
|
|
delete |
◆ FOR_EACH_GLVK_PROC()
| impeller::glvk::ProcTable::FOR_EACH_GLVK_PROC |
( |
GLVK_PROC |
| ) |
|
◆ IsValid()
| bool impeller::glvk::ProcTable::IsValid |
( |
| ) |
const |
Determines if a proc. table is suitable for interop purposes. The absence of optional extension methods that have fallbacks don't result in an invalid proc. table. But an invalid proc table must always be discarded as there can be no error recovery.
- Returns
- True if valid, False otherwise.
Definition at line 41 of file proc_table.cc.
◆ operator=()
The documentation for this class was generated from the following files: