Taekyun Kim [Wed, 5 Aug 2015 05:33:24 +0000 (14:33 +0900)]
pepper: Expose object event feed function as an API
Change-Id: I6bd505bb4db3c72e2345aedb9d79c6cca78b6ee1
Taekyun Kim [Wed, 5 Aug 2015 04:59:23 +0000 (13:59 +0900)]
pepper: Remove old event implementation
Change-Id: I3d7b2b177e46d5a6c4374d38adc09a6f966fa2d6
Taekyun Kim [Wed, 5 Aug 2015 04:31:47 +0000 (13:31 +0900)]
pepper: Basic object event implementation
1. Events are identified by 32bit unsigned integer ID.
2. Each object has its own built-in event IDs.
3. Build-in events for generic object are common to all pepper objects.
4. Higher priority listeners are called earlier.
Change-Id: Iad5e16a5a297f5a17d5f8b6b5ed15972bfd18d52
Jaehoon Jeong [Tue, 28 Jul 2015 10:43:14 +0000 (19:43 +0900)]
x11: bugfix in event handling
- modify to always consume events, even if not using x-input-backend
Change-Id: I109cc73df771c3a190b7d6644f60f5389e7964fe
Jaehoon Jeong [Tue, 28 Jul 2015 05:30:08 +0000 (14:30 +0900)]
x11: samples: remove warnings
Change-Id: I6b773ec85655f14487b2185486d67380fd72e58e
Junghoon [Tue, 28 Jul 2015 04:55:02 +0000 (13:55 +0900)]
pepper: remove some warnings
Change-Id: Iec3ba250f2d3d5b1154286305cd6ec90ecb09383
Junghoon [Tue, 28 Jul 2015 04:37:12 +0000 (13:37 +0900)]
drm: fbdev: separate libinput creation code from drm & fbdev backends
Change-Id: Ib3b4fc3b26ccaedd1e86e8ab52c6d72290e03e4e
Jaehoon Jeong [Tue, 28 Jul 2015 05:01:07 +0000 (14:01 +0900)]
desktop-shell: remove warnings
Change-Id: Ice633c42c993cb51a79f0c1aa50e25f03a07e3a9
Jaehoon Jeong [Tue, 28 Jul 2015 04:28:40 +0000 (13:28 +0900)]
pepper: add missing initialization of regions
Change-Id: I70612efd112b52cec447a9e4006a7ac0f5f1c351
Junghoon [Tue, 28 Jul 2015 04:19:06 +0000 (13:19 +0900)]
fbdev: emit frame_signal
Change-Id: Ic00131a61a5cc14b2171fdcf125c2b9ef154e49e
Junghoon [Mon, 27 Jul 2015 07:44:01 +0000 (16:44 +0900)]
pepper: libinput: wayland: x11: input refactoring
- remove input backend interface
- add input device managing code
Change-Id: I4df5d300439a4fff108198e6208c193253a36521
Yuyeon Oh [Mon, 27 Jul 2015 05:45:05 +0000 (14:45 +0900)]
build: add each devel packages
Change-Id: I7e33feaea126b19d0eb492a14eb754e5484865ae
Jaehoon Jeong [Wed, 22 Jul 2015 11:44:40 +0000 (20:44 +0900)]
desktop-shell: implement xdg_shell, fullscreen, maximized
- Add init_xdg_shell() in pepper_desktop_shell_init()
- Implement fullscreen, maximized related types
- Handle client_destroy in shell_client
Change-Id: Ibfa25b4b4cd871414721cf153393fd73b035fbfb
Yuyeon Oh [Mon, 27 Jul 2015 02:30:12 +0000 (11:30 +0900)]
build: fix include path for GBS build
Change-Id: Ied85cc418224e94acc967d100be192f81cc0415d
Yuyeon Oh [Fri, 24 Jul 2015 04:43:15 +0000 (13:43 +0900)]
build: fix doctor build
Include pixman-1 library in doctor build
Change-Id: Ifad0e50a442e9bf47b699139ce05afc946a2cc53
Yuyeon Oh [Wed, 22 Jul 2015 06:03:55 +0000 (15:03 +0900)]
build: fix wrong %postun
Change-Id: I2c7145e0d6a19b36f6df9a12ed6b6d3bfd3aa4b3
Taekyun Kim [Fri, 24 Jul 2015 01:59:31 +0000 (10:59 +0900)]
build: Add missing libinput dependency of fbdev backend
Change-Id: I0f0e4539b754367fdb1c91af796dc025ec4bc34f
Taekyun Kim [Wed, 22 Jul 2015 09:31:12 +0000 (18:31 +0900)]
build: Search internal include path and libs before external ones
Include dir is moved to ${includedir}/pepper ie. /usr/include/pepper.
Change-Id: If747f0785d1cf2f7f8e0a01ff0786aac689c7755
Taekyun Kim [Wed, 22 Jul 2015 05:36:26 +0000 (14:36 +0900)]
pepper: Added a function for querying object type
Change-Id: I209ce1b581d7ff7ce8670d215ab9732b48a72c70
Yuyeon Oh [Mon, 20 Jul 2015 15:51:27 +0000 (00:51 +0900)]
build: add pepper.spec for GBS build
- Generate several RPM packages at once
- Change license to MIT temporarily because of build error
Change-Id: I828ec16155942192cb90979c16e4b2513b21e055
Taekyun Kim [Tue, 21 Jul 2015 12:16:38 +0000 (21:16 +0900)]
pepper: view damage processing and repaint scheduling
1. Schedule repaint on all outputs when a view is modified.
2. Each output update views in the compositor's view list.
Updating the views will inflict damage on their belonging plane.
3. Each output gathers views visible on it.
4. Assign planes for the visible views.
5. Do repaint.
Change-Id: Ie3e05107a6b31908866eb90e4d4b3d37d5872fe8
Jaehoon Jeong [Tue, 21 Jul 2015 05:58:15 +0000 (14:58 +0900)]
gitignore: ignore generated files in procotol/
Change-Id: I2723de4d501dda00e8c7b821f0c61d972ed79d75
Yuyeon Oh [Mon, 20 Jul 2015 14:36:01 +0000 (23:36 +0900)]
build: add --disable-x11 option for tizen-wayland GBS build
Change-Id: Ic2e7b792ab5049db066cccad18e1550cd48bb4c8
Jaehoon Jeong [Tue, 21 Jul 2015 06:02:33 +0000 (15:02 +0900)]
desktop-shell: implement set_transient
Change-Id: I5f7b8fd3dfc18848a528a13be753fe30026e7a4f
Taekyun Kim [Mon, 20 Jul 2015 07:16:09 +0000 (16:16 +0900)]
build: Better dependency check between internal packages
Change-Id: I28236cd26f0a11b4e53005d8fb5e7f9c705e67dd
Jaehoon Jeong [Mon, 20 Jul 2015 06:32:46 +0000 (15:32 +0900)]
desktop-shell: Implement popup
- wl_shell_surface.set_popup()
- xdg_shell.get_xdg_popup()
- TODO: add popup grab
Change-Id: Icfb8dd8d50405b8d57c734e4bb11dad28cf7353d
Taekyun Kim [Mon, 20 Jul 2015 05:53:06 +0000 (14:53 +0900)]
doctor: Fix compiler warnings
Change-Id: I7945e1fe2af4068dcf5d3836acd17cc65dd406e8
Taekyun Kim [Mon, 20 Jul 2015 05:26:30 +0000 (14:26 +0900)]
build: Fix build failure and some clean up
Change-Id: I133468f4897703ee62b6a5717cf38902804fb65b
Yuyeon Oh [Thu, 16 Jul 2015 09:43:22 +0000 (18:43 +0900)]
build: autoconf all source tree at once
Integrate all configure.ac files into one file in root directory.
You can't use sub directories' configure file any more.
TODO - enable or disable each sub module build separately
ex) --enable-pepper-core
Change-Id: I98c95563cc1fa2bcfbf9e4f902ac09a71505415d
Yuyeon Oh [Thu, 16 Jul 2015 07:35:31 +0000 (16:35 +0900)]
build: refactor source tree
before
/pepper/src
/$submodule/src
...
after
/src/pepper
/src/$submodule
...
Change-Id: If418af10a2d2f9f8018de1b4ec26211b772a4b49
Jaehoon Jeong [Wed, 8 Jul 2015 05:10:15 +0000 (14:10 +0900)]
desktop-shell: Implement set_title, set_class, set_appid
- In wl_shell_surface.set_class(), the surface class identifies the general
class of applications to which the surface belongs.
So we can use it for xdg_surface's app_id as application identifier.
Change-Id: I31a4362d0da141cc06f971736c79aa7e680ff6ad
Taekyun Kim [Thu, 16 Jul 2015 05:25:14 +0000 (14:25 +0900)]
pepper: Output backends correctly consume damage region
Change-Id: I2a7f4edfa01010e1db45efb243a543fe1b77626c
Taekyun Kim [Wed, 15 Jul 2015 10:47:22 +0000 (19:47 +0900)]
pepper: Send frame callback done after finishing repaint
Change-Id: I9e0ce916c4e528b40f1fc20efaefe19f32939033
Taekyun Kim [Wed, 15 Jul 2015 10:19:50 +0000 (19:19 +0900)]
pepper: Separate header file for input backend devel
Change-Id: I60d42f508c0f89900fb6922741b634d10c4b0323
Taekyun Kim [Wed, 15 Jul 2015 10:10:37 +0000 (19:10 +0900)]
pepper: Better type names for pepper objects
Type names are restored to original names. You should do manual type casting
when using object APIs instead.
Change-Id: I7f8d5796a53867d759fc3993c27b58da692143e2
Taekyun Kim [Wed, 15 Jul 2015 08:09:16 +0000 (17:09 +0900)]
pepper: pepper_plane_t and per-plane damage processing
Plane is a logical rendering surface maintaing its own damage region. A plane
belongs to an output and a view can be on a plane per output at a time.
<< Overall Data Relationship >>
* Compositor
- output list
- view list in sorted z-order
* Output
- plane list
* Plane
- plane entry list
- damage region
- clip region (obscured by other planes)
* View
- Geometry (position, size, transform)
- plane entries
<< Output Repaint Scheduling >>
* surface.commit() causes all outputs to be scheduled to do repaint.
* Repaint is scheduled on an output when one of its plane gets damaged.
<< Output Repaint Process >>
* Update geometry of all views in the compositor.
* Build a list of views that overlap with the output rectangle.
* Ask output backend to assign a plane of each view in the list.
* Build a list of plane entries for the views assigned to each plane.
* Accumulate damage for each plane.
* Call backend.repaint()
<< Damage Processing >>
* Geometry & Z-order change
- Inflict damage instantly with current visible region of the view on each
plane where the view belongs to.
- Mark it as damaged. Damage accumulation function should add visible region
of damaged views to the planes.
* Plane move
- Inflict damage instantly on previous plane and mark it as damaged.
* Surface damage
- Added while accumulating plane damage.
Change-Id: I7c4bd95f439f0cf0356bcbf2f060b09800ea4528
Jaehoon Jeong [Wed, 8 Jul 2015 05:01:43 +0000 (14:01 +0900)]
desktop-shell: Implement set_toplevel
- In surface type setting api cases, server tracks client's request and
actual mapping done in shell_surface_map_xxx() when surface.commmit()
called
- type setting scenario
1. client send request for shell_surface.set_something()
2. server track states
3. server send configure event
4. client post a new frame in reponse of the configure event with commit request
5. server apply changed states
Change-Id: I0dc7d731ad05e407efb69a3ed571eada3acc7830
Junghoon [Wed, 8 Jul 2015 09:55:59 +0000 (18:55 +0900)]
libinput: change struct libinput_seat to struct li_seat
- struct libinput_seat exists in libinput library
- and change function prefix in the same way
Change-Id: I92758d08dbc61996bcce839c16ac69ced67a45fc
Taekyun Kim [Wed, 8 Jul 2015 07:43:37 +0000 (16:43 +0900)]
pepper: Output ID allocation.
It is useful allocating an integer ID for an output. We allocate a bit in a
32-bits unsigned integer. In this way, we don't have to maintain a list of
outputs and checking whether an integer contains a certain output is much
easier.
Change-Id: I42a4b309b6b94b8a9ca20f4b6c526e23922b96a6
Taekyun Kim [Wed, 8 Jul 2015 06:06:35 +0000 (15:06 +0900)]
pepper: Renamed pepper_xxx_interface_t to pepper_xxx_backend_t
Functions that are used by pepper modules should be hidden from users so that
only those modules can call the functions. We need some structures to pass to
the modules for those functions. As "interface" is more natural name for that,
previous "interface" is now renamed to "backend".
Change-Id: I02d6ec5e13a98532a88746790df36248818cb185
Jaehoon Jeong [Fri, 3 Jul 2015 06:07:11 +0000 (15:07 +0900)]
desktop-shell: Implement common ping-pong mechanism between wl_shell and xdg_shell
- Move ping-pong's ownership to shell_client_t from shell_surface_t
for support xdg_shell.pong()
- Shell module may send ping to shell_surface_t,
for check that surface can take focus.
- fix typo
Change-Id: Iaeba2986991e1242d74039100052fc41a80fef8f
Yuyeon Oh [Thu, 2 Jul 2015 09:47:27 +0000 (18:47 +0900)]
render: fix pixman repaint()
- Add NULL check
- Indent
Change-Id: Ieb4006cd804fc64a9d961e64e91776a1d676cfd2
Junghoon [Tue, 7 Jul 2015 07:19:58 +0000 (16:19 +0900)]
drm: bugfix: find crtc for output
Change-Id: I65ecb0ab0ce4b2b8b3110091c46b45903c7b1895
Junghoon [Tue, 7 Jul 2015 07:15:38 +0000 (16:15 +0900)]
render: do GL extension setup once
Change-Id: I28d8a19b26b545504cde7a585f232b9be952dfa8
Jaehoon Jeong [Fri, 3 Jul 2015 07:51:32 +0000 (16:51 +0900)]
x11: bug fix
Change-Id: Ice9f5e34e250d7e4ef2e7535cc9ea6574d1ebf9e
Jaehoon Jeong [Thu, 2 Jul 2015 07:08:14 +0000 (16:08 +0900)]
desktop-shell: Add dummy xdg-shell and update .gitignore
- add xdg-shell.c
- update Makefile.am
- update .gitignore for protocol related files
Change-Id: Iaa485170cf6f3c55542082d8981ffd6f7a026bd6
Jaehoon Jeong [Thu, 2 Jul 2015 06:51:33 +0000 (15:51 +0900)]
desktop-shell: Add desktop_shell_t and shell_client_t
Change-Id: I48cbb13a3c9995d2a084017a07e3754fbe47a0d0
Junghoon [Thu, 2 Jul 2015 09:58:51 +0000 (18:58 +0900)]
render: bugfix: set context in pepper_gl_renderer_create_target()
- prevent (context == EGL_NO_CONTEXT) when calling eglMakeCurrent()
Change-Id: If81126e0bd4aa053f8305dd1c15b64d17b7b1843
Yuyeon Oh [Tue, 23 Jun 2015 13:49:29 +0000 (22:49 +0900)]
render: initial impl. of pixman repaint()
Change-Id: I407c35b7df9448885eae25511737edb74b290510
Taekyun Kim [Thu, 2 Jul 2015 09:24:57 +0000 (18:24 +0900)]
pepper: Update view size when updating view geometry.
Change-Id: I2dff6069f6d6e921d12f25793fcd585ed337a72d
Taekyun Kim [Thu, 2 Jul 2015 08:41:28 +0000 (17:41 +0900)]
pepper: Attach surface to outputs on surface.commit().
Attaching a surface is a process of notifying output backends so that they can
prepare for reading it and allocate resources for it.
For some types of buffers like EGL, the size is not known until it is queried
to the native library. although we can get the size of a shm buffer using
wl_shm, we basically assume that the buffer size should be queried to output
backends. If the backend uses pepper_render, then it can simply redirect the
request to the renderer.
Change-Id: Ie145f9029447605116a81984431cdc5235dc1eca
Taekyun Kim [Thu, 2 Jul 2015 08:12:09 +0000 (17:12 +0900)]
pepper: view: Correctly access pepper_view_state_t in view_list.
Change-Id: If49a857ccc543c2d0cac176bd5c68bec130ee426
Taekyun Kim [Wed, 1 Jul 2015 07:20:50 +0000 (16:20 +0900)]
pepper: Remove useless code.
Change-Id: Ie341dfdbf42b5330410b8859f6fd000562a88c80
Junghoon [Wed, 1 Jul 2015 06:12:13 +0000 (15:12 +0900)]
fbdev: bugfix: create render target using shadow image
Change-Id: I387ce73a92d4fdc24133d0e2981d635ef822b6f0
Taekyun Kim [Wed, 1 Jul 2015 05:06:02 +0000 (14:06 +0900)]
render: pixman: Create a render target directly from a pixman image.
Change-Id: Ida36d7e065949935093e80aee08051824e26c096
Taekyun Kim [Tue, 30 Jun 2015 08:58:42 +0000 (17:58 +0900)]
pepper: Pass rendering related view states directly through the view list.
Change-Id: I954084ab5bf809317e8bb21b3fbb1454e045ed49
Taekyun Kim [Tue, 30 Jun 2015 05:37:32 +0000 (14:37 +0900)]
pepper: View bounding, opaque and surface damage region processing.
Change-Id: Ic033ae5babe85f92b8b33649baa63173c6b61d62
Taekyun Kim [Tue, 30 Jun 2015 04:31:16 +0000 (13:31 +0900)]
pepper: utils: GLSL-like geometric primitives.
Geometric primitives are renamed similar with that of GLSL and some more
functions are added.
Change-Id: If107b46b60fee528031a4fe55e7b337ab42ec95c
Taekyun Kim [Mon, 29 Jun 2015 09:47:12 +0000 (18:47 +0900)]
pepper: View size should be integer values.
Change-Id: I2a106aac9f4b9d4e59591c7247235743645e1c7c
Taekyun Kim [Mon, 29 Jun 2015 07:31:22 +0000 (16:31 +0900)]
pepper: View API refactoring to separate z-order from parent-child relation.
Sometimes we want parent-child relationship to affect only transform of the
child not z-order. By separating z-order contraint from parent-child
relationship, we can do much more things with the APIs. For the previous style
stacked views, APIs that are changing z-order now take subtree argument
indicating whether entire subtree movement or just the individual view.
Change-Id: I7c50fae2b8dcabb336571f7dc2b93ca5d161e66c
Junghoon [Thu, 25 Jun 2015 07:05:11 +0000 (16:05 +0900)]
samples: add signal handling codes for SIGSEGV, SIGABRT
- and some change for cleanup
Change-Id: Ic52d7088b197027a443e231fe406acc0730573ea
Junghoon [Thu, 25 Jun 2015 05:36:20 +0000 (14:36 +0900)]
drm: add renderer parameter to pepper_drm_create()
Change-Id: I91d307a8648a93cebf378d76dc0f6fc44fd6f73a
Yuyeon Oh [Wed, 24 Jun 2015 08:02:31 +0000 (17:02 +0900)]
pepper: add pepper_view_get_visible_region()
Change-Id: I627eb9328f8886d077174015255a12cd54048982
Junghoon [Wed, 24 Jun 2015 08:13:39 +0000 (17:13 +0900)]
fbdev: bugfix: correct size parameter of munmap
Change-Id: I8b4a0b4daaff5c559a3eb6b1bb46af5292c4ec0e
Junghoon [Wed, 24 Jun 2015 07:25:26 +0000 (16:25 +0900)]
fbdev: rendering to shadow image
Change-Id: Ief61664faead1304fda0db79c5d204e59c073710
Junghoon [Wed, 24 Jun 2015 07:23:54 +0000 (16:23 +0900)]
pepper: move get_pixman_format() to pepper-utils
Change-Id: I760a6540827361435c810921b1dab39ee98f049c
Junghoon [Tue, 23 Jun 2015 12:12:59 +0000 (21:12 +0900)]
pepper: implement virtual terminal setup/restore
Change-Id: I7c84d04d8f2ba708fa47ae79a4a5515c042de9a3
Junghoon [Tue, 23 Jun 2015 12:04:32 +0000 (21:04 +0900)]
render: fix SIGSEGV at gl_render_target_destroy()
Change-Id: I534727a23911c1a3b50eb84efb54e36b8a50c8ca
Taekyun Kim [Tue, 23 Jun 2015 08:57:41 +0000 (17:57 +0900)]
etc: Added fbdev-backend binary file to gitignore
Change-Id: I565b4e53576cd4d3556e209c994c6f2bd6c5d226
Taekyun Kim [Tue, 23 Jun 2015 06:20:37 +0000 (15:20 +0900)]
pepper: Now view list and damage is passed to the repaint function.
Damage region and view list is required to do repaint. Now they are passed as
arguments in the repaint interface function.
Change-Id: Ib69a6322ad0e21bc273aa3f16eefee15ecb0720b
Taekyun Kim [Tue, 23 Jun 2015 05:35:58 +0000 (14:35 +0900)]
pepper: Accumulate output damage and automatically schedule repaint.
Damage is maintained per output and is passed to the repaint function.
Damage region is in output local coordinate space so an output backend should
be careful not to translate it to global compositor space.
No damage, we have nothing to repaint. So, we can safely schedule repaint
whenever damage is generated. Essentially, we don't have to expose repaint
scheduling APIs.
Change-Id: Iebff5fec5f93d764a8ea8894b7f84c8ded9c59c3
Jaehoon Jeong [Fri, 19 Jun 2015 04:14:08 +0000 (13:14 +0900)]
samples:x11: add desktop_shell_init()
Change-Id: I6ef909e34d6ac4f6740c267e315240a6271df8ff
Jaehoon Jeong [Fri, 19 Jun 2015 03:51:31 +0000 (12:51 +0900)]
desktop-shell: implement shell_surface's ping-pong
- TODO: display/undisplay the \'wait cursor\'
Change-Id: I8f725f534784fea48b000fbd26b484e1c31727e9
Junghoon [Fri, 19 Jun 2015 01:39:32 +0000 (10:39 +0900)]
drm: apply dynamic render target setup
- create gl & pixman renderers
- set render target
- minor bug fixes
Change-Id: I7f02e538b99869e22832b775478b0662f188100c
Junghoon [Fri, 19 Jun 2015 01:19:05 +0000 (10:19 +0900)]
fbdev: minor bugfix
- fix size parameter in mmap()
Change-Id: Id970f24e13ff3d455959fe4f4f0e7173263ce4b6
Taekyun Kim [Thu, 18 Jun 2015 08:29:55 +0000 (17:29 +0900)]
x11: Fixed incorrect height value on shm put image.
Typo error.
Change-Id: Iadf379715b927aaa2979b785c92417f6a8066a79
Taekyun Kim [Thu, 18 Jun 2015 08:27:17 +0000 (17:27 +0900)]
x11: Don't check success of gl renderer creation as it is optional.
Fall back to pixman renderer when gl renderer creation fails.
Change-Id: I530ae4f2e1425c13902d2b9c0e57f586513919c0
Jaehoon Jeong [Thu, 18 Jun 2015 07:45:50 +0000 (16:45 +0900)]
desktop-shell: implement wl_shell::get_shell_surface, wl_shell_surface::set_toplevel
- a little implementation
Change-Id: I72ea10abcdc781ba1c3e0141d6203cbb894aea77
Yuyeon Oh [Wed, 17 Jun 2015 07:01:17 +0000 (16:01 +0900)]
render: add dummy output_damage parameter
Change-Id: If9c18f10a85a4d1200ffe3ed1fa2a8b30fafcde0
Taekyun Kim [Wed, 17 Jun 2015 09:30:15 +0000 (18:30 +0900)]
render: Refactored to support dynamic render target setup.
Now, we can switch the render target of a renderer dynamically. With this, we
can create one EGLContext for multiple native windows so that we can save OpenGL
resources and texture download cost.
Additionally, some renderer APIs are added for surface attach and damage flush.
Modules that were using old APIs are modified to use new APIs. Essentially, the
root object (i.e. pepper_drm_t) creates renderers, and each output chooses its
desired renderer and points to the renderer. pepper_render_target_t is created
for an output and it is set as a render target of the renderer when repaint.
Some messy codes are cleaned up while rewriting for the new APIs. But still got
a lot more, especially, codes taken from weston.
Change-Id: I5c9796c44f74efa3aa735396f58c6499a817937b
Jaehoon Jeong [Wed, 17 Jun 2015 06:32:26 +0000 (15:32 +0900)]
desktop-shell: Add xdg-shell.xml and generate .c/.h from xml
Change-Id: Ida4655ac98cf0fdbfe82d4a3419f4d0733310064
Junghoon [Tue, 16 Jun 2015 07:29:32 +0000 (16:29 +0900)]
fbdev
- add renderer parameter to pepper_fbdev_create()
Change-Id: I4c153f95b502d03564f551a6257827aae2209797
Junghoon [Tue, 16 Jun 2015 07:21:59 +0000 (16:21 +0900)]
bugfix
Change-Id: Ic64fd9bfe42867ea896c46a2ada41cbf966514de
Taekyun Kim [Tue, 16 Jun 2015 04:37:56 +0000 (13:37 +0900)]
pepper: Introducing generic pepper_object_t.
Pepper objects have several similar functions, so abstracting such functions
into a generic object would be more convenient.
* List of pepper_object_t
- pepper_compositor_t
- pepper_output_t
- pepper_surface_t
- pepper_buffer_t
- pepper_view_t
- pepper_seat_t
- pepper_pointer_t
- pepper_keyboard_t
- pepper_touch_t
Change-Id: I6812a596fe2363a1261ebcd8d9fd715d29f4fda3
Taekyun Kim [Mon, 15 Jun 2015 08:31:07 +0000 (17:31 +0900)]
pepper: Commit only newly attached buffer.
As a client can attach a NULL buffer, it is impossible to know that the buffer
is newly attached or not by doing NULL check.
Change-Id: Ieeecc8530b8afa5c5058ad0cc8354265a782495a
Junghoon [Mon, 15 Jun 2015 07:49:57 +0000 (16:49 +0900)]
Remove useless "return;" statements
Change-Id: Ie0492ace4e059b4ef283bbf00ca5c8945267ca17
Junghoon [Fri, 12 Jun 2015 08:12:46 +0000 (17:12 +0900)]
fbdev: initial implementation
- use libinput & pixman renderer
- just clear screen once
Change-Id: I1b2470734d220c51a7b816a6d38a0d3bdbc9f996
Yuyeon Oh [Fri, 12 Jun 2015 07:38:49 +0000 (16:38 +0900)]
pepper: fix variable name
Change-Id: I0a4841201a9a3a26a43b936c9f0d0e67a77e5e9b
Taekyun Kim [Fri, 12 Jun 2015 04:19:45 +0000 (13:19 +0900)]
pepper: Basic matrix APIs
Matrix initialization, multiplication and some utility functions.
Change-Id: I3e40cc503d6d7109547e05739321ea64d393117b
Yuyeon Oh [Thu, 11 Jun 2015 12:36:53 +0000 (21:36 +0900)]
pepper: add initial log system
Default output file is stdout.
log example is below.
"Date: 2015-06-11 KST
"[21:36:35.164] DOCTOR: start doctor server 0
"[21:36:35.164] PEPPER: compositor.c:pepper_compositor_create: Failed to add socket display = 0xe60a20 socket_name = wayland-0
(" is added to avoid git commit ID recognition)
Change-Id: I32cf1d5fed59e5dbcef1f3ba49540df476246de6
jh01.j [Thu, 11 Jun 2015 06:17:40 +0000 (15:17 +0900)]
review: pepper: surface: add some codes
- Add pepper_surface_schedule_repaint() function
- Add wl_list_remove() for remove surface from compositor->surfaces list in destroy
Change-Id: I5ac6a701028db75c1fcd7c7c046c2329181b22dc
jh01.j [Thu, 11 Jun 2015 05:46:23 +0000 (14:46 +0900)]
x11: bug fix
- input: bug fix
- output: add pepper_pixman_renderer_set_target() function
Change-Id: I919db33f5ade8134545c1e0d9792a93b8b52c278
jh01.j [Thu, 11 Jun 2015 05:35:10 +0000 (14:35 +0900)]
pepper: input
- Add wl_seat_send_capabilities() in bind_seat()
- Add tiny pointer_motion and pointer_button event handler
Change-Id: I8d2dfd537535cda6e7b8f29896e65e86fca12f0a
Taekyun Kim [Thu, 11 Jun 2015 02:19:30 +0000 (11:19 +0900)]
pepper: View damage processing
Damage processing algorithm.
1. inflict damage for current visible area of a view when geometry or z-order
change. Mark those views as "need_damage" so that damages for updated
visible regions are getting inflicted.
2. Build a list of views sorted in z-order.
3. Do following things while traversing the view list from front to back
a. update view geometry
b. calculate visible region of the view : visible = bounding - opaque
c. inflict damage for visible region of the view if marked as "need_damage"
d. inflict damage for surface damage set by the client
e. accumulate view's opaque region on the global opaque region
Now we have total damage region in compositor->damage_region.
Change-Id: I06c7098bb7edc954172177ee36442800d2b3ce26
Taekyun Kim [Wed, 10 Jun 2015 09:43:12 +0000 (18:43 +0900)]
pepper: Fixed a bug in pepper_map_get().
Change-Id: Iecc5dccb455379637b86b365d769dd90b8c7f2ce
Taekyun Kim [Tue, 9 Jun 2015 07:07:29 +0000 (16:07 +0900)]
pepper: Merged pepper-utils package into pepper.
Change-Id: I00c82ea2e0e8745ee83a74647cfa7a35e732ec07
Taekyun Kim [Tue, 9 Jun 2015 06:38:51 +0000 (15:38 +0900)]
pepper: APIs for accessing root views of a compositor
These APIs are required for users to be able to traverse the view tree.
Change-Id: Icbd188a37ec5dca28a15a9d90182386163b27762
jh01.j [Tue, 9 Jun 2015 06:16:01 +0000 (15:16 +0900)]
x11: fix some logics
- implement destroy functions
- input: add capabilities
- output: move wl_event_source_timer_update() function to generate frame_callback in
gl-rendering case
Change-Id: Ia31e988092bb62f44febfcaf9355e94187d210e3
jh13.son [Mon, 8 Jun 2015 10:34:54 +0000 (19:34 +0900)]
drm: output - handle drm output device add/remove
Change-Id: I7e7c8dac815f9b804341033d26a138b3c85845dc
Taekyun Kim [Thu, 4 Jun 2015 09:40:02 +0000 (18:40 +0900)]
pepper: View API Refactoring
Change-Id: Ide15b28522cac54ab67ce820b3b62ae4f62258b3