profile/ivi/layer-management.git
11 years agoIpcModule: Fix Memory Leak therefore introducing destroyMessage functionality ivi-layer-management_version_0_9_7_rc2
Michael Schuldt [Tue, 4 Sep 2012 12:18:10 +0000 (14:18 +0200)]
IpcModule: Fix Memory Leak therefore introducing destroyMessage functionality

- This patch will fix a huge memory leak on both client
  and generic communicator
- This memory leak will not occur on all ipc module only if dbus is used.
- To guarantee that the ipc message is successfull destroyed
  destroyMessage functionality is added.

11 years agoLayerManagerService: Updating Release Notes
Michael Schuldt [Mon, 3 Sep 2012 09:29:56 +0000 (11:29 +0200)]
LayerManagerService: Updating Release Notes

11 years agoX11WindowSystem: Slight changes in inheritance behaviour
Michael Schuldt [Thu, 30 Aug 2012 09:00:41 +0000 (11:00 +0200)]
X11WindowSystem: Slight changes in inheritance behaviour

- All WindowSystems which are derived from the X11WindowSystem
  can now overwrite the calculateSurfaceFps and calculateFps Method.

11 years agoLog: Introducing diagnostic callback injection
Michael Schuldt [Thu, 30 Aug 2012 08:58:59 +0000 (10:58 +0200)]
Log: Introducing diagnostic callback injection

- On the OEM side it is needed to introduce diagnostic callbacks
- Therefore it is possible to control the platform specific plugIn
  by message injection from the dlt-deamon
- Currently the functionality is complete working WITH_DLT=ON
  otherwise only the callback registration is working, but no
  callback will occur.

11 years agoX11WindowSystem : Fixing wrong composition.
Michael Schuldt [Fri, 24 Aug 2012 10:00:57 +0000 (12:00 +0200)]
X11WindowSystem : Fixing wrong composition.

- If a running application will be destroyed or the window
  will be unmapped, there was an issue that the composition will
  display garbage at top of any surfaces.

- Due to the fact that enableRendering and disableRendering is introduced
  that issue is fixed.

11 years agoWaylandBaseWindowSystem: fixing build issue.
Michael Schuldt [Fri, 24 Aug 2012 09:58:06 +0000 (11:58 +0200)]
WaylandBaseWindowSystem: fixing build issue.

11 years agoRenderers: refactor recomposition methods
Adam Cheney [Fri, 10 Aug 2012 03:23:29 +0000 (20:23 -0700)]
Renderers: refactor recomposition methods

- Adds support in GraphicSystem for accepting a LayerList to
  render, instead of only one Layer.  This enables future
  optimizations that change the rendering order.
      eg. - reverse render order to utilize depth test culling
          - draw multiple layers/surfaces at once (multitexturing)

  also includes a 'clear' flag so the background clear can be
  optimized as well.
      eg. - no need to clear obscurred pixels

- Don't reset any damage flags until after rendering has taken
  place.  Detailed damage information could be useful to the
  GraphicSystem when it is rendering.  Wait until after
  recomposition, then clear all flags. Share the routine to
  clear damage flags in the BaseWindowSystem.

11 years agoLayerManagerService : Adding Global Object search path during Plugin Load.
Michael Schuldt [Thu, 23 Aug 2012 09:59:42 +0000 (11:59 +0200)]
LayerManagerService : Adding Global Object search path during Plugin Load.

- extending the dlopen call by RTLD_GLOBAL, due to the fact that
  there is a bug in libwayland-server / client which is currently not
  working with only RTLD_NOW.

- this shoud have no side effects on other plugins.

11 years agoWindowSystem : Updating WaylandBaseWindowSystem.
Michael Schuldt [Thu, 23 Aug 2012 09:55:38 +0000 (11:55 +0200)]
WindowSystem : Updating WaylandBaseWindowSystem.

- Update WaylandBaseWindowSystem to support wayland version 0.95
- removing functions which not needed anymore.

11 years agoGraphic: Changing Log and Startup behaviour to condition signaling.
Michael Schuldt [Fri, 3 Aug 2012 10:36:57 +0000 (13:36 +0300)]
Graphic: Changing Log and Startup behaviour to condition signaling.

- Condition signaling has to be merged with master to speed up
  layermanagement startup

11 years agoRenderUtil: Activating Binary Shader support
Michael Schuldt [Thu, 2 Aug 2012 15:39:43 +0000 (18:39 +0300)]
RenderUtil: Activating Binary Shader support

11 years agoLayerManagerCommands: Adding code to calculate surface target values
Michael Schuldt [Fri, 6 Jul 2012 11:11:09 +0000 (13:11 +0200)]
LayerManagerCommands: Adding code to calculate surface target values

- If Source and Destination Region of a Layer / Surface has changed,
  the surface targetposition has to be calculated.

11 years agoViewportTransform : Calculation moved to surface object
Michael Schuldt [Fri, 6 Jul 2012 10:22:21 +0000 (12:22 +0200)]
ViewportTransform : Calculation moved to surface object

- Due to this calculation the renderer does have to update
  these value every render loop.
- The target source and destination region, has only be calculated if
  the corresponding value have changed.
- ViewportTransform moved to LayerManagerService

11 years agoLayerManagerControl: added input properties to "get surface <surfaceid>" and "get...
Timo Lotterbach [Wed, 8 Aug 2012 07:01:46 +0000 (00:01 -0700)]
LayerManagerControl: added input properties to "get surface <surfaceid>" and "get scene"

11 years agotoolchain.cmake: Improve sample file to demonstrate cross compilation
Frédéric Blain [Fri, 3 Aug 2012 08:14:52 +0000 (10:14 +0200)]
toolchain.cmake: Improve sample file to demonstrate cross compilation

This patch show the mandatory cmake variables to use when one need to cross compile LayerManager.
It also correct the type of other cmake variables.

11 years agoX11WindowSystem: Remove EGL context switching
Rahul Singhal [Wed, 1 Aug 2012 05:17:47 +0000 (10:47 +0530)]
X11WindowSystem: Remove EGL context switching

A lot of EGL context switching was going on always to support a rare
case of creating a custom shader in a different thread. Added a
spin-lock mechanism to counter the multi-threading problem. Now
context switch only happens when a shader is being created. This
gives a 2% performance improvements.

11 years agoGLESGraphicsystem: Remove some redundant state changes
Rahul Singhal [Wed, 1 Aug 2012 06:13:06 +0000 (11:43 +0530)]
GLESGraphicsystem: Remove some redundant state changes

11 years agoGLXApplicationExample: Demonstrate new IPC for Input Events
Frédéric Blain [Wed, 1 Aug 2012 14:49:32 +0000 (16:49 +0200)]
GLXApplicationExample: Demonstrate new IPC for Input Events

This patch show how to use the newly added IPC for the LM input framework.
It can serve as example for client applications.

11 years agoMake InputManager.h installable
Frédéric Blain [Wed, 25 Jul 2012 08:10:01 +0000 (10:10 +0200)]
Make InputManager.h installable

This patch ensure InputManager.h can be installed on a system. It removes dependencies toward config.h

11 years agoImprove plugin search over specific filesystem type
Frédéric Blain [Mon, 6 Aug 2012 16:48:56 +0000 (18:48 +0200)]
Improve plugin search over specific filesystem type

"man readdir" explains that only few filesystem type support a good filling of  "struct dirent.d_type". (nfs does not for instance)
To be POSIX compliant, we should use stat() instead to look if a file is a regular file.

This patch update getSharedLibrariesFromDirectory() to use  stat() when necessary & follow symlinks until reaching the real target.

11 years agoWaylandRenderer: Fixed broken build of Wayland Renderer
Timo Lotterbach [Fri, 20 Jul 2012 10:52:56 +0000 (03:52 -0700)]
WaylandRenderer: Fixed broken build of Wayland Renderer

11 years agoTcpIpcModule: fix signal handling
Timo Lotterbach [Tue, 17 Jul 2012 10:40:09 +0000 (03:40 -0700)]
TcpIpcModule: fix signal handling

11 years agoGenericCommunicator: refactored header file dependencies, logging
Timo Lotterbach [Mon, 16 Jul 2012 11:01:00 +0000 (04:01 -0700)]
GenericCommunicator: refactored header file dependencies, logging

11 years agoAdd keyboard support to GLXApplicationExample
Frédéric Blain [Wed, 11 Jul 2012 10:08:11 +0000 (12:08 +0200)]
Add keyboard support to GLXApplicationExample

This patch adds keyboard support to the sample application GLXApplicationExample (Just print stuffs on std ouput when a key is pressed or released).
It can be used for input framework validation.

11 years agoAdd input event support for X11WindowSystem
Frédéric Blain [Wed, 11 Jul 2012 09:47:55 +0000 (11:47 +0200)]
Add input event support for X11WindowSystem

This patch adds support for pointer & keyboard events to X11 window system.
It can serve as example to introduce input events support for other window system.

Note that MultiTouch is _not_ yet supported for the following reasons:
 1- I don't have any plateform runing a recent X11, which is needed for validation
 2- We would need to upgrade the whole X11WindowSystem to use XInput2, & I don't have the time for the moment
I've added comments in X11WindowSystem.cpp to indicate what has to be done. If someone wants to takeover this task .. ;)

11 years agoUpdate layerManagerControl with new IPCs
Frédéric Blain [Wed, 11 Jul 2012 08:29:45 +0000 (10:29 +0200)]
Update layerManagerControl with new IPCs

11 years agoUnit tests for new IPC
Frédéric Blain [Tue, 10 Jul 2012 10:51:28 +0000 (12:51 +0200)]
Unit tests for new IPC

This patch adds unit tests for the new IPC introduced by the Input Event framework. DBUSCommunicatorTest & IlmCommandTest have been completed.

11 years agoAdd new ipc for Input Events management from client
Frédéric Blain [Mon, 9 Jul 2012 11:09:11 +0000 (13:09 +0200)]
Add new ipc for Input Events management from client

This patch adds 3 new IPC :
 + SurfaceSetKeyboardFocusOn()
   -> Synchronous
   -> Set the keyboard focus on a particular surface
 + SurfaceGetKeyboardFocus()
   -> Synchronous
   -> Get the identifier of the surface which currently hold the keyboard focus
 +SurfaceUpdateInputEventAcceptanceOn()
   -> Asynchronous
   -> Indicate from which input devices type a surface can accept input events.

The patch also updates the IPC SurfaceGetProperties() so that it now returns the list of type of devices from which a surface can accept input events.

Modules changed are :
 + LayerManagerCommands : Add the 3 new commands
 + GenericCommunicator : Add support for the new commands
 + ilmClient : Make the new commands available for the clients

11 years agoAdd Unit Tests for InputManager
Frédéric Blain [Fri, 6 Jul 2012 17:47:09 +0000 (19:47 +0200)]
Add Unit Tests for InputManager

11 years agoAdd new input event framework
Frédéric Blain [Fri, 6 Jul 2012 13:30:35 +0000 (15:30 +0200)]
Add new input event framework

This patch adds the new input event framework to LayerManager:
 + InputManager : New class created to centralized all input management.
 + Irenderer: New method getInputManager() has been added. Will be used later on by LM commands to access to InputManager
 + BaseRenderer: Instanciate automatically the InputManager to be used by concrete renderer.
 + BaseWindowSystem: New attribute to hold a pointer to the InputManager. This pointer is filled at construct time. Concrete WindowSystems will receive the InputManager from their concrete renderer.
 + GraphicalSurface: DestToSourceCoordinates() now takes int instead of unsigned int as in/out coordinates. If the coordinates are outside the surface, negative values are returned.
 + Surface: New thread safe methods updateInputEventAcceptanceFrom() & isInputEventAcceptedFrom() to control which input events are accepted by the Surface

11 years agoRemove cmake flag WITH_INPUT_EVENTS
Frédéric Blain [Thu, 5 Jul 2012 15:38:59 +0000 (17:38 +0200)]
Remove cmake flag WITH_INPUT_EVENTS

Input events are now activated permanently to LayerManager. This won't add any rutime overhead with the new Input frameworkt as long as the methods report[Key/Pointer/Touch] events are not called. Thus, no impact for people that do not wan't to use input events.

11 years agoRemove previous input event management
Frédéric Blain [Thu, 5 Jul 2012 15:20:46 +0000 (17:20 +0200)]
Remove previous input event management

Scene & X11WindowSystem are now clean from input events management, waiting for the new framework to be introduced.

11 years agoLayerManagerSerivce: removed some minor compiler warnings
Timo Lotterbach [Fri, 20 Jul 2012 07:04:13 +0000 (00:04 -0700)]
LayerManagerSerivce: removed some minor compiler warnings

11 years agoGLXlibrary: fixed linker settings in build system
Timo Lotterbach [Fri, 20 Jul 2012 06:17:09 +0000 (23:17 -0700)]
GLXlibrary: fixed linker settings in build system

GLXlibrary was not linked to required libraries as X11.

11 years agoTcpIpcModule: support multiple data buffers for send/receive
Timo Lotterbach [Mon, 16 Jul 2012 11:01:00 +0000 (04:01 -0700)]
TcpIpcModule: support multiple data buffers for send/receive

This is a preparation to introduce asynchronous client notifications.

Having multiple buffers is required in these situations:
- a client is just creating a message and is about to send it
- a client notification is received, overwriting the clients message

or:
- a message was received, the client is just about to read the data from it
- a client notification is received, overwriting the clients message

To handle these situations, 1 sendBuffer and 2 separate receive buffer have been created.

11 years agoCleaning: Remove compiler warning for LayerManagerService_Test
Frédéric Blain [Wed, 4 Jul 2012 12:46:54 +0000 (14:46 +0200)]
Cleaning: Remove compiler warning for LayerManagerService_Test

11 years agoCleaning: Remove compiler warning on X11WindowSystem.cpp
Frédéric Blain [Wed, 4 Jul 2012 12:45:01 +0000 (14:45 +0200)]
Cleaning: Remove compiler warning on X11WindowSystem.cpp

11 years agoLayerManagement: fixed plugin path handling
Timo Lotterbach [Fri, 6 Jul 2012 11:42:57 +0000 (04:42 -0700)]
LayerManagement: fixed plugin path handling

The generic communicator and the GLESGraphicSystem now use
the configuration flag CMAKE_INSTALL_PREFIX to
determine the default plugin search path.

Additionally the GeniviDemo.sh script was updated, since exporting
LM_PLUGIN_PATH is not required any more.
The script still contains a hint, that the plugin search path may
be modified.

11 years agoTextureBinders: Remove redundant texture uploads on every texture bind
Rahul Singhal [Mon, 25 Jun 2012 09:50:26 +0000 (15:20 +0530)]
TextureBinders: Remove redundant texture uploads on every texture bind

EGLImages can be created once and reused so we don't need to specify
& upload them every time we use them.

11 years agoWindowSystem: Forced composition should also redraw HW layers
Rahul Singhal [Fri, 22 Jun 2012 10:26:41 +0000 (15:56 +0530)]
WindowSystem: Forced composition should also redraw HW layers

11 years agoWaylandWindowSystems: Correct a previous overwritten method name change
Rahul Singhal [Tue, 12 Jun 2012 10:09:08 +0000 (15:39 +0530)]
WaylandWindowSystems: Correct a previous overwritten method name change

Change checkForNewSurface function name to checkForNewSurfaceNativeContent

This change was overwritten during the wayland window system
refactoring.

12 years agoX11GLESRenderer: fixed shader file search path
Timo Lotterbach [Fri, 6 Jul 2012 06:21:16 +0000 (23:21 -0700)]
X11GLESRenderer: fixed shader file search path

The renderer now uses the configuration flag CMAKE_INSTALL_PREFIX to
determine it's default shader search path.

12 years agoUpdate default plugin directory search path to match CMAKE_INSTALL_PREFIX
Frédéric Blain [Thu, 5 Jul 2012 15:11:59 +0000 (17:11 +0200)]
Update default plugin directory search path to match CMAKE_INSTALL_PREFIX

Currently default plugin directory is hard coded to /usr/lib in several places. This patch takes into consideration the installation directory specified with cmake.
IpcModuleLoader.cpp has also been slightly modified to avoid compiler warnings

12 years agoConfig: removed Log dependency from autogenerated config.h file
Timo Lotterbach [Thu, 5 Jul 2012 14:46:23 +0000 (07:46 -0700)]
Config: removed Log dependency from autogenerated config.h file

config.h now contains a string array with the build configuration,
that is logged by the LayerManagerService is required.
Additionally for each flag the log level is defined.

12 years agoGenericCommunicator: fixed crash during shutdown, if no ipcModule was loaded
Timo Lotterbach [Thu, 5 Jul 2012 09:51:26 +0000 (02:51 -0700)]
GenericCommunicator: fixed crash during shutdown, if no ipcModule was loaded

the GenericCommunicator always tried to destroy the ipcModule. this failed
and resulted in a crash, if no ipcModule was loaded during startup.

12 years agoClean type sharing between ilm types & internal types
Frédéric Blain [Thu, 28 Jun 2012 10:02:57 +0000 (12:02 +0200)]
Clean type sharing between ilm types & internal types

12 years agoilmClient types are used internally to LM, so let's include them by default
Frédéric Blain [Thu, 28 Jun 2012 08:48:10 +0000 (10:48 +0200)]
ilmClient types are used internally to LM, so let's include them by default

12 years agoDbusIpcModules: Fixes wrong message unreferencing
Michael Schuldt [Tue, 3 Jul 2012 12:53:46 +0000 (14:53 +0200)]
DbusIpcModules: Fixes wrong message unreferencing

- This fixes an issue inside of the send error method
- The wrong message was unreferenced

12 years agoGenericCommunicator: Fixing String allocation.
Michael Schuldt [Fri, 29 Jun 2012 11:57:32 +0000 (13:57 +0200)]
GenericCommunicator: Fixing String allocation.

- During the CreateShader call, a segmentation fault occurs
- String is now intialised correctly
- DBUSCommunicatorTest is up and running, one test is disabled, due
  to the lack of implementation in the new generic communication approach

12 years agoRelease : Release Notes updated ivi-layer-management_version_0_9_7_rc
Michael Schuldt [Thu, 28 Jun 2012 13:02:49 +0000 (15:02 +0200)]
Release : Release Notes updated

- Release Note updated.
- default version switched to 0.9.7.release_candiate

12 years agoDemo: Genivi Demo script update.
Michael Schuldt [Thu, 28 Jun 2012 11:35:42 +0000 (13:35 +0200)]
Demo: Genivi Demo script update.

- The demo script includes now start of the layer manager too.

12 years agoViewportTransform: Change order of texture coordinates
Rahul Singhal [Wed, 20 Jun 2012 10:52:34 +0000 (16:22 +0530)]
ViewportTransform: Change order of texture coordinates

Change order of texture coordinates returned by
transformRectangleToTextureCoordinates() to be consistent with the
rest of the code.

Before: {x1, x2, y1, y2}
Now: {x1, y1, x2, y2}

12 years agoGLESGraphicSystem: Simplify the vertex shader calculations
Rahul Singhal [Thu, 14 Jun 2012 09:08:27 +0000 (14:38 +0530)]
GLESGraphicSystem: Simplify the vertex shader calculations

The current vertex shader has complicated vertex/texture conversions
which change coordinate systems multiple times. Simplified the same.

This would also increase the vertex shader performance.

12 years agoViewportTransform: Fix precision loss
Rahul Singhal [Wed, 20 Jun 2012 10:33:34 +0000 (16:03 +0530)]
ViewportTransform: Fix precision loss

All the transform calculationis are being done with integers which
could lead to precision loss. Instead we should be using floats.

12 years agoViewportTransform: Simplify and fix bugs in applyLayerSource
Rahul Singhal [Tue, 19 Jun 2012 11:57:12 +0000 (17:27 +0530)]
ViewportTransform: Simplify and fix bugs in applyLayerSource

12 years agoX11WindowSystem: Fix swapinterval=1
Rahul Singhal [Mon, 25 Jun 2012 12:14:53 +0000 (17:44 +0530)]
X11WindowSystem: Fix swapinterval=1

Using a non-default visual results in a redirected pixmap for the
root window which does not respect VSYNC.

Also use default screen instead of hard-coded screen 0.

12 years agoLayerManagerCommands: Add SurfaceRemoveNativeContentCommand
Rahul Singhal [Mon, 25 Jun 2012 07:40:54 +0000 (13:10 +0530)]
LayerManagerCommands: Add SurfaceRemoveNativeContentCommand

Using this command a client can remove the native content associated
with a surface. This can be used if multiple windows need to be used
with the same surface.

TODO: The backend for wayland needs to be filled in.

12 years agoWindowSystems: Fix bugs in screenshot
Rahul Singhal [Tue, 12 Jun 2012 09:34:01 +0000 (15:04 +0530)]
WindowSystems: Fix bugs in screenshot

1. Clear needs to be done after graphics context has been activated.

2. Recent HW layer change made neccessary that m_damaged be set for
drawing in RedrawAllLayers() and hence broke display screenshot.
Fix that by drawing every layer in screenshot method itself.

Also removed redundant graphics context activate/release in
CheckRedrawAllLayers()

12 years agoRemove failing tests SceneTest.getSurfaceAt
Frédéric Blain [Thu, 28 Jun 2012 10:05:36 +0000 (12:05 +0200)]
Remove failing tests SceneTest.getSurfaceAt

12 years agoScene: Bugfix in createSurfaceGroup() / createLayerGroup()
Frédéric Blain [Tue, 26 Jun 2012 15:04:43 +0000 (17:04 +0200)]
Scene: Bugfix in createSurfaceGroup() / createLayerGroup()

12 years agoLayerManagerPlugins: Merge CopyGLES and EglImage to GLESTexture for WaylandPlugins
Nobuhiko Tanibata [Thu, 21 Jun 2012 03:03:45 +0000 (12:03 +0900)]
LayerManagerPlugins: Merge CopyGLES and EglImage to GLESTexture for WaylandPlugins

12 years agoLayerManagerPlugins: refinement of Wayland Plugins.
Nobuhiko Tanibata [Tue, 26 Jun 2012 09:53:15 +0000 (18:53 +0900)]
LayerManagerPlugins: refinement of Wayland Plugins.

- WindowSystems:

  - WaylandBaseWindowSystem:
    -support calculateSurfaceFps and calculateFps
    -change debug of information from INFO to DEBUG
    -improve deallocation method of wayland surface resources
    -add macro:WL_OMIT_CLEAR_GB to disable calling clearbackground
    -add macro:WL_LOG_DETAIL_TIMER to get detail performance value of wayland plutin
    -remove unnecesary codes
    -remove modifying m_damaged in Redraw()

  - WaylandDrmWindowSystem:
  - WaylandFbdevWindowsystem:
  - WaylandX11WindowSystem:
    -remove dependency on EGL. Because no all composition method are dependent on EGL.

- WaylandGLESRenderer:
  - remove dependency on EGL from init method.

12 years agoLayerManagement: VIVANTE GAL switch removed
Michael Schuldt [Mon, 25 Jun 2012 08:19:47 +0000 (10:19 +0200)]
LayerManagement: VIVANTE GAL switch removed

- VIVANTE GAL switch removed which was wrongly include  in
  commit LayerManagement: improved build system

12 years agoLayerManagerControl: implemented first version
Timo Lotterbach [Fri, 15 Jun 2012 13:09:09 +0000 (06:09 -0700)]
LayerManagerControl: implemented first version

- command line tool to debug and modify layermanager scene
- design goals:
-- adding new commands should be as easy as possible
-- command syntax should be human readable

12 years agoilmClient / GenericCommunicator: updated layer and surface properties
Timo Lotterbach [Fri, 15 Jun 2012 11:24:32 +0000 (04:24 -0700)]
ilmClient / GenericCommunicator: updated layer and surface properties

layer properties now additionally contain
- layer type

surface properties now additionally contain
- pixelformat
- native surface handle
- draw counter
- update counter

12 years agoLayerManagement: removed obsolete path references from build system
Timo Lotterbach [Fri, 15 Jun 2012 13:08:16 +0000 (06:08 -0700)]
LayerManagement: removed obsolete path references from build system

these paths have been changed in the project, but the build system
still had references to them. This resulted in some warnings during
build in some build environments.

12 years agoTcpIpcModule: added ipc module for tcp socket communication
Timo Lotterbach [Fri, 15 Jun 2012 13:15:14 +0000 (06:15 -0700)]
TcpIpcModule: added ipc module for tcp socket communication

- implemented in C
- depends on socket libraries
- implements low-level tcp socket communication
- unit tests prepared, but not implemented
- set environment variable LM_TCP_HOST to override IP address of LayerManagerService instance
- set environment variable LM_TCP_PORT to set TCP port for communication

12 years agoDBUSCommunicator: removed DBUS specific communciator
Timo Lotterbach [Tue, 27 Mar 2012 12:18:34 +0000 (14:18 +0200)]
DBUSCommunicator: removed DBUS specific communciator

DBUs Communication is now handled by GenericCommunicator using
the DBUSIpcModule.

12 years agoGenericCommunicator: added new LayerManager Communicator based on ipc modules
Timo Lotterbach [Fri, 15 Jun 2012 14:05:48 +0000 (07:05 -0700)]
GenericCommunicator: added new LayerManager Communicator based on ipc modules

- implemented in C++
- implements ICommunicator Interface
- communication technology independent
- loaded by LayerManagerService the same way as DBUSCommunicator
- uses IpcModules for communication
- uses IpcModuleLoader to load IpcModules
- implements messaging on LayerManagerService side

12 years agoilmClient: updated to use ipc modules via ipc module loader
Timo Lotterbach [Fri, 15 Jun 2012 12:57:05 +0000 (05:57 -0700)]
ilmClient: updated to use ipc modules via ipc module loader

- implemented in C
- same interface as previous version (ilm_client.h unchanged)
- communication technology independent
- uses IpcModules for communication
- uses IpcModuleLoader to load IpcModules
- implements messaging on client side
- remove old interface ICommunicatorClient, which was never used (not available in C)

12 years agoIpcModuleLoader: added ipc module loader library
Timo Lotterbach [Fri, 15 Jun 2012 13:58:45 +0000 (06:58 -0700)]
IpcModuleLoader: added ipc module loader library

- implemented in C
- common implementation to find, check and load IpcModules
- communication technology independent
- returns a struct of function pointers to use IpcModule

12 years agoDbusIpcModule: created DBUS ipc module
Timo Lotterbach [Fri, 15 Jun 2012 13:54:18 +0000 (06:54 -0700)]
DbusIpcModule: created DBUS ipc module

- implemented in C
- depends on dbus libraries
- implements low-level dbus communication
- implements dbus introspection

12 years agoAdd generic HW layer support
Rahul Singhal [Thu, 22 Mar 2012 10:12:08 +0000 (15:42 +0530)]
Add generic HW layer support

Add basic support & optimizations for HW layers. The function
renderHWLayer() will need to be extended to add vendor specific
implementations.

12 years agoMockNavigation: fixed default value for opacity
Timo Lotterbach [Thu, 31 May 2012 11:58:28 +0000 (13:58 +0200)]
MockNavigation: fixed default value for opacity

12 years agoLayerManagement: fixed issues detected by Coverity Scan
Timo Lotterbach [Thu, 31 May 2012 07:33:50 +0000 (09:33 +0200)]
LayerManagement: fixed issues detected by Coverity Scan

12 years agoLayerManagement: improved build system
Timo Lotterbach [Thu, 24 May 2012 11:42:23 +0000 (13:42 +0200)]
LayerManagement: improved build system

- WITH_DESKTOP, WITH_X11_GLES and WITH_WAYLAND_* can now be built in parallel
- LayerManagerUtils now include dlt libs, if WITH_DLT is enabled
- improved dependency tracking of options (WITH_DESKTOP enables WITH_GLX_LIB)
- unit test binary names now consistently and with _Test

12 years agoLayerManagerPlugins: drm backend for Wayland
Nobuhiko Tanibata [Wed, 23 May 2012 07:38:18 +0000 (16:38 +0900)]
LayerManagerPlugins: drm backend for Wayland

WindowSystems:
- Add WaylandDrmWindowSystem for drm backend of Wayland

GraphicSystems:
- Add DrmGLESGraphicSystem for drm backend of wayland
- This is child class of GLESGraphicSystem to add DRM special part

TextureBinders:
- Modify EglImage for Wayland

WaylandGLESRenderer:
- Add drm backend for Wayland

12 years agoDBUSCommunicator: Add clean up methods to remove messages filters
Michael Schuldt [Mon, 21 May 2012 07:49:23 +0000 (09:49 +0200)]
DBUSCommunicator: Add clean up methods to remove messages filters

- This fixes an issue running multi instances of the DBUSCommunicator
- Now the DBUSCommunicator Tests are running successfully

12 years agoBugFix: Correct return type for recently modified functions
Rahul Singhal [Fri, 4 May 2012 05:23:48 +0000 (10:53 +0530)]
BugFix: Correct return type for recently modified functions

This is needed to compile unit tests.

12 years agoLayerManagerService: removed warnings in unit tests
Timo Lotterbach [Tue, 22 May 2012 10:58:25 +0000 (12:58 +0200)]
LayerManagerService: removed warnings in unit tests

12 years agoGraphic: enabled and fixed build of unit tests for ViewportTransform class
Timo Lotterbach [Tue, 22 May 2012 10:09:00 +0000 (12:09 +0200)]
Graphic: enabled and fixed build of unit tests for ViewportTransform class

12 years agoEGLWLMockNavigation: added new features
Timo Lotterbach [Mon, 21 May 2012 10:48:00 +0000 (12:48 +0200)]
EGLWLMockNavigation: added new features

added new arguments:
-nosky      do not render sky, background transparent
-posx x     set surface x position on layer to x
-posy x     set surface y position on layer to x
-opacity x  set opacity of surface to x

12 years agoEGLX11MockNavigation: added new features
Timo Lotterbach [Wed, 16 May 2012 10:46:58 +0000 (12:46 +0200)]
EGLX11MockNavigation: added new features

added new arguments:
-nosky      do not render sky, background transparent
-posx x     set surface x position on layer to x
-posy x     set surface y position on layer to x
-opacity x  set opacity of surface to x

12 years agoLayerManagement: enabled "profiling" build setting for GCC
Timo Lotterbach [Thu, 10 May 2012 12:37:50 +0000 (14:37 +0200)]
LayerManagement: enabled "profiling" build setting for GCC

If LayerManagement is build on a GCC-based platform, an additional
build setting named 'profiling' is available.
Building with this setting results in intrumented versions.
The result can be used with gprof-based tools.

12 years agoLayerManagement: enabled "coverage" build setting for GCC
Timo Lotterbach [Thu, 10 May 2012 12:36:44 +0000 (14:36 +0200)]
LayerManagement: enabled "coverage" build setting for GCC

If LayerManagement is build on a GCC-based platform, an additional
build setting named 'coverage' is available.
Building with this setting results in intrumented versions.
The result can be used with gcov-based tools.

12 years agoX11WindowSystem: fixed memory management mismatch
Timo Lotterbach [Thu, 10 May 2012 11:14:29 +0000 (13:14 +0200)]
X11WindowSystem: fixed memory management mismatch

a member of type XVisualInfo was created with new() operator,
but was released with XFree() call which internally uses free().
XFree() was replaced with matching delete() operator calls.

12 years agoLayerManagerToolBox: removed function call with no effect
Timo Lotterbach [Thu, 10 May 2012 10:58:11 +0000 (12:58 +0200)]
LayerManagerToolBox: removed function call with no effect

std::string.substr(0) just creates a copy of a string.
This was not required in this context.

12 years agoGraphicSystems: fixed memory leaks
Timo Lotterbach [Thu, 10 May 2012 10:53:03 +0000 (12:53 +0200)]
GraphicSystems: fixed memory leaks

new var[] must be delete with delete[] operator.

12 years agoLayerManagerToolBox: fixed memory leak
Timo Lotterbach [Thu, 10 May 2012 10:52:14 +0000 (12:52 +0200)]
LayerManagerToolBox: fixed memory leak

12 years agoLayerManagement: fixed several compiler warnings
Timo Lotterbach [Wed, 9 May 2012 12:17:50 +0000 (14:17 +0200)]
LayerManagement: fixed several compiler warnings

fixed trivial compiler warnings without changing behaviour.
removed mostly unsed vars.

12 years agoLayerManagement: updated distfile to include new config directory
Timo Lotterbach [Tue, 8 May 2012 13:33:20 +0000 (15:33 +0200)]
LayerManagement: updated distfile to include new config directory

the auto generated config.h file was moved to a separate directory,
which was not included in distfile. This resulted in a broken auto-build.

12 years agoLayerManagement: auto-generated config.h was missing include guards
Timo Lotterbach [Tue, 8 May 2012 12:45:34 +0000 (14:45 +0200)]
LayerManagement: auto-generated config.h was missing include guards

introduced include guards in tample config.h.cmake

12 years agoilmClient: documentation fix
Timo Lotterbach [Tue, 8 May 2012 12:02:31 +0000 (14:02 +0200)]
ilmClient: documentation fix

Fixed documentation: ilmClient API calls return ILM_SUCCESS on success,
not ILM_TRUE.

12 years agoBuild: Adapted example toolchain file to new compile switches.
Michael Schuldt [Thu, 3 May 2012 14:45:46 +0000 (16:45 +0200)]
Build: Adapted example toolchain file to new compile switches.

12 years agoCMakeVersion : Introducing default version
Michael Schuldt [Thu, 3 May 2012 12:37:01 +0000 (14:37 +0200)]
CMakeVersion : Introducing default version

- If no git repository is available the git describe tags is not working
- Introducing fallback to switch to the package version
- The definition of ILM_VERSION is still working

12 years agoGeniviDemo.sh: Updating Example Start Script
Michael Schuldt [Thu, 3 May 2012 07:55:43 +0000 (09:55 +0200)]
GeniviDemo.sh: Updating Example Start Script

12 years agoLayerManagerCommands: return redraw only when absolutely required
Rahul Singhal [Mon, 9 Apr 2012 05:52:44 +0000 (11:22 +0530)]
LayerManagerCommands: return redraw only when absolutely required

This is a small optimization to cover a corner case where a client
may blindly keep setting the same property without changing its value
forcing a redundant composition.

Change-Id: Ie872b65c6fcbd2a2e17a9f883112c347860d90d1

12 years agoWindowSystem: Don't composite for every redraw request
Rahul Singhal [Fri, 6 Apr 2012 12:14:41 +0000 (17:44 +0530)]
WindowSystem: Don't composite for every redraw request

Previously composition was done for every redraw request. But this
is incorrect as a layer/surface not part of the current render order
may have sent that request.

Correcting this exposes two hidden bugs. When the render order is
modified, there is no way to compare it against the old render order.
Hence we need to force a complete composition. And updating uniforms
of a shader also needs to force a composition.

Change-Id: Ie255c85fda24f6f30504617f19b62a23d77bbea5

12 years agoWaylandWindowSystem: removing obselete files
Michael Schuldt [Thu, 3 May 2012 07:15:45 +0000 (09:15 +0200)]
WaylandWindowSystem: removing obselete files

12 years agoLayerManagerExamples: Mocknavigation removing tabs
Michael Schuldt [Thu, 3 May 2012 07:15:22 +0000 (09:15 +0200)]
LayerManagerExamples: Mocknavigation removing tabs