Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Unified Diff: content/common/gpu/image_transport_surface_overlay_mac.h

Issue 1845563005: Refactor content/common/gpu into gpu/ipc/service (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Drop ref to deleted content_tests_gypi_values.content_unittests_ozone_sources Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/gpu/image_transport_surface_overlay_mac.h
diff --git a/content/common/gpu/image_transport_surface_overlay_mac.h b/content/common/gpu/image_transport_surface_overlay_mac.h
deleted file mode 100644
index 84527798958cd921083ef4aceaca5c2ec5ee1a63..0000000000000000000000000000000000000000
--- a/content/common/gpu/image_transport_surface_overlay_mac.h
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CONTENT_COMMON_GPU_IMAGE_TRANSPORT_SURFACE_OVERLAY_MAC_H_
-#define CONTENT_COMMON_GPU_IMAGE_TRANSPORT_SURFACE_OVERLAY_MAC_H_
-
-#include <list>
-#include <vector>
-
-#import "base/mac/scoped_nsobject.h"
-#include "base/timer/timer.h"
-#include "content/common/gpu/gpu_command_buffer_stub.h"
-#include "content/common/gpu/image_transport_surface.h"
-#include "ui/base/cocoa/remote_layer_api.h"
-#include "ui/events/latency_info.h"
-#include "ui/gl/gl_surface.h"
-#include "ui/gl/gpu_switching_observer.h"
-
-@class CAContext;
-@class CALayer;
-
-namespace content {
-
-class CALayerTree;
-class CALayerPartialDamageTree;
-
-class ImageTransportSurfaceOverlayMac : public gfx::GLSurface,
- public ui::GpuSwitchingObserver {
- public:
- ImageTransportSurfaceOverlayMac(GpuChannelManager* manager,
- GpuCommandBufferStub* stub,
- gpu::SurfaceHandle handle);
-
- // GLSurface implementation
- bool Initialize(gfx::GLSurface::Format format) override;
- void Destroy() override;
- bool Resize(const gfx::Size& size,
- float scale_factor,
- bool has_alpha) override;
- bool IsOffscreen() override;
- gfx::SwapResult SwapBuffers() override;
- gfx::SwapResult PostSubBuffer(int x, int y, int width, int height) override;
- bool SupportsPostSubBuffer() override;
- gfx::Size GetSize() override;
- void* GetHandle() override;
- bool OnMakeCurrent(gfx::GLContext* context) override;
- bool SetBackbufferAllocation(bool allocated) override;
- bool ScheduleOverlayPlane(int z_order,
- gfx::OverlayTransform transform,
- gl::GLImage* image,
- const gfx::Rect& bounds_rect,
- const gfx::RectF& crop_rect) override;
- bool ScheduleCALayer(gl::GLImage* contents_image,
- const gfx::RectF& contents_rect,
- float opacity,
- unsigned background_color,
- unsigned edge_aa_mask,
- const gfx::RectF& rect,
- bool is_clipped,
- const gfx::RectF& clip_rect,
- const gfx::Transform& transform,
- int sorting_context_id) override;
- bool IsSurfaceless() const override;
-
- // ui::GpuSwitchingObserver implementation.
- void OnGpuSwitched() override;
-
- private:
- class PendingSwap;
- class OverlayPlane;
-
- ~ImageTransportSurfaceOverlayMac() override;
-
- void SetLatencyInfo(const std::vector<ui::LatencyInfo>& latency_info);
- void BufferPresented(int32_t surface_id,
- const base::TimeTicks& vsync_timebase,
- const base::TimeDelta& vsync_interval);
- void SendAcceleratedSurfaceBuffersSwapped(
- int32_t surface_id,
- CAContextID ca_context_id,
- const gfx::ScopedRefCountedIOSurfaceMachPort& io_surface,
- const gfx::Size& size,
- float scale_factor,
- std::vector<ui::LatencyInfo> latency_info);
- gfx::SwapResult SwapBuffersInternal(const gfx::Rect& pixel_damage_rect);
-
- // Returns true if the front of |pending_swaps_| has completed, or has timed
- // out by |now|.
- bool IsFirstPendingSwapReadyToDisplay(
- const base::TimeTicks& now);
- // Sets the CALayer contents to the IOSurface for the front of
- // |pending_swaps_|, and removes it from the queue.
- void DisplayFirstPendingSwapImmediately();
- // Force that all of |pending_swaps_| displayed immediately, and the list be
- // cleared.
- void DisplayAndClearAllPendingSwaps();
- // Callback issued during the next vsync period ofter a SwapBuffers call,
- // to check if the swap is completed, and display the frame. Note that if
- // another SwapBuffers happens before this callback, the pending swap will
- // be tested at that time, too.
- void CheckPendingSwapsCallback();
- // Function to post the above callback. The argument |now| is passed as an
- // argument to avoid redundant calls to base::TimeTicks::Now.
- void PostCheckPendingSwapsCallbackIfNeeded(const base::TimeTicks& now);
-
- // Return the time of |interval_fraction| of the way through the next
- // vsync period that starts after |from|. If the vsync parameters are not
- // valid then return |from|.
- base::TimeTicks GetNextVSyncTimeAfter(
- const base::TimeTicks& from, double interval_fraction);
-
- GpuChannelManager* manager_;
- base::WeakPtr<GpuCommandBufferStub> stub_;
- gpu::SurfaceHandle handle_;
- std::vector<ui::LatencyInfo> latency_info_;
-
- bool use_remote_layer_api_;
- base::scoped_nsobject<CAContext> ca_context_;
- base::scoped_nsobject<CALayer> ca_root_layer_;
-
- gfx::Size pixel_size_;
- float scale_factor_;
-
- // The renderer ID that all contexts made current to this surface should be
- // targeting.
- GLint gl_renderer_id_;
-
- // Planes that have been scheduled, but have not had a subsequent SwapBuffers
- // call made yet.
- scoped_ptr<CALayerPartialDamageTree> pending_partial_damage_tree_;
- scoped_ptr<CALayerTree> pending_ca_layer_tree_;
-
- // A queue of all frames that have been created by SwapBuffersInternal but
- // have not yet been displayed. This queue is checked at the beginning of
- // every swap and also by a callback.
- std::deque<linked_ptr<PendingSwap>> pending_swaps_;
-
- // The planes that are currently being displayed on the screen.
- scoped_ptr<CALayerPartialDamageTree> current_partial_damage_tree_;
- scoped_ptr<CALayerTree> current_ca_layer_tree_;
-
- // The time of the last swap was issued. If this is more than two vsyncs, then
- // use the simpler non-smooth animation path.
- base::TimeTicks last_swap_time_;
-
- // The vsync information provided by the browser.
- bool vsync_parameters_valid_;
- base::TimeTicks vsync_timebase_;
- base::TimeDelta vsync_interval_;
-
- base::Timer display_pending_swap_timer_;
- base::WeakPtrFactory<ImageTransportSurfaceOverlayMac> weak_factory_;
-};
-
-} // namespace content
-
-#endif // CONTENT_COMMON_GPU_IMAGE_TRANSPORT_SURFACE_OVERLAY_MAC_H_
« no previous file with comments | « content/common/gpu/image_transport_surface_mac.mm ('k') | content/common/gpu/image_transport_surface_overlay_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698