#include "drm_hwcomposer.h"
#include "drmcomposition.h"
#include "drmcompositorworker.h"
-#include "drmframebuffer.h"
#include <pthread.h>
#include <queue>
#include <hardware/hardware.h>
#include <hardware/hwcomposer.h>
-#define DRM_DISPLAY_BUFFERS 2
-
namespace android {
-class GLWorkerCompositor;
-
class DrmDisplayCompositor {
public:
DrmDisplayCompositor();
private:
DrmDisplayCompositor(const DrmDisplayCompositor &) = delete;
- int ApplyPreComposite(DrmDisplayComposition *display_comp);
int ApplyFrame(DrmDisplayComposition *display_comp);
int ApplyDpms(DrmDisplayComposition *display_comp);
bool initialized_;
bool active_;
- int framebuffer_index_;
- DrmFramebuffer framebuffers_[DRM_DISPLAY_BUFFERS];
- std::unique_ptr<GLWorkerCompositor> pre_compositor_;
-
// mutable since we need to acquire in HaveQueuedComposites
mutable pthread_mutex_t lock_;