Timo Lotterbach [Wed, 19 Dec 2012 13:36:04 +0000 (05:36 -0800)]
GLXRenderer: updated to new IPlugin interface
GLXRenderer is now based on the updated IPlugin interface
to support static linking.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 19 Dec 2012 08:02:06 +0000 (00:02 -0800)]
LayerManagement: fixed warnings in C code
The build system was fixed to apply the global compiler settings
also to C-compiler calls.
This raised several warnings in the C code parts.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Mon, 17 Dec 2012 14:01:33 +0000 (06:01 -0800)]
ilmClient: fixed memory leak in notification delivery
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 12 Dec 2012 13:31:47 +0000 (05:31 -0800)]
LayerManagerBase: moved library to separate directory
LayerManagerBase library contains all base functionality of
LayerManagement like Scene, GraphicalObjects.
All improtant interfaces are defined by this package.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 12 Dec 2012 13:07:45 +0000 (05:07 -0800)]
ilmClient: removed ilm_surfaceInvalidateRectangle
this function was never implemented and after being deprecated
it is now removed completely.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 12 Dec 2012 13:03:32 +0000 (05:03 -0800)]
LayerManagerControl: moved out of examples directory
LayerManagerControl was promoted to be the default control tool
for LayerManagement. In order to have it included in as many
installations as possible, it was moved out of the examples package,
because examples will not be installed on many (embedded) targets.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Tue, 11 Dec 2012 12:31:08 +0000 (04:31 -0800)]
WaylandGLESRenderer: updated to new IPlugin interface
WalyandGLESRenderer is now based on the updated IPlugin interface
to support static linking.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Tue, 11 Dec 2012 12:04:25 +0000 (04:04 -0800)]
TextRenderer: updated to new IPlugin interface
TextRenderer is now based on the updated IPlugin interface
to support static linking.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Fri, 30 Nov 2012 12:45:31 +0000 (04:45 -0800)]
ExampleSceneProvider: refactored cmake configuration
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Fri, 30 Nov 2012 12:07:14 +0000 (04:07 -0800)]
GenericCommunicator: refactored cmake configuration
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Fri, 30 Nov 2012 12:02:48 +0000 (04:02 -0800)]
X11GLESRenderer: refactored cmake configuration
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Fri, 30 Nov 2012 12:02:24 +0000 (04:02 -0800)]
SystemdHealthMonitor: refactored cmake configuration
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 28 Nov 2012 15:59:26 +0000 (07:59 -0800)]
LayerManagerService: added support for full static build of LayerManagerService
the build flag WITH_STATIC_LIBRARIES can be enabled to build all libraries and
plugins statically and link them directly to the LayerManagerService
binary.
Additionally searching for dynamically loaded plugins is disabled
to provide improved startup performance.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Fri, 30 Nov 2012 12:52:52 +0000 (04:52 -0800)]
LayerManagerService: divided into LayerManagerBase and LayerManagerService
LayerManagerBase is a static library containing the whole LayerManager
base implementation, e.g. Scene, PluginLoading, ...
This allows other components to directly link to this implementation
(e.g. unit tests)
LayerManagerService contains only the main.cpp file and links to
LayerManagerBase library.
Additionally, some component dependencies have been improved.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 28 Nov 2012 10:55:45 +0000 (02:55 -0800)]
ExampleSceneProvider: updated to new IPlugin interface
ExampleSceneProvider is now based on the updated IPlugin interface
to support static linking.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 28 Nov 2012 10:55:07 +0000 (02:55 -0800)]
SystemdHealthMonitor: updated to new IPlugin interface
SystemdHealthMonitor is now based on the updated IPlugin interface
to support static linking.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 28 Nov 2012 10:52:51 +0000 (02:52 -0800)]
X11GLESRenderer: updated to new IPlugin interface
X11GLESRenderer is now based on the updated IPlugin interface
to support static linking.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 28 Nov 2012 10:49:36 +0000 (02:49 -0800)]
GenericCommunicator: updated to new IPlugin interface
GenericCommuncator is now based on the updated IPlugin interface
to support static linking.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 28 Nov 2012 10:27:21 +0000 (02:27 -0800)]
LayerManagerService: removed plugin management functions from ICommandExecutor
Plugins are now handled by the PluginManager within Layermanager, so
there's no need for the external interface to add or remove different
kind of plugins to the ICommandExecutor.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 28 Nov 2012 10:24:51 +0000 (02:24 -0800)]
LayerManagerService: updated PluginManager to load IPlugins
the plugin discovery was updated to recursively scan the whole plugin
directory. Every file in this directory is tested, if it is a valid
LayerManagement plugin. If a plugin is valid, it is instantiated.
The type and API version of the plugin can be validated afterwards.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 28 Nov 2012 10:15:25 +0000 (02:15 -0800)]
LayerManagerService: updated IPlugin, PluginBase
all plugins are now required to provide their API type and version
as well as their name.
This allows loading all plugins using the same mechanism and detect
their type during runtime. The API version can be used to make sure,
that the LayerManagerService supports this verison of the plugin API.
The name of the plugin is used for logging.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 28 Nov 2012 10:08:04 +0000 (02:08 -0800)]
LayerManagerPlugins: introduced WITH_STATIC_PLUGINS to statically link plugins
the build system was enhanced to create a list of
statically linked plungins. All plugins in this list are statically linked
against LayerManagerService.
To enable this option, the build flag WITH_STATIC_PLUGINS was added.
Plugins supporting this features must add themselves to the list of
statically linked plugins based on the setting of WITH_STATIC_PLUGINS.
additionally the macro DECLARE_LAYERMANAGEMENT_PLUGIN was added to
simplify the definition of a plugin entry point for loading.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Wed, 28 Nov 2012 11:39:52 +0000 (03:39 -0800)]
LayerManagerService: fixed broken build of unit tests
PluginManager class was added to LayerManagerService, but it was
not included in LayerManagerService_Test, resulting in an linker error.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Mon, 26 Nov 2012 14:11:31 +0000 (06:11 -0800)]
LayerManagerExamples: moved LayerSceneDescriptionExample to plugin directory
LayerSceneDescriptionExample was moved to
LayerManagerPlugins/SceneProvider/ExampleSceneProvider
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Timo Lotterbach [Mon, 26 Nov 2012 13:50:07 +0000 (05:50 -0800)]
LayerManagerService: moved Systemd health monitor to health plugin
the systemd integration was moved to an optional plugins.
this way LayerManagerService has no dependencies on systemd.
health monitoring plugins implement the interface IHealthMonitor.
Currently there's only one avialable that uses systemd watchdog to
report health status to the system.
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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