5 #ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_ANGLE_SURFACE_MANAGER_H_
6 #define FLUTTER_SHELL_PLATFORM_WINDOWS_ANGLE_SURFACE_MANAGER_H_
10 #include <EGL/eglext.h>
11 #include <EGL/eglplatform.h>
12 #include <GLES2/gl2.h>
13 #include <GLES2/gl2ext.h>
18 #include <wrl/client.h>
21 #include "flutter/fml/macros.h"
30 static std::unique_ptr<AngleSurfaceManager>
Create(
bool enable_impeller);
86 EGLClientBuffer handle,
87 const EGLint* attributes)
const;
105 bool Initialize(
bool enable_impeller);
110 PFNEGLGETPLATFORMDISPLAYEXTPROC egl_get_platform_display_EXT,
111 const EGLint* config,
115 EGLDisplay egl_display_;
118 EGLContext egl_context_;
122 EGLContext egl_resource_context_;
125 EGLConfig egl_config_;
129 bool initialize_succeeded_;
132 EGLSurface render_surface_ = EGL_NO_SURFACE;
135 EGLint surface_width_ = 0;
136 EGLint surface_height_ = 0;
139 Microsoft::WRL::ComPtr<ID3D11Device> resolved_device_;
142 static int instance_count_;
149 #endif // FLUTTER_SHELL_PLATFORM_WINDOWS_ANGLE_SURFACE_MANAGER_H_