profile/ivi/layer-management.git
11 years agoLayerManagerService: HealthSystemd now uses ThreadBase for monitoring thread
Timo Lotterbach [Mon, 26 Nov 2012 12:10:41 +0000 (04:10 -0800)]
LayerManagerService: HealthSystemd now uses ThreadBase for monitoring thread

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: removed obsolete #include directives
Timo Lotterbach [Mon, 26 Nov 2012 11:09:12 +0000 (03:09 -0800)]
LayerManagerService: removed obsolete #include directives

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: added waitForShutdownSignal() in SignalHandler and main.cpp
Timo Lotterbach [Mon, 14 Jan 2013 08:34:07 +0000 (00:34 -0800)]
LayerManagerService: added waitForShutdownSignal() in SignalHandler and main.cpp

The SignalHandler now has a blocking call to wait for program termination.
It internally blocks, until a signal is received that results in a shutdown.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoGenericCommunicator: now using ThreadBase as receive thread
Timo Lotterbach [Mon, 26 Nov 2012 10:55:43 +0000 (02:55 -0800)]
GenericCommunicator: now using ThreadBase as receive thread

GenericCommunicator now uses an internal thread to receive incoming
messages. It is not running in main thread anymore.

This allows having multiple Communicators at once.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerUtils: added ThreadBase class
Timo Lotterbach [Mon, 26 Nov 2012 10:29:32 +0000 (02:29 -0800)]
LayerManagerUtils: added ThreadBase class

added convenience class to simplyfy thread management by encapsulating
all thread handling in a base class.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoTextRenderer: added text renderer for debugging
Timo Lotterbach [Wed, 12 Dec 2012 13:40:17 +0000 (05:40 -0800)]
TextRenderer: added text renderer for debugging

the text  renderer does not provide any graphical representation of
the LayerManagement scene.

all calls to this renderer are logged, but no further processing
takes place.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: updated implementation to be thread safe
Timo Lotterbach [Mon, 10 Dec 2012 09:45:28 +0000 (01:45 -0800)]
ilmClient: updated implementation to be thread safe

each command contains a critical region, that is protected by a mutex.
within that critical section, a command is sent and the corresponding
response is received.

The critical section enforces a transaction of a thread is completed,
before the next transaction by any thread can be processed.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: added support for client specific command queues
Timo Lotterbach [Tue, 4 Dec 2012 13:04:18 +0000 (05:04 -0800)]
LayerManagerService: added support for client specific command queues

all asynchronous commands get enqueued and are executed by the client
using the commit command.
Now there is a separate command queue for each connected client and a client
can only commit commands, that have been sent by this client.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerCommands: fixed logging inside CommitCommand
Timo Lotterbach [Fri, 30 Nov 2012 14:41:26 +0000 (06:41 -0800)]
LayerManagerCommands: fixed logging inside CommitCommand

CommitCommand printed itself as creator of each executed command.
Error state was logged wrong after one command failed.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerToolBox: removed component
Timo Lotterbach [Thu, 29 Nov 2012 14:08:33 +0000 (06:08 -0800)]
LayerManagerToolBox: removed component

LayerManagerToolBox was replaced by LayerManagerControl, which is easier
to extend. All feature of LayerManagerToolBox are now available in
LayerManagerControl.

The README file was updated to point users to LayerManagerControl, instead
of LayerManagerToolBox.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoNullWindowSystem: removed component
Timo Lotterbach [Thu, 29 Nov 2012 13:54:08 +0000 (05:54 -0800)]
NullWindowSystem: removed component

NullWindowSystem was not maintained any more, because it was not used.
This patch removes it.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoBeagleRenderer: removed component
Timo Lotterbach [Thu, 29 Nov 2012 13:48:45 +0000 (05:48 -0800)]
BeagleRenderer: removed component

this component is not maintained any more, because TI Beagle board
can use default GLES Renderer with current GPU driver releases.

this was not possible with older driver versions.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerSceneDescriptionExample: Adapt new getCurrentRenderOrder
Nobuhiko Tanibata [Wed, 9 Jan 2013 04:43:08 +0000 (13:43 +0900)]
LayerSceneDescriptionExample: Adapt new getCurrentRenderOrder

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoLayerManagerService Tests: Adapt new getCurrentRenderOrder
Nobuhiko Tanibata [Wed, 9 Jan 2013 04:42:19 +0000 (13:42 +0900)]
LayerManagerService Tests: Adapt new getCurrentRenderOrder

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoLayerManagerService InputManager: Adapt new getCurrentRenderOrder
Nobuhiko Tanibata [Wed, 9 Jan 2013 04:39:51 +0000 (13:39 +0900)]
LayerManagerService InputManager: Adapt new getCurrentRenderOrder

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoWindowSystems: Adapt new getCurrentRenderOrder
Nobuhiko Tanibata [Wed, 9 Jan 2013 04:31:41 +0000 (13:31 +0900)]
WindowSystems: Adapt new getCurrentRenderOrder

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoWaylandDrmWindowSystem: Modify for multi screen
Nobuhiko Tanibata [Fri, 21 Dec 2012 04:25:09 +0000 (13:25 +0900)]
WaylandDrmWindowSystem: Modify for multi screen

WaylandBaseWindowSystem
  Add virtual definition because of overriding.

WaylandDrmWindowSystem
  Add controlling multiple screens

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoDrmGLESGraphicSystem: Modify for multi screen
Nobuhiko Tanibata [Fri, 21 Dec 2012 04:51:08 +0000 (13:51 +0900)]
DrmGLESGraphicSystem: Modify for multi screen

BaseGraphicSystem
  Add two functions for multi screen which are switchScreen() and updateScreenList()
  switchScreen() is for switching screen devices.
  updateScreenList() is for updating LmScreenList.

DrmGLESGraphicSystem
  Add implementation of switchScreen() and updateScreenList()
  modify controlling multi screen devices

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoGenericCommunicator: Add screenID to command in SetRenderOrderOfLayers
Nobuhiko Tanibata [Mon, 17 Dec 2012 07:54:40 +0000 (16:54 +0900)]
GenericCommunicator: Add screenID to command in SetRenderOrderOfLayers

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoLayerManagerCommand: Add screenID of argument to ScreenSetRenderOrderCommand
Nobuhiko Tanibata [Wed, 9 Jan 2013 02:13:20 +0000 (11:13 +0900)]
LayerManagerCommand: Add screenID of argument to ScreenSetRenderOrderCommand

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoLayerManagerService tests: add test for Screen
Nobuhiko Tanibata [Fri, 21 Dec 2012 02:29:45 +0000 (11:29 +0900)]
LayerManagerService tests: add test for Screen

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoX11GLESRenderer: create LmScreen and push it to ScreenList of Scene
Nobuhiko Tanibata [Fri, 21 Dec 2012 02:25:08 +0000 (11:25 +0900)]
X11GLESRenderer: create LmScreen and push it to ScreenList of Scene

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoWaylandGLESRenderer: create LmScreen and push it to ScreenList of Scene
Nobuhiko Tanibata [Fri, 21 Dec 2012 02:23:39 +0000 (11:23 +0900)]
WaylandGLESRenderer: create LmScreen and push it to ScreenList of Scene

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoX11GLXRenderer: create LmScreen and push it to ScreenList of Scene
Nobuhiko Tanibata [Fri, 21 Dec 2012 02:11:46 +0000 (11:11 +0900)]
X11GLXRenderer: create LmScreen and push it to ScreenList of Scene

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoLayerManagerService Layer: add LmScreenID to Layer
Nobuhiko Tanibata [Fri, 21 Dec 2012 01:57:43 +0000 (10:57 +0900)]
LayerManagerService Layer: add LmScreenID to Layer

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoLayerManagerService Scene: Add controlling LmScreen
Nobuhiko Tanibata [Wed, 9 Jan 2013 01:43:09 +0000 (10:43 +0900)]
LayerManagerService Scene: Add controlling LmScreen

-Add interface: getCurrentRenderOrder by screenID
-Remove LayerList for layerRenderOrder from Scene and add it to LmScreen

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoLayerManagerService: Add LmScreen class
Nobuhiko Tanibata [Wed, 9 Jan 2013 01:56:56 +0000 (10:56 +0900)]
LayerManagerService: Add LmScreen class

-LmScreen is a control class for controlling LayerRenderOrder

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoX11GLXRenderer: added get/setOptimizationMode()
Timo Lotterbach [Wed, 19 Dec 2012 08:17:00 +0000 (00:17 -0800)]
X11GLXRenderer: added get/setOptimizationMode()

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagement: updated release notes for release 0.9.9 ivi-layer-management_version_0_9_9
Timo Lotterbach [Thu, 29 Nov 2012 09:53:05 +0000 (01:53 -0800)]
LayerManagement: updated release notes for release 0.9.9

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoDocumentation: updated doxygen documentation
Timo Lotterbach [Thu, 29 Nov 2012 09:09:46 +0000 (01:09 -0800)]
Documentation: updated doxygen documentation

- minor improvements in reference document files
- added missing API documentation

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoDocumentation: updated Doxygen configuration file for new doxygen version
Timo Lotterbach [Thu, 29 Nov 2012 09:08:10 +0000 (01:08 -0800)]
Documentation: updated Doxygen configuration file for new doxygen version

this was done automatically by 'doxygen -u' command.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: improved printing of surface properties
Timo Lotterbach [Thu, 29 Nov 2012 09:57:42 +0000 (01:57 -0800)]
LayerManagerControl: improved printing of surface properties

surface properties did not include the process id of the application
that created it.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: fixed linker error in unit tests
Timo Lotterbach [Thu, 29 Nov 2012 08:26:00 +0000 (00:26 -0800)]
LayerManagerService: fixed linker error in unit tests

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: added feature "import scene" and "export scene" ivi-layer-management_version_0_9_9_rc
Timo Lotterbach [Thu, 22 Nov 2012 12:18:11 +0000 (13:18 +0100)]
LayerManagerControl: added feature "import scene" and "export scene"

Export scene can be used to write the a (rendered) scene to a file.
Current implementation supports a custom format in .txt files, can
be extended to xml, json or any other custom format.
Import scene can be used to read and restore a scene from a file.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: added feature "demo"
Timo Lotterbach [Thu, 22 Nov 2012 12:17:40 +0000 (13:17 +0100)]
LayerManagerControl: added feature "demo"

"demo" is used to run a number of effects on the rendered scene.
Currently demo modes 0 to 4 are available.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: added features "scatter" and "scatter all"
Timo Lotterbach [Thu, 22 Nov 2012 12:17:05 +0000 (13:17 +0100)]
LayerManagerControl: added features "scatter" and "scatter all"

"scatter" displays all rendered surfaces into a grid

"scatter all" displays all existing surfaces (even unrendered surfaces) into a grid

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: added feature "analyze surface"
Timo Lotterbach [Thu, 22 Nov 2012 12:16:20 +0000 (13:16 +0100)]
LayerManagerControl: added feature "analyze surface"

If a surface is not seen despite being expectedly visible, "analyze surface"
can be used to run a set of tests on the surface to find the possible reasons.
A checklist with the results of the tests is printed after that

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: added utility functions for upcoming features
Timo Lotterbach [Thu, 22 Nov 2012 12:14:51 +0000 (13:14 +0100)]
LayerManagerControl: added utility functions for upcoming features

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: refactored helper.cpp to feature specific implementation files
Timo Lotterbach [Thu, 22 Nov 2012 12:07:08 +0000 (13:07 +0100)]
LayerManagerControl: refactored helper.cpp to feature specific implementation files

Each group of related and similar functions are grouped into a cpp file to maintain file and code organization

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: moved feature implementations from commands.cpp to helper.cpp
Timo Lotterbach [Thu, 22 Nov 2012 09:36:05 +0000 (10:36 +0100)]
LayerManagerControl: moved feature implementations from commands.cpp to helper.cpp

in order to keep the commands.cpp file short and easy to extend,
the implementations of the existing features was moved to a
different file, which currently is helper.cpp.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: stacktraces only enabled, if system supports it
Timo Lotterbach [Thu, 22 Nov 2012 11:47:25 +0000 (03:47 -0800)]
LayerManagerService: stacktraces only enabled, if system supports it

the used backtrace functions used to print a stackdump on crashes
is not available on all platforms.

the build system now checks, if the system supports backtrace and
enables support if possible. Otherwise the stacktrace feature is disabled.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: renamed BIT macro to resolve name collision
Timo Lotterbach [Wed, 21 Nov 2012 15:17:16 +0000 (07:17 -0800)]
ilmClient: renamed BIT macro to resolve name collision

the BIT(x) macro was also defined somwhere in wayland.
introduced ILM_ prefix to minimize risk of future collisions.

11 years agoWayland: removed compiler warnings
Timo Lotterbach [Wed, 21 Nov 2012 15:15:31 +0000 (07:15 -0800)]
Wayland: removed compiler warnings

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoEGLWLMockNavigation:Bugfix. correct protocol name from "tunneler" to "serverinfo"
Nobuhiko Tanibata [Wed, 21 Nov 2012 14:25:51 +0000 (23:25 +0900)]
EGLWLMockNavigation:Bugfix. correct protocol name from "tunneler" to "serverinfo"

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoWLChromakeyExample: update for wayland version 1.0.0
Nobuhiko Tanibata [Wed, 21 Nov 2012 14:21:05 +0000 (23:21 +0900)]
WLChromakeyExample: update for wayland version 1.0.0

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoEGLWLMockNavigation: update for wayland version 1.0.0
Nobuhiko Tanibata [Wed, 21 Nov 2012 14:13:22 +0000 (23:13 +0900)]
EGLWLMockNavigation: update for wayland version 1.0.0

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoEGLWLInputEventExample: update for wayland version 1.0.0
Nobuhiko Tanibata [Wed, 21 Nov 2012 14:11:45 +0000 (23:11 +0900)]
EGLWLInputEventExample: update for wayland version 1.0.0

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoEGLWLApplicationExample: Update for wayland version 1.0.0
Nobuhiko Tanibata [Wed, 21 Nov 2012 14:10:50 +0000 (23:10 +0900)]
EGLWLApplicationExample: Update for wayland version 1.0.0

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoWindowSystem : Added ARRAY_LENGTH for wayland version 1.0.0
Nobuhiko Tanibata [Wed, 21 Nov 2012 14:06:49 +0000 (23:06 +0900)]
WindowSystem : Added ARRAY_LENGTH for wayland version 1.0.0

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoWaylandBaseWindowSystem : Updating for wayland version 1.0.0
Nobuhiko Tanibata [Wed, 21 Nov 2012 14:04:57 +0000 (23:04 +0900)]
WaylandBaseWindowSystem : Updating for wayland version 1.0.0

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoLayerManagerUtils: added trace log level command line flag
Timo Lotterbach [Thu, 22 Nov 2012 08:38:01 +0000 (00:38 -0800)]
LayerManagerUtils: added trace log level command line flag

If DLT support is enabled using the build flag WITH_DLT, then
this command line flag controls the log level of DLT.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: moved plugin loading from main.cpp to dedicated class
Timo Lotterbach [Wed, 21 Nov 2012 12:55:17 +0000 (04:55 -0800)]
LayerManagerService: moved plugin loading from main.cpp to dedicated class

The implementation of plugin loading was moved from main.cpp
to the context of the new PluginManager class.

The PluginManager class encapsulates the complete plugin lifecycle. The Layermanager
now gets the list of plugins from the PluginManager.

The main.cpp size was reduced drastically.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: Seperation of ilmClient and ilmControl
Michael Schuldt [Tue, 13 Nov 2012 13:20:18 +0000 (14:20 +0100)]
ilmClient: Seperation of ilmClient and ilmControl

- first seperation as ingroup definition for doxygen doku
- changed layermanagement version number
- added the new group to doxygen setup

Signed-off-by: Michael Schuldt <michael.schuldt@bmw.de>
11 years agoGLESGraphicSystem: Fix compiler warning
Michael Schuldt [Wed, 21 Nov 2012 15:31:20 +0000 (16:31 +0100)]
GLESGraphicSystem: Fix compiler warning

Signed-off-by: Michael Schuldt <michael.schuldt@bmw.de>
11 years agoGLESGraphicSystem: Chromakey support enabled.
Michael Schuldt [Mon, 12 Nov 2012 13:55:27 +0000 (14:55 +0100)]
GLESGraphicSystem: Chromakey support enabled.

- For both layer and surface Chromakey the multitexturing optimization
  is disabled

- Can Skip clear is working fine

Signed-off-by: Michael Schuldt <michael.schuldt@bmw.de>
11 years agoLayerManagerControl: Adding detailed output on Optimization Mode
Michael Schuldt [Fri, 9 Nov 2012 14:40:33 +0000 (15:40 +0100)]
LayerManagerControl: Adding detailed output on Optimization Mode

- adding more informations on GetOptimization command.

Signed-off-by: Michael Schuldt <michael.schuldt@bmw.de>
11 years agoGLESGraphicSystem: First Optimization is working.
Michael Schuldt [Fri, 9 Nov 2012 14:14:13 +0000 (15:14 +0100)]
GLESGraphicSystem: First Optimization is working.

- missing is currently LayerChromaKey support

Signed-off-by: Michael Schuldt <michael.schuldt@bmw.de>
11 years agoilmClient: Fixing Serialization of Optimization Commands.
Michael Schuldt [Thu, 8 Nov 2012 13:26:05 +0000 (14:26 +0100)]
ilmClient: Fixing Serialization of Optimization Commands.

- Message Serialization for Set and GetOptimization Mode now
  corrected.

Signed-off-by: Michael Schuldt <michael.schuldt@bmw.de>
11 years agoLayerManagerCommands: Fixing Compilation for Optimization Commands
Michael Schuldt [Thu, 8 Nov 2012 13:24:39 +0000 (14:24 +0100)]
LayerManagerCommands: Fixing Compilation for Optimization Commands

- Set and GetOptimization Commands are now adapted to new
  Command Scheme

Signed-off-by: Michael Schuldt <michael.schuldt@bmw.de>
11 years agoLayerManagerControl: add set/get optimization mode
Adam Cheney [Fri, 5 Oct 2012 00:57:15 +0000 (17:57 -0700)]
LayerManagerControl: add set/get optimization mode

Two new commands are introduced to change optimization
enablement.

e.g. To force on multitexturing,

 LayerManagerControl set optimization 0 mode 1

To query "skip clear" mode,

 LayerManagerControl get optimization 1

11 years agoGLESGraphicSystem: multitexture and skip clear optimizations
Adam Cheney [Fri, 5 Oct 2012 00:09:17 +0000 (17:09 -0700)]
GLESGraphicSystem: multitexture and skip clear optimizations

Introduce "multitexture" and "skip clear" optimization support for
GLESGraphicSystem.  The two optimizations are separately configurable,
and may be enabled or disabled independently in the ilm API.

1. Multitexture calculates the screenspace overlapping regions for all
visible surfaces, and then renders each region exactly once, sampling
from the overlapping surfaces in a single shader. Surface rotation
is currently supported, but Layer rotation is not, so this option
is automatically disabled if any layers have non-zero orientations.

2. SkipClear removes the per-frame glClear(), also disables blending for
the first layer of surfaces that are drawn.  Rather than limiting
the optimization to situations where the first surface drawn is full
screen, this optimization will draw additional quads of clear color
to fill the empty screenspace so that glClear() can still be avoided
when benificial.

Both optimizations are geared toward reducing memory bandwidth caused
by reading and writing to the framebuffer several times.  When both
are turned on, and there exists shaders capable of rendering all
screen regions in a single pass, the framebuffer is only written to
once, and never read from.

New shaders:
   Zero surface shader (for partial clears)
   Single surface shaders (opt. for blendless and full opacity)
   Dual surface (also opt. for blendless and full opacity)

All shaders now have "blend pragmas" which are required for NVIDIA
Tegra's binary shader mode.  The pragma's will be safely ignored
on other vendor's hardware, per GLES specification.

11 years agoLayerManager: new get/set optimization command
Adam Cheney [Thu, 4 Oct 2012 01:44:20 +0000 (18:44 -0700)]
LayerManager: new get/set optimization command

Adds a new command to the ilm interface for turning on and off
renderer optimizations.

11 years agoRenderers: new GLES shader selection mechanism
Adam Cheney [Thu, 4 Oct 2012 00:53:49 +0000 (17:53 -0700)]
Renderers: new GLES shader selection mechanism

To accomodate upcoming GLESGraphicSystem optimizations that introduce
many shaders, a new key-based method is introduced for shader
selection.  A "shader key" is an integer containing a bitfield
describing all aspects of a shader, such as whether textures require
uniform transparency multiplication, colorkeying, if it blends with
the framebuffer, and how many textures are referenced in the shader.
The shader key system is overkill for the current set of shaders, but
it is the machinery to allow a large variety of new optimized shaders
to be added without requring any new logic.

11 years agoLayerManagerControl: fix typo in set surface width command
Adam Cheney [Thu, 4 Oct 2012 00:24:44 +0000 (17:24 -0700)]
LayerManagerControl: fix typo in set surface width command

Fixes a typo in the the "set surface width" command where layerid
was substituted for surfaceid, causing the command to not work.

11 years agoGLESGraphicSystem: remove DRAW_LAYER_DEBUG
Adam Cheney [Wed, 26 Sep 2012 00:45:11 +0000 (17:45 -0700)]
GLESGraphicSystem: remove DRAW_LAYER_DEBUG

The debugging code and shaders are no longer needed and are not maintained.

11 years agoGLESGraphicSystem: fix blend function factors
Adam Cheney [Wed, 26 Sep 2012 00:05:40 +0000 (17:05 -0700)]
GLESGraphicSystem: fix blend function factors

GL_ONE, GL_ONE_MINUS_SRC_ALPHA is correct for alpha.  Otherwise
the framebuffer is too transparent and may cause artifacts with
hardware overlays.

11 years agoWaylandGLESTexture: Bugfix. Memory leak occurs if destoryImageKHR is not called.
Nobuhiko Tanibata [Thu, 15 Nov 2012 10:32:49 +0000 (19:32 +0900)]
WaylandGLESTexture: Bugfix. Memory leak occurs if destoryImageKHR is not called.

On x86 crossville OKI, destoryImageKHR is not supported. But this part
should be kept as standard way. So that removing board spefic
implementation.

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoWaylandEvdevInputEvent: Bugfix. When touch device is used, SEGV occurs in reading...
Nobuhiko Tanibata [Thu, 15 Nov 2012 10:26:28 +0000 (19:26 +0900)]
WaylandEvdevInputEvent: Bugfix. When touch device is used, SEGV occurs in reading events

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoEGLWLInputEventExample: touch event support and improvement of drawing
Nobuhiko Tanibata [Sat, 29 Sep 2012 22:43:07 +0000 (07:43 +0900)]
EGLWLInputEventExample: touch event support and improvement of drawing

-Adds touch event listener.
-Drawing of eyes by polygon instead of line.

11 years agoInput handling support by evdev for wayland plugin on fbdev/drm backend
Nobuhiko Tanibata [Thu, 27 Sep 2012 04:35:45 +0000 (13:35 +0900)]
Input handling support by evdev for wayland plugin on fbdev/drm backend

-WaylandDrmWindowSystem: call function to set up input event: Evdev
-WaylandFbdevWindowSystem: call function to set up input event: Evdev

-WaylandInputEvent: implement common part, setting up xkb;keymap and initilizing devices;Pointer,keyboard,and Touch.
-WaylandEvdevInputEvent: add Evdev support.
-WaylandX11InputEvent: move common part for evdev and xcb to parent class.

-WaylandInputDevice: add Evdev support.

11 years agoWaylandBaseWindowSystem: bugfix, Service doesn't start if initialization of input...
Nobuhiko Tanibata [Thu, 27 Sep 2012 03:22:53 +0000 (12:22 +0900)]
WaylandBaseWindowSystem: bugfix, Service doesn't start if initialization of input device fails

11 years agoWaylandInputDevice: support for Touch point event
Nobuhiko Tanibata [Thu, 27 Sep 2012 02:36:55 +0000 (11:36 +0900)]
WaylandInputDevice: support for Touch point event

-WaylandBaseWindowSystem: modification for handling touch point
-WaylandInputDevice: Add implementation to send touch point event via wayland protocol

11 years agoWaylandInputDevice:Bugfix, sending wrong keycode
Nobuhiko Tanibata [Thu, 27 Sep 2012 02:34:21 +0000 (11:34 +0900)]
WaylandInputDevice:Bugfix, sending wrong keycode

11 years agoDrmGLESGraphicSystem: support wayland version 0.95.0
Nobuhiko Tanibata [Wed, 19 Sep 2012 06:23:38 +0000 (15:23 +0900)]
DrmGLESGraphicSystem: support wayland version 0.95.0

- Update DrmGLESGraphicSystem to support wayland version 0.95.0

11 years agoLayerManagerExamples: Input event sample for wayland x11 backend
Nobuhiko Tanibata [Wed, 19 Sep 2012 02:42:11 +0000 (11:42 +0900)]
LayerManagerExamples: Input event sample for wayland x11 backend

-EGLWLInputEventEample: tracing pointer event by eyes

11 years agoWindowSystems: input event handler and input device of Wayland Input handling for...
Nobuhiko Tanibata [Wed, 19 Sep 2012 02:35:48 +0000 (11:35 +0900)]
WindowSystems: input event handler and input device of Wayland Input handling for x11 backend

-WaylandInputDevice: provide pointer and keyboard events to WaylandWindowSystem
-WaylandX11InputDevice: Inherits WaylandInputDevice and handle input event by xcb
-WaylandInputEvent: Receive local event from WaylandWindowSysmte and send  input event via wayland protocol

11 years agoWaylandX11WindowSystem: input event support based on InputManager
Nobuhiko Tanibata [Wed, 19 Sep 2012 02:34:02 +0000 (11:34 +0900)]
WaylandX11WindowSystem: input event support based on InputManager

-Pointer & keyboard events support
-Receive Input events and report them to InputManager
-Forword local events of corresponding surface from InputManager to Wayland protocol

11 years agoWindowSystems: removed WITH_XTHREADS build flag
Timo Lotterbach [Mon, 19 Nov 2012 12:29:24 +0000 (04:29 -0800)]
WindowSystems: removed WITH_XTHREADS build flag

the option to disable XThread based events handling is not supported any longer.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagement: fixed build dependency
Timo Lotterbach [Mon, 19 Nov 2012 09:28:23 +0000 (01:28 -0800)]
LayerManagement: fixed build dependency

WITH_GLESv2_LIB was used before it was actually initilized.
This resulted in linker errors.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoWayland: removed compiler warnings
Timo Lotterbach [Wed, 7 Nov 2012 12:33:35 +0000 (04:33 -0800)]
Wayland: removed compiler warnings

unsed variables, unneccessary ; characters

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoDbusIpcModule: fixed broken build
Timo Lotterbach [Wed, 7 Nov 2012 12:32:33 +0000 (04:32 -0800)]
DbusIpcModule: fixed broken build

variable was renamed in the meantime

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoDbusIpcModule: Bugfix, missing call of dbus_message_iter_next
Nobuhiko Tanibata [Wed, 26 Sep 2012 22:37:36 +0000 (07:37 +0900)]
DbusIpcModule: Bugfix, missing call of dbus_message_iter_next

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoLayerManagerService: moved configuration options to dedicated Configuration class
Timo Lotterbach [Fri, 9 Nov 2012 11:59:45 +0000 (03:59 -0800)]
LayerManagerService: moved configuration options to dedicated Configuration class

The Configuration class handles
- build flags
- command line arguments
- environment variables

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: moved signal handling to dedicated class
Timo Lotterbach [Thu, 22 Nov 2012 09:59:42 +0000 (01:59 -0800)]
LayerManagerService: moved signal handling to dedicated class

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: Updating Release Notes
Michael Schuldt [Wed, 7 Nov 2012 08:30:54 +0000 (09:30 +0100)]
LayerManagerService: Updating Release Notes

Signed-off-by: Michael Schuldt <michael.schuldt@bmw.de>
11 years agoLayerManagerService: added internal thread for health monitoring
Timo Lotterbach [Tue, 20 Nov 2012 11:19:39 +0000 (03:19 -0800)]
LayerManagerService: added internal thread for health monitoring

the watchdog thread gets the health status from Layermanager.
LayerManager itself collects the health information from the
communciator and renderer plugin.

If health is fine, the installed health monitor is used to
trigger the watchdog.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoGenericCommunicator: implements IPlugin for health monitoring support
Timo Lotterbach [Tue, 20 Nov 2012 11:15:18 +0000 (03:15 -0800)]
GenericCommunicator: implements IPlugin for health monitoring support

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoX11GLESRenderer: implements IPlugin for health monitoring support
Timo Lotterbach [Tue, 20 Nov 2012 11:14:33 +0000 (03:14 -0800)]
X11GLESRenderer: implements IPlugin for health monitoring support

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: added IPlugin and PluginBase for plugin health monitoring
Timo Lotterbach [Tue, 20 Nov 2012 11:13:07 +0000 (03:13 -0800)]
LayerManagerService: added IPlugin and PluginBase for plugin health monitoring

all plugins implementing the interface support health monitoring

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: added instance of health monitor
Timo Lotterbach [Tue, 20 Nov 2012 11:07:03 +0000 (03:07 -0800)]
LayerManagerService: added instance of health monitor

depending on the build flags, either the systemd or default health
monitor is instantiated.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: added systemd health monitor
Timo Lotterbach [Tue, 20 Nov 2012 11:04:53 +0000 (03:04 -0800)]
LayerManagerService: added systemd health monitor

the systemd health monitor supports control of the systemd watchdog

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: added default health monitor
Timo Lotterbach [Tue, 20 Nov 2012 11:03:24 +0000 (03:03 -0800)]
LayerManagerService: added default health monitor

the default health monitor does nothing but disable the health watchdog

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: added IHealth interface
Timo Lotterbach [Tue, 20 Nov 2012 11:00:42 +0000 (03:00 -0800)]
LayerManagerService: added IHealth interface

classes implementing this interface implement a health monitor

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years ago3rdParty: added systemd daemon library reference implementation
Timo Lotterbach [Mon, 29 Oct 2012 10:05:38 +0000 (03:05 -0700)]
3rdParty: added systemd daemon library reference implementation

the reference implementation is available at:
http://www.freedesktop.org/software/systemd/man/sd-daemon.html

LayerManagerService links to this library

added the systemd sd-daemon license information.
sd-daemon is located in 3rdParty and is distributed together with
the LayerManagement source package.
sd-daemon is licensed under MIT license.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoDbusIpcModule: enabled Dbus thread support
Timo Lotterbach [Mon, 5 Nov 2012 09:29:34 +0000 (01:29 -0800)]
DbusIpcModule: enabled Dbus thread support

by enabling Dbus thread support, internal locking is used by the
Dbus library.

Note: this alone seems not to be sufficient to make the Dbus library
thread-safe. Therefore the DbusIpcModule internal locking is not removed.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoDbusIpcModule: now using private dbus connection, improved receive filters
Timo Lotterbach [Tue, 30 Oct 2012 12:19:22 +0000 (05:19 -0700)]
DbusIpcModule: now using private dbus connection, improved receive filters

- clients now open a private dbus bus connection to prevent
  side effects with other part of the application using dbus
- sender dbus interface is used for filtering messages from LayerMangerService
- removed filterDiscardUnexpected, breaks apps using multiple lib
  communciating over dbus

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: improved error reporting during startup
Timo Lotterbach [Mon, 5 Nov 2012 07:59:48 +0000 (23:59 -0800)]
ilmClient: improved error reporting during startup

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agogit: updated .gitignore to ignore KDevelop workspace files
Timo Lotterbach [Mon, 29 Oct 2012 09:28:31 +0000 (02:28 -0700)]
git: updated .gitignore to ignore KDevelop workspace files

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerExamples: fixed gcc 4.7.2 warnings and errors
Timo Lotterbach [Mon, 29 Oct 2012 07:20:13 +0000 (00:20 -0700)]
LayerManagerExamples: fixed gcc 4.7.2 warnings and errors

These issues have occurred using Ubuntu 12.10.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: Updating Release Notes
Michael Schuldt [Wed, 24 Oct 2012 07:07:14 +0000 (09:07 +0200)]
LayerManagerService: Updating Release Notes