DSDisplayDeviceHWC: make updateFrame return bool type. 13/242013/1
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 21 Aug 2020 05:19:01 +0000 (14:19 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Fri, 21 Aug 2020 10:10:22 +0000 (19:10 +0900)
Change-Id: I1a75b0b6e4cbb5634e59cffca1b5d549ad825535

src/DSDisplayDevice/DSDisplayDeviceHWCTDMImpl.cpp
src/DSDisplayDevice/DSDisplayDeviceHWCTDMImpl.h
src/DSDisplayDevice/DSDisplayDeviceHWCWindowTDMImpl.cpp
src/DSDisplayDevice/DSDisplayDeviceHWCWindowTDMImpl.h
src/DSDisplayDevice/DSDisplayDeviceHWCWindowTDMTargetImpl.cpp
src/DSDisplayDevice/DSDisplayDeviceHWCWindowTDMTargetImpl.h
src/DSDisplayDevice/IDSDisplayDeviceHWCWindow.h

index bb52d70..f26f02a 100644 (file)
@@ -121,10 +121,9 @@ bool DSDisplayDeviceHWCTDMImpl::commit()
 {
        tdm_error terror;
        uint32_t numChanges;
-       bool frameUpdate = false;
 
-       if (!__updateFrameWindows(frameUpdate)) {
-               DSLOG_ERR("HWCTDM", "__updateTarget fails.");
+       if (!__updateFrameWindows()) {
+               DSLOG_INF("HWCTDM", "no update windows.");
                return false;
        }
 
@@ -158,6 +157,8 @@ bool DSDisplayDeviceHWCTDMImpl::commit()
                return false;
        }
 
+       DSLOG_INF("HWCTDM", "HWC COMMIT COMMIT COMMIT ~#######");
+
        __presentFrameDoneWindows();
 
        return true;
@@ -248,9 +249,11 @@ bool DSDisplayDeviceHWCTDMImpl::__acceptValidation()
        return true;
 }
 
-bool DSDisplayDeviceHWCTDMImpl::__updateFrameWindows(bool &frameUpdate)
+bool DSDisplayDeviceHWCTDMImpl::__updateFrameWindows()
 {
-       __targetWindow->updateFrame(frameUpdate);
+       if (!__targetWindow->updateFrame()) {
+               return false;
+       }
 
        return true;
 }
index f852caf..abdfc70 100644 (file)
@@ -55,7 +55,7 @@ private:
        bool __validate(uint32_t &numChanges);
        bool __updateChanges(uint32_t numChanges);
        bool __acceptValidation();
-       bool __updateFrameWindows(bool &frameUpdate);
+       bool __updateFrameWindows();
        bool __presentFrameWindows();
        bool __presentFrameDoneWindows();
 };
index cbb76e4..051cbd1 100644 (file)
@@ -39,10 +39,10 @@ tdm_hwc_window *DSDisplayDeviceHWCWindowTDMImpl::getNativeHWCWindow()
        return __twindow;
 }
 
-void DSDisplayDeviceHWCWindowTDMImpl::updateFrame(bool &update)
+bool DSDisplayDeviceHWCWindowTDMImpl::updateFrame()
 {
        // temp always false update
-       update = false;
+       return false;
 }
 
 void DSDisplayDeviceHWCWindowTDMImpl::presentFrame()
index 99796be..1a6fc6a 100644 (file)
@@ -38,7 +38,7 @@ public:
        ~DSDisplayDeviceHWCWindowTDMImpl();
        tdm_hwc_window *getNativeHWCWindow();
 
-       void updateFrame(bool &update) override;
+       bool updateFrame() override;
        void presentFrame() override;
        void onPresentFrameDone() override;
        std::shared_ptr<DSWindow> getWindow() override;
index a840510..983f4fa 100644 (file)
@@ -44,16 +44,19 @@ DSDisplayDeviceHWCWindowTDMTargetImpl::~DSDisplayDeviceHWCWindowTDMTargetImpl()
        close(__eventFd);
 }
 
-void DSDisplayDeviceHWCWindowTDMTargetImpl::updateFrame(bool &update)
+bool DSDisplayDeviceHWCWindowTDMTargetImpl::updateFrame()
 {
        std::shared_ptr<IDSBuffer> dsBuffer;
 
-       if (!__bufferQueue->canAcquireBuffer(false)) return;
+       if (!__bufferQueue->canAcquireBuffer(false)) {
+               DSLOG_INF("TDM_HWC", "no acquirable buffer.");
+               return false;
+       }
 
        dsBuffer = __bufferQueue->acquireBuffer();
        if (!dsBuffer) {
                DSLOG_ERR("TDM_HWC", "acquire buffer fails.");
-               return;
+               return false;
        }
 
        if (__buffer) {
@@ -63,7 +66,7 @@ void DSDisplayDeviceHWCWindowTDMTargetImpl::updateFrame(bool &update)
 
        __buffer= dsBuffer;
 
-       update = true;
+       return true;
 }
 
 void DSDisplayDeviceHWCWindowTDMTargetImpl::presentFrame()
index 2dadf75..756b920 100644 (file)
@@ -40,7 +40,7 @@ public:
        DSDisplayDeviceHWCWindowTDMTargetImpl(IDSDisplayDeviceHWC *deviceHWC, std::shared_ptr<IDSBufferQueue> __bufferQueue);
        ~DSDisplayDeviceHWCWindowTDMTargetImpl();
 
-       void updateFrame(bool &update) override;
+       bool updateFrame() override;
        void presentFrame() override;
        void onPresentFrameDone() override;
        std::shared_ptr<DSWindow> getWindow() override;
index 3379243..e8eb85f 100644 (file)
@@ -32,7 +32,7 @@ class IDSDisplayDeviceHWCWindow
 {
 public:
        virtual ~IDSDisplayDeviceHWCWindow() = default;
-       virtual void updateFrame(bool &update) = 0;
+       virtual bool updateFrame() = 0;
        virtual void presentFrame() = 0;
        virtual void onPresentFrameDone() = 0;
        virtual std::shared_ptr<DSWindow> getWindow() = 0;