summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface/ExynosDeviceDrmInterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDeviceDrmInterface.cpp')
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDeviceDrmInterface.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDeviceDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDeviceDrmInterface.cpp
index 1df6fe9..0437bbb 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDeviceDrmInterface.cpp
+++ b/libhwc2.1/libdisplayinterface/ExynosDeviceDrmInterface.cpp
@@ -236,12 +236,19 @@ void ExynosDeviceDrmInterface::ExynosDrmEventHandler::handleEvent(uint64_t times
display->handleHotplugEvent();
}
-void ExynosDeviceDrmInterface::ExynosDrmEventHandler::handleHistogramEvent(void *bin) {
- ExynosDisplay *primaryDisplay = mExynosDevice->getDisplay(HWC_DISPLAY_PRIMARY);
- if (primaryDisplay != NULL) {
- ExynosDisplayDrmInterface *displayInterface =
- static_cast<ExynosDisplayDrmInterface *>(primaryDisplay->mDisplayInterface.get());
- displayInterface->setHistogramData(bin);
+void ExynosDeviceDrmInterface::ExynosDrmEventHandler::handleHistogramEvent(uint32_t crtc_id,
+ void *bin) {
+ ExynosDisplayDrmInterface *displayInterface;
+ DrmProperty crtc;
+ uint32_t id;
+
+ for (auto display : mExynosDevice->mDisplays) {
+ displayInterface =
+ static_cast<ExynosDisplayDrmInterface *>(display->mDisplayInterface.get());
+ id = displayInterface->getCrtcId();
+ if (id == crtc_id) {
+ displayInterface->setHistogramData(bin);
+ }
}
}