Flutter Engine
 
Loading...
Searching...
No Matches
proc_table.h File Reference

Go to the source code of this file.

Classes

class  impeller::glvk::ProcTable
 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...
 

Namespaces

namespace  impeller
 
namespace  impeller::glvk
 

Macros

#define FOR_EACH_GLVK_PROC(PROC)
 
#define GLVK_PROC(name)   GLProc<decltype(gl##name)> name = {"gl" #name, nullptr};
 

Macro Definition Documentation

◆ FOR_EACH_GLVK_PROC

#define FOR_EACH_GLVK_PROC (   PROC)

Definition at line 13 of file proc_table.h.

60 {
61 public:
62 using Resolver = std::function<void*(const char* function_name)>;
63
64 //----------------------------------------------------------------------------
65 /// @brief Create a proc table using a resolver to resolve OpenGL
66 /// methods.
67 ///
68 /// @param[in] resolver The resolver
69 ///
70 explicit ProcTable(const Resolver& resolver);
71
72 ~ProcTable();
73
74 ProcTable(const ProcTable&) = delete;
75
76 ProcTable& operator=(const ProcTable&) = delete;
77
78 //----------------------------------------------------------------------------
79 /// @brief Determines if a proc. table is suitable for interop purposes.
80 /// The absence of optional extension methods that have fallbacks
81 /// don't result in an invalid proc. table. But an invalid proc
82 /// table must always be discarded as there can be no error
83 /// recovery.
84 ///
85 /// @return True if valid, False otherwise.
86 ///
87 bool IsValid() const;
88
89#define GLVK_PROC(name) GLProc<decltype(gl##name)> name = {"gl" #name, nullptr};
90
92
93#undef GLVK_PROC
94
95 private:
96 bool is_valid_ = false;
97};
98
99} // namespace impeller::glvk
100
101#endif // FLUTTER_IMPELLER_TOOLKIT_GLVK_PROC_TABLE_H_
#define FOR_EACH_GLVK_PROC(PROC)
Definition proc_table.h:13
#define GLVK_PROC(name)
Definition proc_table.h:90

◆ GLVK_PROC

#define GLVK_PROC (   name)    GLProc<decltype(gl##name)> name = {"gl" #name, nullptr};

Definition at line 90 of file proc_table.h.