aboutsummaryrefslogtreecommitdiff
path: root/backend/Backend.h
diff options
context:
space:
mode:
Diffstat (limited to 'backend/Backend.h')
-rw-r--r--backend/Backend.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/backend/Backend.h b/backend/Backend.h
index 898fece..fc9a733 100644
--- a/backend/Backend.h
+++ b/backend/Backend.h
@@ -27,11 +27,22 @@ class Backend {
virtual HWC2::Error ValidateDisplay(DrmHwcTwo::HwcDisplay *display,
uint32_t *num_types,
uint32_t *num_requests);
- virtual std::tuple<int, int> GetClientLayers(
+ virtual std::tuple<int, size_t> GetClientLayers(
DrmHwcTwo::HwcDisplay *display,
- const std::map<uint32_t, DrmHwcTwo::HwcLayer *> &z_map);
+ const std::vector<DrmHwcTwo::HwcLayer *> &layers);
virtual bool IsClientLayer(DrmHwcTwo::HwcDisplay *display,
DrmHwcTwo::HwcLayer *layer);
+
+ protected:
+ bool HardwareSupportsLayerType(HWC2::Composition comp_type);
+ uint32_t CalcPixOps(const std::vector<DrmHwcTwo::HwcLayer *> &layers,
+ size_t first_z, size_t size);
+ void MarkValidated(std::vector<DrmHwcTwo::HwcLayer *> &layers,
+ size_t client_first_z, size_t client_size);
+ std::tuple<int, int> GetExtraClientRange(
+ DrmHwcTwo::HwcDisplay *display,
+ const std::vector<DrmHwcTwo::HwcLayer *> &layers, int client_start,
+ size_t client_size);
};
} // namespace android