summaryrefslogtreecommitdiff
path: root/drmhwctwo.cpp
diff options
context:
space:
mode:
authorKalyan Kondapally <kalyan.kondapally@intel.com>2016-11-10 10:59:50 -0800
committerRobert Foss <robert.foss@collabora.com>2017-04-25 12:52:57 -0400
commitda5839cf9258f7b06b78c8a22e5749e390603b11 (patch)
tree9602e3c258d62bfa466913bf37d9caf9679b85b4 /drmhwctwo.cpp
parentac8741504befec1d8aa2067a6eb5c2088bc84160 (diff)
drm_hwcomposer: Add support for GetColorModes & SetCursorPosition
For now we just return HAL_COLOR_MODE_NATIVE and store cursor position. BUG=None. TEST=None. Change-Id: Id6a7e157dbd9fc41fc53c0e33a6eb523632b9b7a Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Diffstat (limited to 'drmhwctwo.cpp')
-rw-r--r--drmhwctwo.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/drmhwctwo.cpp b/drmhwctwo.cpp
index 138f5fa..e57d842 100644
--- a/drmhwctwo.cpp
+++ b/drmhwctwo.cpp
@@ -319,8 +319,13 @@ HWC2::Error DrmHwcTwo::HwcDisplay::GetClientTargetSupport(uint32_t width,
HWC2::Error DrmHwcTwo::HwcDisplay::GetColorModes(uint32_t *num_modes,
int32_t *modes) {
supported(__func__);
- // TODO: android_color_mode_t isn't defined yet!
- return unsupported(__func__, num_modes, modes);
+ if (!modes)
+ *num_modes = 1;
+
+ if (modes)
+ *modes = HAL_COLOR_MODE_NATIVE;
+
+ return HWC2::Error::None;
}
HWC2::Error DrmHwcTwo::HwcDisplay::GetDisplayAttribute(hwc2_config_t config,
@@ -630,8 +635,12 @@ HWC2::Error DrmHwcTwo::HwcDisplay::SetClientTarget(buffer_handle_t target,
HWC2::Error DrmHwcTwo::HwcDisplay::SetColorMode(int32_t mode) {
supported(__func__);
- // TODO: android_color_mode_t isn't defined yet!
- return unsupported(__func__, mode);
+
+ if (mode != HAL_COLOR_MODE_NATIVE)
+ return HWC2::Error::Unsupported;
+
+ color_mode_ = mode;
+ return HWC2::Error::None;
}
HWC2::Error DrmHwcTwo::HwcDisplay::SetColorTransform(const float *matrix,
@@ -706,8 +715,9 @@ HWC2::Error DrmHwcTwo::HwcDisplay::ValidateDisplay(uint32_t *num_types,
HWC2::Error DrmHwcTwo::HwcLayer::SetCursorPosition(int32_t x, int32_t y) {
supported(__func__);
- // TODO: Implement proper cursor support
- return unsupported(__func__, x, y);
+ cursor_x_ = x;
+ cursor_y_ = y;
+ return HWC2::Error::None;
}
HWC2::Error DrmHwcTwo::HwcLayer::SetLayerBlendMode(int32_t mode) {