diff options
Diffstat (limited to 'compositor/DrmDisplayCompositor.h')
-rw-r--r-- | compositor/DrmDisplayCompositor.h | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/compositor/DrmDisplayCompositor.h b/compositor/DrmDisplayCompositor.h index ab3f867..aebb6ff 100644 --- a/compositor/DrmDisplayCompositor.h +++ b/compositor/DrmDisplayCompositor.h @@ -21,21 +21,17 @@ #include <hardware/hwcomposer.h> #include <pthread.h> +#include <functional> #include <memory> #include <sstream> #include <tuple> #include "DrmDisplayComposition.h" -#include "DrmFramebuffer.h" #include "Planner.h" #include "drm/ResourceManager.h" #include "drm/VSyncWorker.h" #include "drmhwcomposer.h" -// One for the front, one for the back, and one for cases where we need to -// squash a frame that the hw can't display with hw overlays. -#define DRM_DISPLAY_BUFFERS 3 - // If a scene is still for this number of vblanks flatten it to reduce power // consumption. #define FLATTEN_COUNTDOWN_INIT 60 @@ -47,8 +43,6 @@ enum class FlatteningState { kNotNeeded, kClientRequested, kClientDone, - kSerial, - kConcurrent }; std::ostream &operator<<(std::ostream &str, FlatteningState state); @@ -71,7 +65,6 @@ class DrmDisplayCompositor { refresh_callback_hook_ = reinterpret_cast<HWC2_PFN_REFRESH>(hook); } - std::unique_ptr<DrmDisplayComposition> CreateComposition() const; std::unique_ptr<DrmDisplayComposition> CreateInitializedComposition() const; int ApplyComposition(std::unique_ptr<DrmDisplayComposition> composition); int TestComposition(DrmDisplayComposition *composition); @@ -106,27 +99,17 @@ class DrmDisplayCompositor { static const int kAcquireWaitTries = 5; static const int kAcquireWaitTimeoutMs = 100; - int CommitFrame(DrmDisplayComposition *display_comp, bool test_only, - DrmConnector *writeback_conn = NULL, - DrmHwcBuffer *writeback_buffer = NULL); - int SetupWritebackCommit(drmModeAtomicReqPtr pset, uint32_t crtc_id, - DrmConnector *writeback_conn, - DrmHwcBuffer *writeback_buffer); + int CommitFrame(DrmDisplayComposition *display_comp, bool test_only); int ApplyDpms(DrmDisplayComposition *display_comp); int DisablePlanes(DrmDisplayComposition *display_comp); void ApplyFrame(std::unique_ptr<DrmDisplayComposition> composition, - int status, bool writeback = false); + int status); void SetFlattening(FlatteningState new_state); bool IsFlatteningNeeded() const; int FlattenActiveComposition(); int FlattenOnClient(); - int FlattenSerial(DrmConnector *writeback_conn); - int FlattenConcurrent(DrmConnector *writeback_conn); - int FlattenOnDisplay(std::unique_ptr<DrmDisplayComposition> &src, - DrmConnector *writeback_conn, DrmMode &src_mode, - DrmHwcLayer *writeback_layer); bool CountdownExpired() const; @@ -143,11 +126,8 @@ class DrmDisplayCompositor { ModeState mode_; - int framebuffer_index_; - DrmFramebuffer framebuffers_[DRM_DISPLAY_BUFFERS]; - // mutable since we need to acquire in Dump() - mutable pthread_mutex_t lock_; + mutable pthread_mutex_t lock_{}; // State tracking progress since our last Dump(). These are mutable since // we need to reset them on every Dump() call. @@ -156,7 +136,6 @@ class DrmDisplayCompositor { VSyncWorker vsync_worker_; int64_t flatten_countdown_; std::unique_ptr<Planner> planner_; - int writeback_fence_; FlatteningState flattening_state_; uint32_t frames_flattened_; |