OSDN Git Service

drm_hwcomposer: Do not close duplicate gem handles in nvimporter
[android-x86/external-drm_hwcomposer.git] / drmcomposition.h
index ee2e258..ad7a5df 100644 (file)
@@ -22,7 +22,6 @@
 #include "drmplane.h"
 #include "importer.h"
 
-#include <deque>
 #include <map>
 #include <vector>
 
@@ -33,20 +32,22 @@ namespace android {
 
 struct DrmCompositionDisplayLayersMap {
   int display;
-  size_t num_layers;
-  hwc_layer_1_t *layers;
-  size_t *layer_indices;
+  std::vector<DrmHwcLayer> layers;
+
+  DrmCompositionDisplayLayersMap() = default;
+  DrmCompositionDisplayLayersMap(DrmCompositionDisplayLayersMap &&rhs) =
+      default;
 };
 
 class DrmComposition {
  public:
   DrmComposition(DrmResources *drm, Importer *importer);
 
-  int Init();
+  int Init(uint64_t frame_no);
 
-  int SetLayers(size_t num_displays,
-                const DrmCompositionDisplayLayersMap *maps);
+  int SetLayers(size_t num_displays, DrmCompositionDisplayLayersMap *maps);
   int SetDpmsMode(int display, uint32_t dpms_mode);
+  int SetDisplayMode(int display, const DrmMode &display_mode);
 
   std::unique_ptr<DrmDisplayComposition> TakeDisplayComposition(int display);
   DrmDisplayComposition *GetDisplayComposition(int display);