| Index: content/browser/compositor/vulkan_browser_compositor_output_surface.cc
|
| diff --git a/content/browser/compositor/vulkan_browser_compositor_output_surface.cc b/content/browser/compositor/vulkan_browser_compositor_output_surface.cc
|
| index 31ef0b7808f61cf3e192adbe76f8e8d197b18621..da97d27459160e3b82ac538da777df23ccde225f 100644
|
| --- a/content/browser/compositor/vulkan_browser_compositor_output_surface.cc
|
| +++ b/content/browser/compositor/vulkan_browser_compositor_output_surface.cc
|
| @@ -11,12 +11,13 @@
|
| namespace content {
|
|
|
| VulkanBrowserCompositorOutputSurface::VulkanBrowserCompositorOutputSurface(
|
| - const scoped_refptr<cc::VulkanContextProvider>& context,
|
| - const scoped_refptr<ui::CompositorVSyncManager>& vsync_manager,
|
| + scoped_refptr<cc::VulkanContextProvider> context,
|
| + scoped_refptr<ui::CompositorVSyncManager> vsync_manager,
|
| cc::SyntheticBeginFrameSource* begin_frame_source)
|
| - : BrowserCompositorOutputSurface(context,
|
| - vsync_manager,
|
| - begin_frame_source) {}
|
| + : BrowserCompositorOutputSurface(std::move(context),
|
| + std::move(vsync_manager),
|
| + begin_frame_source),
|
| + weak_ptr_factory_(this) {}
|
|
|
| VulkanBrowserCompositorOutputSurface::~VulkanBrowserCompositorOutputSurface() {
|
| Destroy();
|
| @@ -43,17 +44,67 @@ void VulkanBrowserCompositorOutputSurface::Destroy() {
|
| }
|
| }
|
|
|
| -void VulkanBrowserCompositorOutputSurface::OnGpuSwapBuffersCompleted(
|
| - const std::vector<ui::LatencyInfo>& latency_info,
|
| - gfx::SwapResult result,
|
| - const gpu::GpuProcessHostedCALayerTreeParamsMac* params_mac) {
|
| - RenderWidgetHostImpl::CompositorFrameDrawn(latency_info);
|
| - client_->DidReceiveSwapBuffersAck();
|
| +void VulkanBrowserCompositorOutputSurface::BindToClient(
|
| + cc::OutputSurfaceClient* client) {
|
| + DCHECK(client);
|
| + DCHECK(!client_);
|
| + client_ = client;
|
| +}
|
| +
|
| +void VulkanBrowserCompositorOutputSurface::EnsureBackbuffer() {
|
| + NOTIMPLEMENTED();
|
| +}
|
| +
|
| +void VulkanBrowserCompositorOutputSurface::DiscardBackbuffer() {
|
| + NOTIMPLEMENTED();
|
| +}
|
| +
|
| +void VulkanBrowserCompositorOutputSurface::BindFramebuffer() {
|
| + NOTIMPLEMENTED();
|
| +}
|
| +
|
| +bool VulkanBrowserCompositorOutputSurface::IsDisplayedAsOverlayPlane() const {
|
| + NOTIMPLEMENTED();
|
| + return false;
|
| +}
|
| +
|
| +unsigned VulkanBrowserCompositorOutputSurface::GetOverlayTextureId() const {
|
| + NOTIMPLEMENTED();
|
| + return 0;
|
| +}
|
| +
|
| +bool VulkanBrowserCompositorOutputSurface::SurfaceIsSuspendForRecycle() const {
|
| + NOTIMPLEMENTED();
|
| + return false;
|
| +}
|
| +
|
| +void VulkanBrowserCompositorOutputSurface::Reshape(
|
| + const gfx::Size& size,
|
| + float device_scale_factor,
|
| + const gfx::ColorSpace& color_space,
|
| + bool has_alpha) {
|
| + NOTIMPLEMENTED();
|
| +}
|
| +
|
| +uint32_t
|
| +VulkanBrowserCompositorOutputSurface::GetFramebufferCopyTextureFormat() {
|
| + NOTIMPLEMENTED();
|
| + return 0;
|
| }
|
|
|
| void VulkanBrowserCompositorOutputSurface::SwapBuffers(
|
| - cc::CompositorFrame* frame) {
|
| + cc::OutputSurfaceFrame frame) {
|
| surface_->SwapBuffers();
|
| +
|
| + base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&VulkanBrowserCompositorOutputSurface::SwapBuffersAck,
|
| + weak_ptr_factory_.GetWeakPtr()));
|
| +}
|
| +
|
| +void VulkanBrowserCompositorOutputSurface::SwapBuffersAck() {
|
| + DCHECK(client_);
|
| + client_->DidReceiveSwapBuffersAck();
|
| }
|
|
|
| } // namespace content
|
|
|