#include "fl_compositor_opengl.h"#include <epoxy/egl.h>#include <epoxy/gl.h>#include "flutter/common/constants.h"#include "flutter/shell/platform/embedder/embedder.h"#include "flutter/shell/platform/linux/fl_engine_private.h"#include "flutter/shell/platform/linux/fl_framebuffer.h"Go to the source code of this file.
Classes | |
| struct | _FlCompositorOpenGL |
Functions | |
| G_DEFINE_TYPE (FlCompositorOpenGL, fl_compositor_opengl, fl_compositor_get_type()) static gchar *get_shader_log(GLuint shader) | |
| static gchar * | get_program_log (GLuint program) |
| static void | setup_shader (FlCompositorOpenGL *self) |
| static void | cleanup_shader (FlCompositorOpenGL *self) |
| static void | composite_layer (FlCompositorOpenGL *self, FlFramebuffer *framebuffer, double x, double y, int width, int height) |
| static gboolean | fl_compositor_opengl_present_layers (FlCompositor *compositor, const FlutterLayer **layers, size_t layers_count) |
| static gboolean | fl_compositor_opengl_render (FlCompositor *compositor, cairo_t *cr, GdkWindow *window) |
| static void | fl_compositor_opengl_dispose (GObject *object) |
| static void | fl_compositor_opengl_class_init (FlCompositorOpenGLClass *klass) |
| static void | fl_compositor_opengl_init (FlCompositorOpenGL *self) |
| FlCompositorOpenGL * | fl_compositor_opengl_new (FlTaskRunner *task_runner, FlOpenGLManager *opengl_manager, gboolean shareable) |
Variables | |
| static const char * | vertex_shader_src |
| static const char * | fragment_shader_src |
|
static |
Definition at line 171 of file fl_compositor_opengl.cc.
References fl_opengl_manager_make_current(), and self.
Referenced by fl_compositor_opengl_dispose().
|
static |
Definition at line 187 of file fl_compositor_opengl.cc.
References fl_framebuffer_get_height(), fl_framebuffer_get_texture_id(), fl_framebuffer_get_width(), height, self, texture_id, width, x, and y.
Referenced by fl_compositor_opengl_present_layers().
|
static |
Definition at line 403 of file fl_compositor_opengl.cc.
References fl_compositor_opengl_dispose(), fl_compositor_opengl_present_layers(), and fl_compositor_opengl_render().
|
static |
Definition at line 389 of file fl_compositor_opengl.cc.
References cleanup_shader(), and self.
Referenced by fl_compositor_opengl_class_init().
|
static |
Definition at line 411 of file fl_compositor_opengl.cc.
References self.
| FlCompositorOpenGL * fl_compositor_opengl_new | ( | FlTaskRunner * | task_runner, |
| FlOpenGLManager * | opengl_manager, | ||
| gboolean | shareable | ||
| ) |
Definition at line 415 of file fl_compositor_opengl.cc.
References opengl_manager, self, setup_shader(), and shareable.
Referenced by setup_opengl(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().
|
static |
Definition at line 206 of file fl_compositor_opengl.cc.
References FlutterLayer::backing_store, composite_layer(), epoxy_has_gl_extension(), fl_framebuffer_get_height(), fl_framebuffer_get_id(), fl_framebuffer_get_width(), fl_framebuffer_new(), fl_task_runner_stop_wait(), FlutterOpenGLBackingStore::framebuffer, height, FlutterSize::height, i, kFlutterLayerContentTypeBackingStore, kFlutterLayerContentTypePlatformView, layers, layers_count, FlutterLayer::offset, FlutterBackingStore::open_gl, self, FlutterLayer::size, TRUE, FlutterLayer::type, FlutterOpenGLFramebuffer::user_data, width, FlutterSize::width, FlutterPoint::x, and FlutterPoint::y.
Referenced by fl_compositor_opengl_class_init().
|
static |
Definition at line 337 of file fl_compositor_opengl.cc.
References fl_framebuffer_create_sibling(), fl_framebuffer_get_height(), fl_framebuffer_get_shareable(), fl_framebuffer_get_texture_id(), fl_framebuffer_get_width(), fl_task_runner_wait(), g_autoptr(), gdk_cairo_draw_from_gl(), gdk_window_get_height(), gdk_window_get_scale_factor(), gdk_window_get_width(), height, self, texture_id, TRUE, width, and window.
Referenced by fl_compositor_opengl_class_init().
| G_DEFINE_TYPE | ( | FlCompositorOpenGL | , |
| fl_compositor_opengl | , | ||
| fl_compositor_get_type() | |||
| ) |
Definition at line 82 of file fl_compositor_opengl.cc.
|
static |
Definition at line 100 of file fl_compositor_opengl.cc.
Referenced by setup_shader().
|
static |
Definition at line 112 of file fl_compositor_opengl.cc.
References fl_opengl_manager_make_current(), fragment_shader_src, get_program_log(), self, and vertex_shader_src.
Referenced by fl_compositor_opengl_new().
|
static |
Definition at line 29 of file fl_compositor_opengl.cc.
Referenced by setup_shader().
|
static |
Definition at line 16 of file fl_compositor_opengl.cc.
Referenced by setup_shader().