Skip to content
Snippets Groups Projects
Commit 938a7424 authored by Roman Stratiienko's avatar Roman Stratiienko
Browse files

drm_hwcomposer: Simplify DrmHwcTwo::GetDisplay()


Cosmetic change: make GetDisplay() non-static class method + use
deduced return type.

Signed-off-by: default avatarRoman Stratiienko <roman.o.stratiienko@globallogic.com>
parent dfac4561
No related branches found
No related tags found
No related merge requests found
...@@ -37,14 +37,6 @@ class DrmHwcTwo { ...@@ -37,14 +37,6 @@ class DrmHwcTwo {
#endif #endif
std::pair<HWC2_PFN_REFRESH, hwc2_callback_data_t> refresh_callback_{}; std::pair<HWC2_PFN_REFRESH, hwc2_callback_data_t> refresh_callback_{};
static HwcDisplay *GetDisplay(DrmHwcTwo *hwc, hwc2_display_t display_handle) {
auto it = hwc->displays_.find(display_handle);
if (it == hwc->displays_.end())
return nullptr;
return &it->second;
}
// Device functions // Device functions
HWC2::Error CreateVirtualDisplay(uint32_t width, uint32_t height, HWC2::Error CreateVirtualDisplay(uint32_t width, uint32_t height,
int32_t *format, hwc2_display_t *display); int32_t *format, hwc2_display_t *display);
...@@ -55,6 +47,11 @@ class DrmHwcTwo { ...@@ -55,6 +47,11 @@ class DrmHwcTwo {
hwc2_function_pointer_t function); hwc2_function_pointer_t function);
HWC2::Error CreateDisplay(hwc2_display_t displ, HWC2::DisplayType type); HWC2::Error CreateDisplay(hwc2_display_t displ, HWC2::DisplayType type);
auto GetDisplay(hwc2_display_t display_handle) {
return displays_.count(display_handle) != 0 ? &displays_.at(display_handle)
: nullptr;
}
auto &GetResMan() { auto &GetResMan() {
return resource_manager_; return resource_manager_;
} }
......
...@@ -74,8 +74,8 @@ static int32_t DisplayHook(hwc2_device_t *dev, hwc2_display_t display_handle, ...@@ -74,8 +74,8 @@ static int32_t DisplayHook(hwc2_device_t *dev, hwc2_display_t display_handle,
GetFuncName(__PRETTY_FUNCTION__).c_str()); GetFuncName(__PRETTY_FUNCTION__).c_str());
DrmHwcTwo *hwc = ToDrmHwcTwo(dev); DrmHwcTwo *hwc = ToDrmHwcTwo(dev);
const std::lock_guard<std::mutex> lock(hwc->GetResMan().GetMainLock()); const std::lock_guard<std::mutex> lock(hwc->GetResMan().GetMainLock());
HwcDisplay *display = DrmHwcTwo::GetDisplay(hwc, display_handle); auto *display = hwc->GetDisplay(display_handle);
if (!display) if (display == nullptr)
return static_cast<int32_t>(HWC2::Error::BadDisplay); return static_cast<int32_t>(HWC2::Error::BadDisplay);
return static_cast<int32_t>((display->*func)(std::forward<Args>(args)...)); return static_cast<int32_t>((display->*func)(std::forward<Args>(args)...));
...@@ -88,8 +88,8 @@ static int32_t LayerHook(hwc2_device_t *dev, hwc2_display_t display_handle, ...@@ -88,8 +88,8 @@ static int32_t LayerHook(hwc2_device_t *dev, hwc2_display_t display_handle,
layer_handle, GetFuncName(__PRETTY_FUNCTION__).c_str()); layer_handle, GetFuncName(__PRETTY_FUNCTION__).c_str());
DrmHwcTwo *hwc = ToDrmHwcTwo(dev); DrmHwcTwo *hwc = ToDrmHwcTwo(dev);
const std::lock_guard<std::mutex> lock(hwc->GetResMan().GetMainLock()); const std::lock_guard<std::mutex> lock(hwc->GetResMan().GetMainLock());
HwcDisplay *display = DrmHwcTwo::GetDisplay(hwc, display_handle); auto *display = hwc->GetDisplay(display_handle);
if (!display) if (display == nullptr)
return static_cast<int32_t>(HWC2::Error::BadDisplay); return static_cast<int32_t>(HWC2::Error::BadDisplay);
HwcLayer *layer = display->get_layer(layer_handle); HwcLayer *layer = display->get_layer(layer_handle);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment