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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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.
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.
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.
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.
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.
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.
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>
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>
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.
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.
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
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
Nobuhiko Tanibata [Thu, 27 Sep 2012 02:34:21 +0000 (11:34 +0900)]
WaylandInputDevice:Bugfix, sending wrong keycode
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
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
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Michael Schuldt [Wed, 24 Oct 2012 07:07:14 +0000 (09:07 +0200)]
LayerManagerService: Updating Release Notes
Timo Lotterbach [Thu, 25 Oct 2012 12:23:40 +0000 (05:23 -0700)]
ilmClient: added detection if ilm_init() was called multiple times
Timo Lotterbach [Thu, 25 Oct 2012 12:12:43 +0000 (05:12 -0700)]
DbusIpcModule: added checks before calling dbus_watch_handle
Timo Lotterbach [Thu, 25 Oct 2012 11:09:00 +0000 (04:09 -0700)]
GenericCommunciator: improved logging of client names and pids
Timo Lotterbach [Wed, 24 Oct 2012 09:55:23 +0000 (02:55 -0700)]
LayerManagerService: removed cyclic header inclusion
LayerManager.h included Scene.h
Scene.h included LayerManager.h
LayerManager now just forwards class Scene.
Timo Lotterbach [Mon, 22 Oct 2012 11:47:37 +0000 (04:47 -0700)]
DbusIpcModule: updated Introspect response to contain input and notification API
New messages have been introduced for input handling and client notifications.
These commands have to be reported in the introspect response of Dbus.
Timo Lotterbach [Mon, 22 Oct 2012 11:12:38 +0000 (04:12 -0700)]
LayerManagerService: added missing API documentation
Timo Lotterbach [Wed, 10 Oct 2012 14:39:12 +0000 (07:39 -0700)]
LayerManagerService: added creator pid to every graphical object
Timo Lotterbach [Wed, 17 Oct 2012 09:25:38 +0000 (02:25 -0700)]
GenericCommunicator: passes the pid to every created command object
Timo Lotterbach [Wed, 17 Oct 2012 09:24:50 +0000 (02:24 -0700)]
LayerManagerCommands: included sender pid in every received command
Each received messages contains a unique sender handle.
During ServiceConnect call, the application registers it's process id.
this way a mapping of unique client handle to process id is possible.
Timo Lotterbach [Wed, 17 Oct 2012 09:27:15 +0000 (02:27 -0700)]
ilmClient: including client application name in ServiceConnect
Timo Lotterbach [Fri, 5 Oct 2012 11:03:56 +0000 (04:03 -0700)]
WindowSystems: fixed issues caused by new compiler warning settings
Timo Lotterbach [Fri, 5 Oct 2012 11:03:33 +0000 (04:03 -0700)]
GenericCommunicator: fixed issues caused by new compiler warning settings
Timo Lotterbach [Fri, 5 Oct 2012 11:02:08 +0000 (04:02 -0700)]
BuildSystem: updated compiler warnings settings, added new build flags
Now 3 different compiler warning presets are used:
- 3rd party libs, unit tests: cmake default compiler settings
- Examples: strict compiler settings to catch many code flaws
- other: very strict compiler settings to detect portability issues
The new build flags allow disabling build of
- LayerManagerService
- ilmClient
- GenericCommunciator
This allows building e.g. only the examples or unit tests
Timo Lotterbach [Wed, 10 Oct 2012 07:35:20 +0000 (00:35 -0700)]
LayerManagerService: added logging of command line arguments
On startup LayerManagerService logs the command line it was started with.
Timo Lotterbach [Fri, 5 Oct 2012 09:35:47 +0000 (02:35 -0700)]
LayerManagerService: fixed signal handling during shutdown
SIGABRT was not unset.
Timo Lotterbach [Fri, 5 Oct 2012 09:32:48 +0000 (02:32 -0700)]
Maintenance: removed use of non-portable usage of map::at(), fixed compiler warnings
map::at() function is no available on platforms, while map::operator[] is.
additionally some compiler warnings have been fixed:
- signed/unsigned mismatch
- removed unused variables
Timo Lotterbach [Wed, 17 Oct 2012 07:07:59 +0000 (00:07 -0700)]
LayerManagerUtils: included DLT default log level configuration
Timo Lotterbach [Tue, 9 Oct 2012 14:25:33 +0000 (07:25 -0700)]
GLESGraphicSystem: disabled DEBUG_LOG output spamming all logs
these DEBUG_LOG calls generated so much output, that no other information
could be used any more.
Timo Lotterbach [Mon, 15 Oct 2012 11:12:10 +0000 (04:12 -0700)]
LayerManagerExamples: fixed gcc 4.7.1 warnings and errors
These issues have occurred using Ubuntu 12.10 pre-release version.
Michael Schuldt [Tue, 2 Oct 2012 09:53:54 +0000 (11:53 +0200)]
LayerManagerService: Updating Release Notes
Timo Lotterbach [Mon, 10 Sep 2012 13:40:22 +0000 (06:40 -0700)]
TcpIpcModule: updated to new IpcModule API, added notification support
Added support for creating and sending notifications.
Improved handling of incoming message data structure.
removed destroyMessage:
was only used for DBusIpcModule, but lifecycle of received messages
is now handled internally. The external call is not required any more.
Timo Lotterbach [Tue, 2 Oct 2012 08:20:22 +0000 (01:20 -0700)]
DbusIpcModule: updated to new IpcModule API, added notification support
Send and Receive have been reimplemented to support asynchronous sending
and receiving of events. This enables the use of DBus signals as transport
for client notifications.
The implementation now features a DBus main loop based on DBusWatches,
select(), DBus filters and dbus_connection_dispatch().
Note: Layer- & SurfaceNotification messages are detected and the DBus
signal handlers are setup as required inside the DbusIpcModule.
removed destroyMessage:
was only used for DBusIpcModule, but lifecycle of received messages
is now handled internally. The external call is not required any more.
Timo Lotterbach [Mon, 10 Sep 2012 13:31:45 +0000 (06:31 -0700)]
GenericCommunicator: added notification support
Updated to use new IpcModule API.
Manages internal list of registered notifications. This list is used
to remove notifications on client disconnect.
After processing an incoming command, the list of client notifications
is processed: each notification is created using the IpcModule and
sent to the appropriate list of clients.
removed destroyMessage:
was only used for DBusIpcModule, but lifecycle of received messages
is now handled internally. The external call is not required any more.
Timo Lotterbach [Mon, 10 Sep 2012 13:23:09 +0000 (06:23 -0700)]
ilmClient: added internal thread, updated IpcModule API, updated tests
This patch adds an internal thread thread which implements a receive loop.
The internal thread is required to process any incoming notification event
independent of the current client state.
Inside the client API a list of callbacks is stored to support different
callbacks for different layer and surface notification.
The behavior of the API is unchanged, but additionally asynchronous callbacks
can be supported.
add notification tests:
tests all possible individual notification targets for layers
and surfaces and some combinations aswell.
remove destroyMessage:
was only used for DBusIpcModule, but lifecycle of received messages
is now handled internally. The external call is not required any more.
added thread for notification delivery:
the receive thread used to execute notification callbacks directly,
but this allowed a client to block the receive loop.
Now the receive thread adds all received notifications to a queue.
This queue is processed by the new notification thread, which
triggers the callbacks for incoming notifications.
if a client blocks the notification thread, it will only affect incoming
notifications, but the receive thread will continue working.
If the notification queue is full, the receive thread discards incoming
notifications.
Timo Lotterbach [Mon, 10 Sep 2012 13:14:38 +0000 (06:14 -0700)]
IpcModuleLoader: updated IpcMpodule API to support client notifications
removed destroyMessage:
was only used for DBusIpcModule, but lifecycle of received messages
is now handled internally. The external call is not required any more.
Timo Lotterbach [Mon, 10 Sep 2012 13:09:47 +0000 (06:09 -0700)]
LayerManagerCommands: enabled notifications for surface and layer property changes
Commands that change properties of layers or surfaces now add notifications
to the list of notifications.
Timo Lotterbach [Mon, 10 Sep 2012 13:07:34 +0000 (06:07 -0700)]
LayerManagerService: added internal notification queue
The executor now has an interface to add client notifications.
This enables commands to trigger client notifications, if they
have changed a property of a graphical object.
Timo Lotterbach [Mon, 10 Sep 2012 13:05:17 +0000 (06:05 -0700)]
LayerManagerControl: added watch layer/surface function
This feature allows watching all notifications sent for changes
of a layer or surface.
This basically enables monitoring the state changes of a layer or surface.
Additionally the ilmClient init and destroy was improved.
Timo Lotterbach [Mon, 10 Sep 2012 12:55:44 +0000 (05:55 -0700)]
ilmClient: added notification API
added API functions for adding and removing notifications
for layers and surfaces.
Timo Lotterbach [Tue, 2 Oct 2012 08:17:41 +0000 (01:17 -0700)]
Renderer: fixed issues detected by Coverity