diff options
Diffstat (limited to 'DrmHwcTwo.h')
-rw-r--r-- | DrmHwcTwo.h | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/DrmHwcTwo.h b/DrmHwcTwo.h index d489113..a0d8cdd 100644 --- a/DrmHwcTwo.h +++ b/DrmHwcTwo.h @@ -137,7 +137,7 @@ class DrmHwcTwo : public hwc2_device_t { HWC2::Error SetLayerSurfaceDamage(hwc_region_t damage); HWC2::Error SetLayerTransform(int32_t transform); HWC2::Error SetLayerVisibleRegion(hwc_region_t visible); - HWC2::Error SetLayerZOrder(uint32_t z); + HWC2::Error SetLayerZOrder(uint32_t order); private: // sf_type_ stores the initial type given to us by surfaceflinger, @@ -174,11 +174,7 @@ class DrmHwcTwo : public hwc2_device_t { void RegisterRefreshCallback(hwc2_callback_data_t data, hwc2_function_pointer_t func); HWC2::Error CreateComposition(bool test); - bool HardwareSupportsLayerType(HWC2::Composition comp_type); - uint32_t CalcPixOps(std::map<uint32_t, DrmHwcTwo::HwcLayer *> &z_map, - size_t first_z, size_t size); - void MarkValidated(std::map<uint32_t, DrmHwcTwo::HwcLayer *> &z_map, - size_t client_first_z, size_t client_size); + std::vector<DrmHwcTwo::HwcLayer *> GetOrderLayersByZPos(); void ClearDisplay(); @@ -218,6 +214,22 @@ class DrmHwcTwo : public hwc2_device_t { HWC2::Error GetDisplayBrightnessSupport(bool *supported); HWC2::Error SetDisplayBrightness(float); #endif +#if PLATFORM_SDK_VERSION > 29 + HWC2::Error GetDisplayConnectionType(uint32_t *outType); + HWC2::Error GetDisplayVsyncPeriod(hwc2_vsync_period_t *outVsyncPeriod); + + HWC2::Error SetActiveConfigWithConstraints( + hwc2_config_t config, + hwc_vsync_period_change_constraints_t *vsyncPeriodChangeConstraints, + hwc_vsync_period_change_timeline_t *outTimeline); + HWC2::Error SetAutoLowLatencyMode(bool on); + HWC2::Error GetSupportedContentTypes( + uint32_t *outNumSupportedContentTypes, + const uint32_t *outSupportedContentTypes); + + HWC2::Error SetContentType(int32_t contentType); +#endif + HWC2::Error GetDozeSupport(int32_t *support); HWC2::Error GetHdrCapabilities(uint32_t *num_types, int32_t *types, float *max_luminance, @@ -334,8 +346,8 @@ class DrmHwcTwo : public hwc2_device_t { std::map<hwc2_layer_t, HwcLayer> layers_; HwcLayer client_layer_; UniqueFd present_fence_; - int32_t color_mode_; - std::array<float, MATRIX_SIZE> color_transform_matrix_; + int32_t color_mode_{}; + std::array<float, MATRIX_SIZE> color_transform_matrix_{}; android_color_transform_t color_transform_hint_; uint32_t frame_no_ = 0; |