#include "ui/ozone/platform/wayland/gpu/gl_surface_egl_readback_wayland.h"
#include "base/memory/shared_memory_mapping.h"
#include "base/memory/unsafe_shared_memory_region.h"
#include "base/numerics/checked_math.h"
#include "ui/ozone/platform/wayland/gpu/wayland_buffer_manager_gpu.h"
namespace ui {
namespace {
constexpr size_t kMaxBuffers = …;
constexpr size_t kBytesPerPixelBGRA = …;
}
GLSurfaceEglReadbackWayland::PixelBuffer::PixelBuffer(
base::WritableSharedMemoryMapping shm_mapping,
uint32_t buffer_id)
: … { … }
GLSurfaceEglReadbackWayland::PixelBuffer::~PixelBuffer() = default;
GLSurfaceEglReadbackWayland::GLSurfaceEglReadbackWayland(
gl::GLDisplayEGL* display,
gfx::AcceleratedWidget widget,
WaylandBufferManagerGpu* buffer_manager)
: … { … }
void GLSurfaceEglReadbackWayland::Destroy() { … }
bool GLSurfaceEglReadbackWayland::Resize(const gfx::Size& size,
float scale_factor,
const gfx::ColorSpace& color_space,
bool has_alpha) { … }
bool GLSurfaceEglReadbackWayland::SupportsAsyncSwap() { … }
gfx::SwapResult GLSurfaceEglReadbackWayland::SwapBuffers(
PresentationCallback callback,
gfx::FrameData data) { … }
void GLSurfaceEglReadbackWayland::SwapBuffersAsync(
SwapCompletionCallback completion_callback,
PresentationCallback presentation_callback,
gfx::FrameData data) { … }
gfx::SurfaceOrigin GLSurfaceEglReadbackWayland::GetOrigin() const { … }
GLSurfaceEglReadbackWayland::~GLSurfaceEglReadbackWayland() { … }
void GLSurfaceEglReadbackWayland::OnSubmission(
uint32_t frame_id,
const gfx::SwapResult& swap_result,
gfx::GpuFenceHandle release_fence) { … }
void GLSurfaceEglReadbackWayland::OnPresentation(
uint32_t frame_id,
const gfx::PresentationFeedback& feedback) { … }
void GLSurfaceEglReadbackWayland::DestroyBuffers() { … }
}