5 #ifndef FLUTTER_IMPELLER_TOOLKIT_GLVK_TRAMPOLINE_H_
6 #define FLUTTER_IMPELLER_TOOLKIT_GLVK_TRAMPOLINE_H_
17 class AutoTrampolineContext;
113 std::unique_ptr<egl::Display> egl_display_;
114 std::unique_ptr<egl::Context> egl_context_;
115 std::unique_ptr<egl::Surface> egl_surface_;
116 std::unique_ptr<ProcTable> gl_;
117 GLuint program_ = GL_NONE;
118 GLint texture_uniform_location_ = 0;
119 GLint uv_transformation_location_ = 0;
120 bool is_valid_ =
false;
A texture source that wraps an instance of AHardwareBuffer.
An instance of an EGL context.
An instance of an EGL surface. There is no ability to create surfaces directly. Instead,...
An RAII object that makes the trampolines EGL context current when constructed and clears the EGL bin...
~AutoTrampolineContext()
Destroys the object and clears the previous EGL binding.
AutoTrampolineContext(const Trampoline &trampoline)
Constructs a new instance and makes the trampolines EGL context current on the calling thread.
AutoTrampolineContext & operator=(const AutoTrampolineContext &)=delete
AutoTrampolineContext(const AutoTrampolineContext &)=delete
An object used to interoperate between OpenGL and Vulkan.
~Trampoline()
Destroys the trampoline. There are no threading restrictions. EGL contexts on already bound to the ca...
bool BlitTextureOpenGLToVulkan(const GLTextureInfo &src_texture, const AHBTextureSourceVK &dst_texture) const
Perform a blit operation from the source OpenGL texture to a target Vulkan texture.
Trampoline & operator=(const Trampoline &)=delete
Trampoline(const Trampoline &)=delete
bool IsValid() const
Determines if this is a valid trampoline. There is no error recovery mechanism if a trampoline cannot...
AutoTrampolineContext MakeCurrentContext() const
Make the EGL context associated with this trampoline current on the calling thread.
Trampoline()
Constructs a new trampoline. It is recommended that these objects be cached and reused for all conver...
A 4x4 matrix using column-major storage.
Describes an OpenGL texture along with information on how to sample from it.