5#include "flutter/shell/common/shell_test_platform_view_gl.h"
11#include "flutter/shell/gpu/gpu_surface_gl_skia.h"
12#include "impeller/entity/gles/entity_shaders_gles.h"
15#include "impeller/scene/shaders/gles/scene_shaders_gles.h"
23 std::make_shared<fml::NonOwnedMapping>(
24 impeller_entity_shaders_gles_data,
25 impeller_entity_shaders_gles_length),
27 std::make_shared<fml::NonOwnedMapping>(
28 impeller_scene_shaders_gles_data, impeller_scene_shaders_gles_length),
36 std::shared_ptr<ShellTestVsyncClock> vsync_clock,
38 std::shared_ptr<ShellTestExternalViewEmbedder>
39 shell_test_external_view_embedder)
42 create_vsync_waiter_(
std::move(create_vsync_waiter)),
43 vsync_clock_(
std::move(vsync_clock)),
44 shell_test_external_view_embedder_(
45 std::move(shell_test_external_view_embedder)) {
47 auto resolver = [](
const char*
name) ->
void* {
48 return reinterpret_cast<void*
>(::eglGetProcAddress(
name));
53 auto gl = std::make_unique<impeller::ProcTableGLES>(resolver);
55 FML_LOG(
ERROR) <<
"Proc table when a shell unittests invalid.";
66 return create_vsync_waiter_();
71 vsync_clock_->SimulateVSync();
76 return std::make_unique<GPUSurfaceGLSkia>(
this,
true);
80std::shared_ptr<ExternalViewEmbedder>
82 return shell_test_external_view_embedder_;
88 return std::make_unique<SmoothPointerDataDispatcher>(delegate);
93std::unique_ptr<GLContextResult>
95 return std::make_unique<GLContextDefaultResult>(gl_surface_.
MakeCurrent());
119 return [
surface = &gl_surface_](
const char*
name) ->
void* {
static std::unique_ptr< SkEncoder > Make(SkWStream *dst, const SkPixmap *src, const SkYUVAPixmaps *srcYUVA, const SkColorSpace *srcYUVAColorSpace, const SkJpegEncoder::Options &options)
std::function< void *(const char *)> GLProcResolver
The interface for Engine to implement.
uint32_t GetFramebuffer(uint32_t width, uint32_t height) const
static std::shared_ptr< ContextGLES > Create(std::unique_ptr< ProcTableGLES > gl, const std::vector< std::shared_ptr< fml::Mapping > > &shader_libraries, bool enable_gpu_tracing)
#define FML_LOG(severity)
std::function< std::unique_ptr< VsyncWaiter >()> CreateVsyncWaiter
static std::vector< std::shared_ptr< fml::Mapping > > ShaderLibraryMappings()
std::function< std::unique_ptr< PointerDataDispatcher >(PointerDataDispatcher::Delegate &)> PointerDataDispatcherMaker
Signature for constructing PointerDataDispatcher.
DEF_SWITCHES_START aot vmservice shared library name