diff options
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDeviceDrmInterface.cpp')
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDeviceDrmInterface.cpp | 19 |
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); + } } } |