platform/core/uifw/pepper.git
9 years agopepper: pepper_xxx_get_compositor() helper functions
Taekyun Kim [Thu, 1 Oct 2015 09:49:54 +0000 (18:49 +0900)]
pepper: pepper_xxx_get_compositor() helper functions

Change-Id: I4c883dba9875337ffdde8ee9ab20e017fc9eeed8

9 years agopepper: Promote view coordinate conversion functions to APIs
Taekyun Kim [Thu, 1 Oct 2015 09:30:36 +0000 (18:30 +0900)]
pepper: Promote view coordinate conversion functions to APIs

Change-Id: Id884ec209120036aea4058130a088756923ef464

9 years agopepper: APIs for getting corresponding wayland object of a pepper object
Taekyun Kim [Thu, 1 Oct 2015 09:23:02 +0000 (18:23 +0900)]
pepper: APIs for getting corresponding wayland object of a pepper object

Change-Id: Id5cc4777c8b1d0a3e45ac19f172f0a839b785565

9 years agopepper: Removed common focus managing object
Taekyun Kim [Thu, 1 Oct 2015 09:03:27 +0000 (18:03 +0900)]
pepper: Removed common focus managing object

Focus managing is different for each input objects.

Change-Id: I954468cda7aa1c41200a4f976df97f1134d0caba

9 years agopepper: API for setting pointer move velocity
Taekyun Kim [Thu, 1 Oct 2015 07:52:59 +0000 (16:52 +0900)]
pepper: API for setting pointer move velocity

Pointer position is calculated based on the following equation.

curr.x = prev.x + dx * vx;
curr.y = prev.y + dy * vy;

Velocity is not applied to absolute motion events.

Change-Id: I6bf2097eae83ef65422633b43279751cb26f6843

9 years agopepper: API for setting pointer clamp area
Taekyun Kim [Thu, 1 Oct 2015 07:45:36 +0000 (16:45 +0900)]
pepper: API for setting pointer clamp area

Pointer can never go outside the clamp area. Initial value is infinite area.

Change-Id: I832c55791cb499e17c01512fd9052cbd30946dec

9 years agopepper: Process input event before emit
Taekyun Kim [Thu, 1 Oct 2015 07:20:40 +0000 (16:20 +0900)]
pepper: Process input event before emit

There's no way to set pointer position now as it is determined by pepper as
a result of input event processing. Invoking grab functions and emitting
pointer events is just a result of the processing.

Change-Id: Iadccd1b25b97792908c47efa30593af4ce7fb1b5

9 years agopepper: Removed focus() function from pointer grab interface
Taekyun Kim [Thu, 1 Oct 2015 06:59:01 +0000 (15:59 +0900)]
pepper: Removed focus() function from pointer grab interface

Change-Id: Ie89768faafdce46d7db6d860c02ae48eebe315f3

9 years agoshell: Add functions for view's initial position
Jaehoon Jeong [Thu, 1 Oct 2015 05:44:47 +0000 (14:44 +0900)]
shell: Add functions for view's initial position

    - based on pointer position

Change-Id: I247277abb69576af6ca8e3bfad886bcdfbe82796

9 years agopepper: Add an API for getting socket name of a compositor
Taekyun Kim [Wed, 30 Sep 2015 08:47:12 +0000 (17:47 +0900)]
pepper: Add an API for getting socket name of a compositor

Change-Id: Ic3edf358096ce7c0c162a9658bb8a51c8bcd65f7

9 years agopepper: Use wl_display_add_socket_auto() for NULL socket name
Taekyun Kim [Wed, 30 Sep 2015 08:44:44 +0000 (17:44 +0900)]
pepper: Use wl_display_add_socket_auto() for NULL socket name

Change-Id: I633a97cef42ac5be3eee1e5f9f8665d0eb5e41e9

9 years agoshell: Fix fullscreen, maximized features
Jaehoon Jeong [Thu, 1 Oct 2015 02:38:32 +0000 (11:38 +0900)]
shell: Fix fullscreen, maximized features

    - minor bug fix for switching to maximized surface
    - save correct values for unset

Change-Id: Ie774ee3589bcf22b7f09ba16d07e783636911698

9 years agoshell: Ignore move/resize request in fullscreen, maximized, minimized state
Jaehoon Jeong [Wed, 30 Sep 2015 11:52:11 +0000 (20:52 +0900)]
shell: Ignore move/resize request in fullscreen, maximized, minimized state

Change-Id: Iac72a566ee187852e16213a084d4761e962f3f76

9 years agorender: pixman-renderer: implement repaint_view()
Junghoon [Tue, 29 Sep 2015 08:32:02 +0000 (17:32 +0900)]
render: pixman-renderer: implement repaint_view()

    - apply transform matrix
    - set filter

Change-Id: I5fb12ecceaa2247e426bec92e56ea686e78c95e7

9 years agoshell: fix resize correctly
Jaehoon Jeong [Wed, 30 Sep 2015 05:50:58 +0000 (14:50 +0900)]
shell: fix resize correctly

Change-Id: If5daa8d638f29a6411097194e2dc82b3b7647c95

9 years agoshell: fix xdg_surface_set_window_geometry() work correctly
Jaehoon Jeong [Wed, 30 Sep 2015 05:15:24 +0000 (14:15 +0900)]
shell: fix xdg_surface_set_window_geometry() work correctly

Change-Id: I88900f843ba420e3bc7bac6470e8e1cc5b0a3eb6

9 years agoshell: Convert type of position to double from int
Jaehoon Jeong [Fri, 25 Sep 2015 05:29:05 +0000 (14:29 +0900)]
shell: Convert type of position to double from int

    - minor code cleanup

Change-Id: I49ba0becf081abea61a08f9ccda1649152bf3b46

9 years agorender: gl-renderer: bugfix. correct vertex index for glDrawArrays()
Junghoon [Thu, 24 Sep 2015 04:46:39 +0000 (13:46 +0900)]
render: gl-renderer: bugfix. correct vertex index for glDrawArrays()

Change-Id: Ia1647860b70fd1cc7d3bfbb1a910143059e5d621

9 years agosamples: x11-backend - take socket name and renderer string as arguments
Taekyun Kim [Wed, 23 Sep 2015 10:17:58 +0000 (19:17 +0900)]
samples: x11-backend - take socket name and renderer string as arguments

Change-Id: I21160b8a277ad8245fa8a28cd71481a3b9adcc55

9 years agorender: Apply PEPPER_RENDER_CLEAR_BACKGROUND env var for gl renderer
Taekyun Kim [Wed, 23 Sep 2015 09:59:21 +0000 (18:59 +0900)]
render: Apply PEPPER_RENDER_CLEAR_BACKGROUND env var for gl renderer

Change-Id: Ie8a0ecb0e122b9fb4f19bc5ef9bdd806cc98fd7a

9 years agorender: Clean up GL renderer code
Taekyun Kim [Wed, 23 Sep 2015 09:51:04 +0000 (18:51 +0900)]
render: Clean up GL renderer code

Change-Id: I3afb2961c9e491da724f57fd8635ea3dbd4e44b0

9 years agorender: x11: Fix GL renderer to work with x11 backend
Taekyun Kim [Wed, 23 Sep 2015 09:40:34 +0000 (18:40 +0900)]
render: x11: Fix GL renderer to work with x11 backend

Change-Id: Ied853914cd43c587a8f99f34bc12cfe8240535ac

9 years agopepper: Update output size when mode changes
Taekyun Kim [Wed, 23 Sep 2015 09:39:07 +0000 (18:39 +0900)]
pepper: Update output size when mode changes

Change-Id: Ic67da584ffce62405dd76879148a5e061d241185

9 years agopepper: Send focus enter event for newly bound pointer & keyboard
Taekyun Kim [Tue, 22 Sep 2015 09:19:22 +0000 (18:19 +0900)]
pepper: Send focus enter event for newly bound pointer & keyboard

Change-Id: I15a442cf0d8efbb13e419f2be14beccb21074a14

9 years agopepper: Default keyboard grab
Taekyun Kim [Tue, 22 Sep 2015 07:28:30 +0000 (16:28 +0900)]
pepper: Default keyboard grab

Change-Id: I6e2bf9fb6a49684445329756a876d9c438503d98

9 years agopepper: Maintain an array of pressed keys for keyboard
Taekyun Kim [Tue, 22 Sep 2015 07:27:01 +0000 (16:27 +0900)]
pepper: Maintain an array of pressed keys for keyboard

Change-Id: I3e78c6cffde723016f4d4631bba24132f6dc7c21

9 years agopepper: Fix error on checking keyboard and touch of a seat
Taekyun Kim [Tue, 22 Sep 2015 06:39:47 +0000 (15:39 +0900)]
pepper: Fix error on checking keyboard and touch of a seat

Change-Id: I382fe3e14bb88f7f6c7933984c56338263966f18

9 years agopepper: Set keyboard focus when pointer left button is pressed
Taekyun Kim [Tue, 22 Sep 2015 06:14:25 +0000 (15:14 +0900)]
pepper: Set keyboard focus when pointer left button is pressed

Change-Id: I9fee9e734dabdbb1c83e96b406fd699f48ba633f

9 years agox11: Poll for xcb event when the FD is set
Taekyun Kim [Tue, 22 Sep 2015 06:13:47 +0000 (15:13 +0900)]
x11: Poll for xcb event when the FD is set

Change-Id: I387942ab18662ab06a937e81e82405023251e07e

9 years agopepper: Ignore surfaces having no attached buffer
Taekyun Kim [Tue, 22 Sep 2015 02:26:03 +0000 (11:26 +0900)]
pepper: Ignore surfaces having no attached buffer

Change-Id: I9d5ca5041af3b6dd0daa63364127b6ad6bb940ac

9 years agopepper: Update surface size when attached buffer is destroyed
Taekyun Kim [Tue, 22 Sep 2015 02:25:33 +0000 (11:25 +0900)]
pepper: Update surface size when attached buffer is destroyed

Change-Id: I7b7040eeef8c1b0be9d9a45b70927e6eeaf3cd67

9 years agodrm: implement assign_fb_plane()
Junghoon [Tue, 22 Sep 2015 01:59:11 +0000 (10:59 +0900)]
drm: implement assign_fb_plane()

    - need to check format before create fb correctly

Change-Id: I891a21be80ed548ad7d2f956efe3116d1cf5cac5

9 years agoshell: bugfix for center position calculation
Junghoon [Mon, 21 Sep 2015 06:27:22 +0000 (15:27 +0900)]
shell: bugfix for center position calculation

Change-Id: Iad5e27363e6c04dc7bd1e2b4e4f0336e9931fb12

9 years agopepper: Mark z-order as dirty for only modified views
Taekyun Kim [Mon, 21 Sep 2015 06:58:18 +0000 (15:58 +0900)]
pepper: Mark z-order as dirty for only modified views

Change-Id: I9f9513201db2e0ec579fa59b7c962ea36d54094c

9 years agopepper: bugfix for view insertion & z-order setting
Junghoon [Mon, 21 Sep 2015 05:47:28 +0000 (14:47 +0900)]
pepper: bugfix for view insertion & z-order setting

Change-Id: Ifa048d5c1a7c9df630a5cb2e92a72d6d970314e1

9 years agorender: Clear background if PEPPER_RENDER_CLEAR_BACKGROUND is 1
Taekyun Kim [Thu, 17 Sep 2015 08:45:55 +0000 (17:45 +0900)]
render: Clear background if PEPPER_RENDER_CLEAR_BACKGROUND is 1

Clear color is opaque black.

Change-Id: I5ae0c2f2d82aa66b4d3f44b90480adc8b95c9056

9 years agorender: Use PIXMAN_OP_OVER
Taekyun Kim [Thu, 17 Sep 2015 08:26:21 +0000 (17:26 +0900)]
render: Use PIXMAN_OP_OVER

OVER should be default and op will reduce to SRC for XRGB formats by pixman
internally, so we can get same performance.

Change-Id: Ib4e9fceae169c35d7a54ed0e940fad441acb3fb2

9 years agopepper: Correctly manage view z-order
Taekyun Kim [Thu, 17 Sep 2015 08:19:54 +0000 (17:19 +0900)]
pepper: Correctly manage view z-order

Views are stored in top to bottom z-order in lists.

Change-Id: Icc16e8232c650b834ca715e5bc996b84d02dfb64

9 years agoshell: Use pepper grab for move and resize
Taekyun Kim [Thu, 17 Sep 2015 05:47:35 +0000 (14:47 +0900)]
shell: Use pepper grab for move and resize

Change-Id: I76c6b2ebd8e68802ca94c2d28f7026301dc9b328

9 years agocommon: Add gbs.conf to gitignore
Taekyun Kim [Thu, 17 Sep 2015 05:20:03 +0000 (14:20 +0900)]
common: Add gbs.conf to gitignore

Change-Id: I0f6d973d51bb17f28896702195cad592ca790949

9 years agopepper: Handle focus destroy signal correctly
Taekyun Kim [Thu, 17 Sep 2015 04:43:00 +0000 (13:43 +0900)]
pepper: Handle focus destroy signal correctly

Change-Id: I618c93487b48518908a06855c8209a38c2dfeb46

9 years agopepper: Pick surface views only
Taekyun Kim [Thu, 17 Sep 2015 01:06:26 +0000 (10:06 +0900)]
pepper: Pick surface views only

Other types of views (grouping, etc) are not pickable.

Change-Id: Ib77af7e058ad0947a2dbe364e5ab28608cbe6f90

9 years agopepper: Pointer default grab & event handling
Taekyun Kim [Wed, 16 Sep 2015 08:07:50 +0000 (17:07 +0900)]
pepper: Pointer default grab & event handling

Change-Id: Id4150549f7589cdacbe1af43384e6725e1809141

9 years agopepper: Emit event from input devices to logical input objects
Taekyun Kim [Wed, 16 Sep 2015 08:06:14 +0000 (17:06 +0900)]
pepper: Emit event from input devices to logical input objects

Change-Id: Ib4b52fe79e80bad6c20712bf20ea830541519bf2

9 years agopepper: Use double for Change pointer coordinate value
Taekyun Kim [Wed, 16 Sep 2015 08:04:04 +0000 (17:04 +0900)]
pepper: Use double for Change pointer coordinate value

Change-Id: I1e78e224031b2cc0c38084588fe7db442587a0c3

9 years agopepper: input bug fix
Taekyun Kim [Wed, 16 Sep 2015 08:02:17 +0000 (17:02 +0900)]
pepper: input bug fix

Change-Id: I6606b450038716aa9ba3b7be32cc25e6196b5925

9 years agopepper: use const qualifier for input grab arguments
Taekyun Kim [Wed, 16 Sep 2015 07:57:56 +0000 (16:57 +0900)]
pepper: use const qualifier for input grab arguments

Change-Id: I5427064d85378c43f6afa81e393df497d6091625

9 years agopepper: Relative motion as default
Taekyun Kim [Wed, 16 Sep 2015 07:51:17 +0000 (16:51 +0900)]
pepper: Relative motion as default

Absolute motion event should use PEPPER_EVENT_POINTER_MOTION_ABSOLUTE

Change-Id: I0840b1ccd704ad45eecaa380bd7b4c09e50799dc

9 years agoshell: Initialize input devices when initializing shell
Taekyun Kim [Wed, 16 Sep 2015 07:47:55 +0000 (16:47 +0900)]
shell: Initialize input devices when initializing shell

Shell may be loaded after input backend initialized. So, get input device
list and add them first.

Change-Id: Ie97e2601abfaf150fe5a8d38d3ac337c5f566730

9 years agopepper: input region should be infinite when not specified
Taekyun Kim [Wed, 16 Sep 2015 07:45:34 +0000 (16:45 +0900)]
pepper: input region should be infinite when not specified

Change-Id: Ibdcc54c94e8d56aab167b2ee1b493ea55a551232

9 years agopepper: Convenience function for handling events of an object itself
Taekyun Kim [Wed, 16 Sep 2015 07:43:38 +0000 (16:43 +0900)]
pepper: Convenience function for handling events of an object itself

Change-Id: Ib82abe725ab53bd3adc2047127e26b47121a20b7

9 years agopepper: Support for input grab
Taekyun Kim [Wed, 16 Sep 2015 05:04:40 +0000 (14:04 +0900)]
pepper: Support for input grab

Grab is a set of input event handlers for doing operations such as pointer
driven move, resize or something like navigating between windows.

Change-Id: I7b5ea467ea06e43dcd9620299724abe1a746615c

9 years agopepper: input focus & send events to clients
Taekyun Kim [Wed, 16 Sep 2015 04:47:26 +0000 (13:47 +0900)]
pepper: input focus & send events to clients

Change-Id: I6b4de8a6eff006202f4cc2e19abe7e7edeb1ac6d

9 years agopepper: Common behavior of pointer/keyboard/touch into a single object
Taekyun Kim [Wed, 16 Sep 2015 04:07:01 +0000 (13:07 +0900)]
pepper: Common behavior of pointer/keyboard/touch into a single object

1. wl_resource management
2. focus management

Change-Id: I44e7af40baf8ea490a3493acb757a1f8e9c4c4b9

9 years agoshell: Remove default grab from the shell library
Taekyun Kim [Wed, 16 Sep 2015 03:58:11 +0000 (12:58 +0900)]
shell: Remove default grab from the shell library

Default grab will be provided as a built-in functionality by the pepper.

Change-Id: Ie720c59352703770b84bf7110649d48dd74f38a0

9 years agopepper: Unified event IDs and input event structures into a single one
Taekyun Kim [Wed, 16 Sep 2015 02:33:30 +0000 (11:33 +0900)]
pepper: Unified event IDs and input event structures into a single one

Change-Id: Ia324f94b2625f982aa20ecc8fdb5903999e681d0

9 years agopepper: More comprehensive name for output backend function flush_surface()
Taekyun Kim [Mon, 14 Sep 2015 09:47:53 +0000 (18:47 +0900)]
pepper: More comprehensive name for output backend function flush_surface()

Renamed to flush_surface_damage().

Change-Id: Iaeab80b3b620edd4abf138a95c61054bdd6eadee

9 years agopepper: Fix memory leak while accumulating plane clip region
Taekyun Kim [Mon, 14 Sep 2015 09:20:41 +0000 (18:20 +0900)]
pepper: Fix memory leak while accumulating plane clip region

Change-Id: I0477b4b98fe3dcdfe666e5167327536ae098954e

9 years agopepper: Clear surface damage after it is flushed
Taekyun Kim [Mon, 14 Sep 2015 08:51:56 +0000 (17:51 +0900)]
pepper: Clear surface damage after it is flushed

If multiple views refer to a single surface, flush damage might be called
multiple times. Clearing the damage region will prevent it.

Change-Id: I04466f0f04c96cff554ad43c3dffeeccf89becf5

9 years agopepper: View update process refactoring
Taekyun Kim [Mon, 14 Sep 2015 08:51:23 +0000 (17:51 +0900)]
pepper: View update process refactoring

1. Repaint scheduling

Now, repaint is scheduled only when a view is marked as dirty.
We have four dirty flags.

PEPPER_VIEW_GEOMETRY_DIRTY : Position, Size, Transform
PEPPER_VIEW_ACTIVE_DIRTY   : Activeness state
PEPPER_VIEW_Z_ORDER_DIRTY  : Z order (stack order)
PEPPER_VIEW_CONTENT_DIRTY  : Content of the view (surface.commit)

2. Output Repaint

We update all views in the compositor before trying to repaint an output.
Views internal state (global transform, bounding region, opaque region...)
will get updated and damages will be generated on planes where the views
belong to.

3. View picking

Picking is done using internal state that was recently updated not using
current state to pick a view that is actually rendered on the picking area.
Current state might have been changed since last rendering.

However, input region test is done using last committed surface state, but
if the client is doing the commit in response to the frame callbacks, that
should not be a problem.

If we want to pick a view based on the current state, we have to update all
views first. If this behavior is needed, we have to make a new API.

4. Surface damage flush

Surface damage is modified to be flushed only when it is actually needed.

Change-Id: I643d8efbbc24d1d404b2209097c36f248e3a9fe0

9 years agorender: Fix missing pixman_image_unref() when attaching a new buffer
Taekyun Kim [Mon, 14 Sep 2015 07:17:41 +0000 (16:17 +0900)]
render: Fix missing pixman_image_unref() when attaching a new buffer

Change-Id: I295d6a6ddd26fae07e6e1e8012deae11b1c1aaed

9 years agopepper: Add an API for quering view opaqueness
Taekyun Kim [Thu, 10 Sep 2015 08:17:20 +0000 (17:17 +0900)]
pepper: Add an API for quering view opaqueness

Change-Id: Ib73bebaae4a28cb28d4a8c92bd8358a4bf8aaaea

9 years agodrm: Better variable naming for vblank pending counter
Taekyun Kim [Thu, 10 Sep 2015 08:05:35 +0000 (17:05 +0900)]
drm: Better variable naming for vblank pending counter

Change-Id: I80644b16b67edb4494ce3097cc50831b4daa150c

9 years agopepper: fix compile error
Junghoon [Thu, 10 Sep 2015 08:00:38 +0000 (17:00 +0900)]
pepper: fix compile error

Change-Id: I6fa440ca0dc92f02bf1682080926242221db00a2

9 years agopepper: bugfix. set surface's damage region correctly
Junghoon [Thu, 10 Sep 2015 06:26:04 +0000 (15:26 +0900)]
pepper: bugfix. set surface's damage region correctly

Change-Id: I005916c500f170a6da3bd81d7429bafc45b28323

9 years agopepper: minor bugfix
Junghoon [Tue, 8 Sep 2015 09:35:21 +0000 (18:35 +0900)]
pepper: minor bugfix

Change-Id: I5fdbbe7b2b7301273aff5f961ffa5dd88dbf5fd9

9 years agodrm: destroy pixman_render_target on drm_buffer_destroy()
Junghoon [Fri, 4 Sep 2015 05:01:30 +0000 (14:01 +0900)]
drm: destroy pixman_render_target on drm_buffer_destroy()

Change-Id: I5c8dcbcdd7f804579244cd1926d360df62e542c1

9 years agorender: gl-renderer: call eglUnbindWaylandDisplayWL on gl_renderer_destroy
Junghoon [Fri, 4 Sep 2015 04:33:10 +0000 (13:33 +0900)]
render: gl-renderer: call eglUnbindWaylandDisplayWL on gl_renderer_destroy

Change-Id: I889bb113e045e982aa39308a4a3d93a28862a90f

9 years agorender: gl-renderer: release gl context before destroy
Junghoon [Fri, 4 Sep 2015 04:07:39 +0000 (13:07 +0900)]
render: gl-renderer: release gl context before destroy

Change-Id: I58487fdcd9442ca8f41d4249055a48af813f93f6

9 years agodrm: destroy gbm_device
Junghoon [Fri, 4 Sep 2015 04:05:15 +0000 (13:05 +0900)]
drm: destroy gbm_device

Change-Id: Ib8d5deafc62e7f67da48dfa9911eed375cd8a5ab

9 years agorender: call fini_gl_shaders() on gl_renderer_destroy()
Junghoon [Thu, 3 Sep 2015 12:54:07 +0000 (21:54 +0900)]
render: call fini_gl_shaders() on gl_renderer_destroy()

Change-Id: Ie647782b3f5e8b1642e5eb01d98f7542f82c11aa

9 years agolibinput: fix memory leak
Junghoon [Thu, 3 Sep 2015 12:53:28 +0000 (21:53 +0900)]
libinput: fix memory leak

Change-Id: I5f868bf43c985c9526ee1a4f7b983eec7ae7ed9f

9 years agodrm: add free & fini functions
Junghoon [Thu, 3 Sep 2015 12:44:44 +0000 (21:44 +0900)]
drm: add free & fini functions

Change-Id: I8f2aedecffc2f6f01bd1a052e724f8ffcd1dfe99

9 years agorender: bugfix for gl-renderer
Junghoon [Thu, 3 Sep 2015 11:07:04 +0000 (20:07 +0900)]
render: bugfix for gl-renderer

    - set attached buffer correctly
    - set pixel storage mode

Change-Id: I2e8e6d28fbf9e91f056fe5a103fccdbcde0038e6

9 years agopepper: Support for grouping view
Taekyun Kim [Thu, 3 Sep 2015 09:09:51 +0000 (18:09 +0900)]
pepper: Support for grouping view

Now views can be created without a surface, that is grouping view.
A grouping view act exactly same with the surface view except that it has
nothing to render on the screen even though it is marked as visible.

Change-Id: I38c0c390690d0e62e0123e05f1339fac19851967

9 years agopepper: Maintain a list of input devices in a compositor
Taekyun Kim [Thu, 3 Sep 2015 08:35:13 +0000 (17:35 +0900)]
pepper: Maintain a list of input devices in a compositor

Change-Id: I48bbb86ff60e84a6f5b482809be53d55f2402e45

9 years agosamples: x11-backend: Handle SIGINT and free resources when finished
Taekyun Kim [Thu, 3 Sep 2015 08:31:57 +0000 (17:31 +0900)]
samples: x11-backend: Handle SIGINT and free resources when finished

Change-Id: Ie60a229b4117c0e806c165b1b966a3cea84d0bab

9 years agopepper: APIs for accessing surface, view and seat list of a compositor
Taekyun Kim [Thu, 3 Sep 2015 08:31:16 +0000 (17:31 +0900)]
pepper: APIs for accessing surface, view and seat list of a compositor

Change-Id: I5cd356582ca0800a9afd13e253592a7bd3aed8a0

9 years agodrm: Free resources when destruction
Taekyun Kim [Thu, 3 Sep 2015 08:16:15 +0000 (17:16 +0900)]
drm: Free resources when destruction

Change-Id: I2bbfbfac3835e5c8722df478d6f3a40c6595088b

9 years agodrm: Fix drm_output_t not to be destroyed twice
Taekyun Kim [Thu, 3 Sep 2015 08:10:24 +0000 (17:10 +0900)]
drm: Fix drm_output_t not to be destroyed twice

Change-Id: Idf49378ece4d66a4da6ad9480490764d3c8270bb

9 years agopepper: Just detach a view when the surface is destroyed
Taekyun Kim [Thu, 3 Sep 2015 08:04:16 +0000 (17:04 +0900)]
pepper: Just detach a view when the surface is destroyed

Who created the view should destroy it.

Change-Id: Id9c77838ee84bebc9c2bb50b5ecef63d0f64e1a0

9 years agopepper: Add missing list link initialization
Taekyun Kim [Thu, 3 Sep 2015 08:01:29 +0000 (17:01 +0900)]
pepper: Add missing list link initialization

Change-Id: I9b6b0516b2956ddc6148a5cc121a482762572cf2

9 years agopepper: Free all objects created by clients when destroying a compositor
Taekyun Kim [Thu, 3 Sep 2015 07:51:26 +0000 (16:51 +0900)]
pepper: Free all objects created by clients when destroying a compositor

Other objects should be freed by who created them.

Change-Id: Id55ad5137a37d44e2aed2d9029d02ceb9ebbafe0

9 years agopepper: Consistent error handling using PEPPER_CHECK macro
Taekyun Kim [Thu, 3 Sep 2015 07:13:20 +0000 (16:13 +0900)]
pepper: Consistent error handling using PEPPER_CHECK macro

Change-Id: I84d5f815fcc995d3b31e26c37986ea2f053dc42b

9 years agopepper: Replace common.h functions with standard libc functions
Taekyun Kim [Thu, 3 Sep 2015 06:19:25 +0000 (15:19 +0900)]
pepper: Replace common.h functions with standard libc functions

Change-Id: I4ad99ab33991c6c664916729fd42933ae4bec9ee

9 years agodesktop-shell: Add keyboard and touch grab
Jaehoon Jeong [Thu, 3 Sep 2015 04:18:35 +0000 (13:18 +0900)]
desktop-shell: Add keyboard and touch grab

    - Add dummy default keyboard/touch grab

Change-Id: I15816c8073a78c3fc9bfb047e257659a916e71be

9 years agodesktop-shell: Handle pointer button and axis event
Jaehoon Jeong [Thu, 3 Sep 2015 03:40:54 +0000 (12:40 +0900)]
desktop-shell: Handle pointer button and axis event

Change-Id: Ic7ca9403dd851055430d4cad62297d46a1a2c9f4

9 years agorender: implement gl_renderer_repaint_output
Junghoon [Mon, 31 Aug 2015 07:27:27 +0000 (16:27 +0900)]
render: implement gl_renderer_repaint_output

    - shader creation, initialization
    - repaint view's damage region

Change-Id: Ib02e870b2c6d4f287be3a0504f232ab3645c2eb4

9 years agopepper: implement surface flush damage
Junghoon [Mon, 31 Aug 2015 07:10:39 +0000 (16:10 +0900)]
pepper: implement surface flush damage

    - and implement shm buffer upload in gl-renderer

Change-Id: I26f5dc93b51522561400da0a6c912d885b5509fd

9 years agodrm: Fix missed assignment for the connector when creating an output
Taekyun Kim [Wed, 2 Sep 2015 08:54:49 +0000 (17:54 +0900)]
drm: Fix missed assignment for the connector when creating an output

Change-Id: I9c977c22569ef9ee5300bc5eaa4a2c42331a63cc

9 years agodrm: Detach drm_buffer_t from the client buffer when destroyed
Taekyun Kim [Wed, 2 Sep 2015 08:43:03 +0000 (17:43 +0900)]
drm: Detach drm_buffer_t from the client buffer when destroyed

Change-Id: Ic186d672726ad3412ffa1b473e2a7bb3184a8169

9 years agopepper: Destroy buffer immediately when the resource is destroyed
Taekyun Kim [Wed, 2 Sep 2015 08:40:52 +0000 (17:40 +0900)]
pepper: Destroy buffer immediately when the resource is destroyed

Buffer should be immediately destroyed when the resource is destroy by the
client. Any references to the buffer should listen the destruction event and
detach themselves from the buffer.

Change-Id: I1b13921eb987fce9789ac2ba0e19dc46e44c0893

9 years agopepper: Remove event listeners still remaining after object destruction
Taekyun Kim [Wed, 2 Sep 2015 08:38:42 +0000 (17:38 +0900)]
pepper: Remove event listeners still remaining after object destruction

Change-Id: I414632465cafba6f0f251312abd5b5a8343570d9

9 years agodrm: Bug fix
Taekyun Kim [Wed, 2 Sep 2015 07:44:43 +0000 (16:44 +0900)]
drm: Bug fix

Change-Id: I23b33d9d6ee1480bbdc2a08e5add6d954f7bf580

9 years agopepper: Implement compositor clock
Taekyun Kim [Wed, 2 Sep 2015 07:34:18 +0000 (16:34 +0900)]
pepper: Implement compositor clock

Change-Id: I1fe399204e9bf9f9e02401bd7e796886ddada408

9 years agopepper: Emit missed object events
Taekyun Kim [Wed, 2 Sep 2015 05:26:39 +0000 (14:26 +0900)]
pepper: Emit missed object events

Change-Id: I28da05146738f78b30b4049c7f133dc70b13078e

9 years agodrm: Refactoring
Taekyun Kim [Wed, 2 Sep 2015 04:52:03 +0000 (13:52 +0900)]
drm: Refactoring

Split into several implementation files.
Rudimentary support for frame buffer plane.
Bug fix in damage accumulation for pixman renderer.

Change-Id: I7d4d842b787ef3a39ce58350880440d4e5775de6

9 years agox11: Fix pointer button index correctly and handle axis event
Jaehoon Jeong [Wed, 26 Aug 2015 03:49:53 +0000 (12:49 +0900)]
x11: Fix pointer button index correctly and handle axis event

Change-Id: If3d90a5b685aa7b50c3dc604399da21f98dfb09c

9 years agopepper: Add helper macro for error handling
Taekyun Kim [Wed, 2 Sep 2015 04:50:07 +0000 (13:50 +0900)]
pepper: Add helper macro for error handling

Change-Id: I0635285c6a2d6561e19401991133e40f0549be27

9 years agopepper: fix matrix calculation
Junghoon [Fri, 28 Aug 2015 16:51:51 +0000 (01:51 +0900)]
pepper: fix matrix calculation

    - translation, scaling
    - rotation around x, y, z axis
        - rotation flag setting

Change-Id: If6b0c79c88224440cebf430ccc74ece3b8cc958b