{
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;
}
return false;
}
+ DSLOG_INF("HWCTDM", "HWC COMMIT COMMIT COMMIT ~#######");
+
__presentFrameDoneWindows();
return true;
return true;
}
-bool DSDisplayDeviceHWCTDMImpl::__updateFrameWindows(bool &frameUpdate)
+bool DSDisplayDeviceHWCTDMImpl::__updateFrameWindows()
{
- __targetWindow->updateFrame(frameUpdate);
+ if (!__targetWindow->updateFrame()) {
+ return false;
+ }
return true;
}
bool __validate(uint32_t &numChanges);
bool __updateChanges(uint32_t numChanges);
bool __acceptValidation();
- bool __updateFrameWindows(bool &frameUpdate);
+ bool __updateFrameWindows();
bool __presentFrameWindows();
bool __presentFrameDoneWindows();
};
return __twindow;
}
-void DSDisplayDeviceHWCWindowTDMImpl::updateFrame(bool &update)
+bool DSDisplayDeviceHWCWindowTDMImpl::updateFrame()
{
// temp always false update
- update = false;
+ return false;
}
void DSDisplayDeviceHWCWindowTDMImpl::presentFrame()
~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;
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) {
__buffer= dsBuffer;
- update = true;
+ return true;
}
void DSDisplayDeviceHWCWindowTDMTargetImpl::presentFrame()
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;
{
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;