diff options
author | Michael Schuldt <michael.schuldt@bmw.de> | 2013-07-05 12:38:26 +0200 |
---|---|---|
committer | Timo Lotterbach <timo.lotterbach@bmw-carit.de> | 2013-07-05 12:56:48 +0200 |
commit | e460fd26532781f4474e4cf2cc7661e546a2c764 (patch) | |
tree | c6084491482c4b1871a1ee18289c7c56dbe8dfcb | |
parent | f0b9f4236dcc88e187c58d435eb3904584eca5d7 (diff) | |
download | layer_management-e460fd26532781f4474e4cf2cc7661e546a2c764.tar.gz |
ilmControl: added client API for synchronized surfaces
Signed-off-by: Michael Schuldt <michael.schuldt@bmw.de>
-rw-r--r-- | LayerManagerClient/ilmControl/include/ilm_control.h | 21 | ||||
-rw-r--r-- | LayerManagerClient/ilmControl/src/ilm_control.c | 37 | ||||
-rw-r--r-- | RELEASE_NOTES.txt | 8 |
3 files changed, 66 insertions, 0 deletions
diff --git a/LayerManagerClient/ilmControl/include/ilm_control.h b/LayerManagerClient/ilmControl/include/ilm_control.h index ef8b154..308dcba 100644 --- a/LayerManagerClient/ilmControl/include/ilm_control.h +++ b/LayerManagerClient/ilmControl/include/ilm_control.h @@ -569,6 +569,27 @@ ilmErrorTypes ilm_layerAddNotification(t_ilm_layer layer, layerNotificationFunc */ ilmErrorTypes ilm_layerRemoveNotification(t_ilm_layer layer); +/** + * \brief Enables sychronized composition dependent on the surface list + * \ingroup ilmControl + * \param[in] pSurfaceId array of surface ids + * \param[in] number number of surfaceids in the given array + * \return ILM_SUCCESS if the method call was successful + * \return ILM_FAILED if the client can not call the method on the service. + */ +ilmErrorTypes ilm_setSynchronizedSurfaces(t_ilm_surface *pSurfacId, const t_ilm_uint number); + +/** + * \brief Disables sychronized composition dependent on the surface list + * \ingroup ilmControl + * \param[in] pSurfaceId array of surface ids + * \param[in] number number of surfaceids in the given array + * \return ILM_SUCCESS if the method call was successful + * \return ILM_FAILED if the client can not call the method on the service. + */ +ilmErrorTypes ilm_removeSynchronizedSurfaces(t_ilm_surface *pSurfacId, const t_ilm_uint number); + + #ifdef __cplusplus } /**/ #endif /* __cplusplus */ diff --git a/LayerManagerClient/ilmControl/src/ilm_control.c b/LayerManagerClient/ilmControl/src/ilm_control.c index 8bbc290..b339cdd 100644 --- a/LayerManagerClient/ilmControl/src/ilm_control.c +++ b/LayerManagerClient/ilmControl/src/ilm_control.c @@ -1037,3 +1037,40 @@ ilmErrorTypes ilm_layerRemoveNotification(t_ilm_layer layer) gIpcModule.destroyMessage(command); return returnValue; } + +ilmErrorTypes ilm_setSynchronizedSurfaces(t_ilm_surface *pSurfaceId, const t_ilm_uint number) +{ + ilmErrorTypes returnValue = ILM_FAILED; + + t_ilm_message response = 0; + t_ilm_message command = gIpcModule.createMessage("SetSynchronizedSurfaces"); + if (pSurfaceId + && command + && gIpcModule.appendUintArray(command, pSurfaceId, number) + && sendAndWaitForResponse(command, &response, RESPONSE_TIMEOUT_IN_MS, &returnValue)) + { + returnValue = ILM_SUCCESS; + } + gIpcModule.destroyMessage(response); + gIpcModule.destroyMessage(command); + return returnValue; +} + +ilmErrorTypes ilm_removeSynchronizedSurfaces(t_ilm_surface *pSurfaceId, const t_ilm_uint number) +{ + ilmErrorTypes returnValue = ILM_FAILED; + + t_ilm_message response = 0; + t_ilm_message command = gIpcModule.createMessage("RemoveSynchronizedSurfaces"); + if (pSurfaceId + && command + && gIpcModule.appendUintArray(command, pSurfaceId, number) + && sendAndWaitForResponse(command, &response, RESPONSE_TIMEOUT_IN_MS, &returnValue)) + { + returnValue = ILM_SUCCESS; + } + gIpcModule.destroyMessage(response); + gIpcModule.destroyMessage(command); + return returnValue; +} + diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt index 8dea33c..9ea8f28 100644 --- a/RELEASE_NOTES.txt +++ b/RELEASE_NOTES.txt @@ -5,9 +5,17 @@ This version includes the following enhancements. Bugfixes: - Fixing minor memory leaks - LayerManagerCommands: fixed array handling, memory leak removed +- X11WindowSystem: fixed resize handling - X11EglImage: fixing a issue which causes memory leak in XServer - dbusIpcModule: DBUS Interspection result corrected +Improvements: +- Improved watchdog plug-in monitoring, to detect possible + deadlock in plug-ins and mainthread +- adding new interface ilm_setSynchronizedSurfaces, ilm_removeSynchronizedSurfaces + to establish synchronized composition on dedicated surfaces this avoids e.g. + flickering during night/day switch. + Version 1.0 ------------------ This version includes the following enhancements. |