summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Taekyun Kim [Thu, 16 Apr 2015 06:05:33 +0000 (15:05 +0900)]
test: Added weston's simple-shm, simple-touch test programs
Running them without any argument will connect to default server.
If an argument is given, it will connect to the given display name.
./simple-shm equals to ./simple-shm wayland-0
Change-Id: I677fd3809a87d29b5729244c9dadb42f375f6f1d
Taekyun Kim [Thu, 16 Apr 2015 05:30:21 +0000 (14:30 +0900)]
wayland: input: Fix some bugs
Change-Id: I84997592ec6aba955b78987bf524e2f149047801
Taekyun Kim [Wed, 15 Apr 2015 09:59:52 +0000 (18:59 +0900)]
wayland: pixman rendering via wl_shm_buffer
Change-Id: If95a155db5942f3fa08b49b2c2d53bf8ad40c5bb
Taekyun Kim [Wed, 15 Apr 2015 07:21:57 +0000 (16:21 +0900)]
output: initial output repaint and frame control implementation
Two boolean frame state flags
- scheduled : TRUE if repaint task is scheduled
- pending : TRUE if repaint is flushed but not posted
Three events affect the frame state flags
- Frame : called when any pending repaint is posted
- Repaint : Repaint the output
- Schedule : Schedule a repaint
<< Transition of "scheduled" state flag >>
-----------------------------------------
| | frame | repaint | schedule |
-----------------------------------------
| TRUE | TRUE | FALSE | TRUE |
-----------------------------------------
| FALSE | FALSE | error | TRUE |
-----------------------------------------
<< Transition of "pending" state flag >>
-----------------------------------------
| | frame | repaint | schedule |
-----------------------------------------
| TRUE | FALSE | error | TRUE |
-----------------------------------------
| FALSE | FALSE | TRUE | FALSE |
-----------------------------------------
Frame event is invoked by output backend module. wayland backend invokes it
when it receives frame callback done event. DRM backend invokes it in the
vblank period.
When to call repaint is upto pepper core, currently it is called in the frame
event handler function.
Schedule can be called at any time.
We should aim following criteria.
1. Don't make clients render frames which will not be seen on the display
This is done by sending frame done events to the clients when the compositor
is ready for following surface commits. This can be achieved by sending frame
done event once per frame at most.
2. Maximize FPS.
We also should maximize the FPS as possible as we can while still meets the
criteria #1. If a client can render its frame within a frame period, it should
be able to render at about display refresh rate.
3. Minimize latency
Latency means time between surface commit and actual display scanning. Short
latency is always preferable but we might have to do trade-off between FPS and
latency.
Change-Id: I9e3440ea5b79c20ed16229fcade2429afa00c767
jh13.son [Wed, 15 Apr 2015 04:15:25 +0000 (13:15 +0900)]
Change a member name in seat structure
- capability_signal ==> capabilities_signal
Change-Id: I2e0c4bd965913b7eac018354f6d62dece1f1bb5f
Taekyun Kim [Wed, 8 Apr 2015 06:27:43 +0000 (15:27 +0900)]
build: Changed default option for wayland backend egl support to no
We need a working EGL driver which supports wayland-egl for the wayland backend
to be properly compiled. We don't have such driver at the moment, just disable
it by default.
Change-Id: Ib45c0b7a312e3195ee37acb31231351ebc986d8d
Taekyun Kim [Wed, 8 Apr 2015 06:21:41 +0000 (15:21 +0900)]
Add test program template.
Add test program name to TESTPROGRAMS variable in test/Makefile.am
Change-Id: I888dd46730e2ce0a0fae75028fbe477e08fec8c9
Taekyun Kim [Wed, 8 Apr 2015 06:20:39 +0000 (15:20 +0900)]
Add missing initialization of signal and list
Change-Id: I5730e8b175f2fcae942dba25a345e1f9346e58ec
Taekyun Kim [Wed, 8 Apr 2015 04:50:05 +0000 (13:50 +0900)]
renderer: initial pixman renderer & wayland backend rendering functions
Change-Id: I6b906148d73405da3adc1cda5cedbb3968641507
Taekyun Kim [Tue, 7 Apr 2015 10:23:16 +0000 (19:23 +0900)]
Fix warnings
EGLint might be 64 bits, so just cast uint32_t to EGLint and compare.
Change-Id: I6f8d1a03e1034b2c2592fba306bd3e85f66bacd2
Taekyun Kim [Tue, 7 Apr 2015 08:16:17 +0000 (17:16 +0900)]
Added vim custom config file to .gitignore
Change-Id: Id8c4416735eb7c6a460b4d56a1de3f470d245e3a
Taekyun Kim [Tue, 7 Apr 2015 05:58:13 +0000 (14:58 +0900)]
Initial renderer implementation
Renderer base class and initial version of GL renderer implementation.
Change-Id: I452144074a5526c1d2dde4b4bb70de40f184efa3
Taekyun Kim [Tue, 7 Apr 2015 08:09:24 +0000 (17:09 +0900)]
Fix warnings & some minor coding style fix
Change-Id: I5768588da0fe2fa60b9af14f47d79a80b305d81e
jaehoon01.jeong [Tue, 7 Apr 2015 07:58:58 +0000 (16:58 +0900)]
x11: disable warnings, fix indent
Change-Id: Ic32ad5e7e84571ef718f62ff16bbeae39d072a67
jaehoon01.jeong [Tue, 7 Apr 2015 05:34:57 +0000 (14:34 +0900)]
X11 backend implementation
- initial version
- partially implemented
Change-Id: I68a2f0675bfdc3f6ca110d23daf80cc88ce3b068
junghoon13.son [Mon, 6 Apr 2015 05:37:25 +0000 (14:37 +0900)]
Shell implementation
- initial version
- partially implemented
- wl_shell and wl_shell_surface protocol APIs are added
Change-Id: If1be160154e9ca40fad315260baf24dbe93af9ce
junghoon13.son [Tue, 31 Mar 2015 07:02:41 +0000 (16:02 +0900)]
Shm initialize
- using wayland implementation
Change-Id: I96f00065a393d25aaa10dea16e9f7f1686495287
junghoon13.son [Thu, 2 Apr 2015 06:37:26 +0000 (15:37 +0900)]
Input implementation
- initial version
- wayland backend module
- core module
- wl_seat
Change-Id: I726e04421cacacf8a25d366656e5f059e810a192
Taekyun Kim [Thu, 2 Apr 2015 07:39:59 +0000 (16:39 +0900)]
Fix typo error
Change-Id: I743cf48d87ad0d713170ca105ebbb35b3e555aec
Taekyun Kim [Wed, 1 Apr 2015 04:42:16 +0000 (13:42 +0900)]
Output: Changed output creation/destruction functions
Change-Id: I4e0d18b5f9454bff4b7b4211b3c870ea6b47d2f4
Taekyun Kim [Wed, 1 Apr 2015 04:30:03 +0000 (13:30 +0900)]
Build: Build backend modules by default & some bug fix
Change-Id: I0768a51d072863b0da4e630ffed1ee891a42d47d
Taekyun Kim [Tue, 31 Mar 2015 06:43:12 +0000 (15:43 +0900)]
Refactor: output, backend APIs and etc
Change-Id: I2fdcd700ea541e347c44a60cdd0f3699cd1aa40d
Taekyun Kim [Thu, 26 Mar 2015 09:58:43 +0000 (18:58 +0900)]
Surface & Buffer initial implementation
Change-Id: I3b703bc30b3790f8f448769b4373e7c978399074
Taekyun Kim [Thu, 26 Mar 2015 03:37:43 +0000 (12:37 +0900)]
wl_region implementation
Implemented using pixman region.
Change-Id: If83abf5a2da62ae69e3f8b5be141156cc043d619
Taekyun Kim [Mon, 23 Mar 2015 05:17:49 +0000 (14:17 +0900)]
Refactoring
1. Use "-" to concatenate file name tokens.
2. Removed features which is not necessary now. Can be added later.
3. Modules are built together as a libpepper.so.
4. Modules can use only the pepper library APIs like normal applications do.
5. Modules can export its own header files.
6. pepper exports wayland display of a compositor so that applications can use wayland-server APIs.
7. Following configure arguments are added
--enable-wayland-backend=yes or no (default no)
--enable-drm-backend=yes or no (default no)
--enable-pepper-server=yes or no (default yes)
Change-Id: I5e6d04a2a1af150a246f34ba32c4ce4d87b1bb30
Taekyun Kim [Wed, 11 Mar 2015 05:47:09 +0000 (14:47 +0900)]
input: Some minor cleanups
Change-Id: I4a4c7f5da28bcd9af0d6782c62324ab22a95c609
jaehoon01.jeong [Tue, 10 Mar 2015 13:33:50 +0000 (22:33 +0900)]
Apply TmaxWindow's log style
- usage
- must be declare 'DECLARE_DEBUG_CHANNEL(module_name);' at ahead of files
"Syntax of the DEBUGCH variable:\n"
" DEBUGCH=[class]+xxx,[class]-yyy,...\n\n"
"Example: DEBUGCH=+all,warn-heap\n"
" turns on all messages except warning heap messages\n"
"Available message classes: err, warn, fixme, trace\n";
Change-Id: Iaeb88a81c9884481216a13c929f9b12b7806ae3f
Taekyun Kim [Wed, 11 Mar 2015 04:57:03 +0000 (13:57 +0900)]
Simplified initial APIs and some cleanups
Let's start with minimal APIs. Just create a compositor and run.
APIs for output, client, input and surfaces will be added later.
Moved typedefs into internal header which should not be exposed to the user
at the moment.
Change-Id: I8f08ca00a2305d79b2278bf3a5a9ffaa61cc596d
junghoon13.son [Mon, 9 Mar 2015 03:36:42 +0000 (12:36 +0900)]
Input implementation
- input module interface functions
Change-Id: I84aa7d06cef38858a87b7b0c4ecadda7f4790fbc
junghoon13.son [Fri, 6 Mar 2015 05:35:07 +0000 (14:35 +0900)]
Input implementation
1. add handlers for wl_seat, wl_pointer, wl_keyboard and wl_touch
- handlers do nothing
2. add input module using libinput
- partially implemented
Change-Id: I1729eabbdcf3b41e5dbff2fb0efe9855c82ecb56
junghoon13.son [Fri, 6 Mar 2015 04:45:02 +0000 (13:45 +0900)]
Code indentation
- expand tab to space
Change-Id: I7807df9910a2e1d3bce7b344ee61740aa1c08fd9
Taekyun Kim [Tue, 3 Mar 2015 10:44:27 +0000 (19:44 +0900)]
More utility macros, memory & string functions, coding style fix
1. Do not use __inline__ directly, use PEPPER_INLINE instead.
2. Always use PEPPER_ASSERT() instead of assert().
3. Use PEPPER_IGNORE() to avoid warning on unsed variables.
4. Always use pepper_malloc/pepper_calloc/pepper_free.
5. Don't use multiple new lines, put some meaningful comments instead.
6. Removed excessive error handling for OOM.
Change-Id: Idab2f85457c9ff093eb47ffc7c97373e338fd6d1
jaehoon01.jeong [Tue, 3 Mar 2015 08:26:00 +0000 (17:26 +0900)]
add global object creation and handler codes for basic functionality
- remove white-space
- remove 'pepper_' prefix in internal static functions
- modify function names and fn table names
- bind_xxx
- xxx_implementation
Change-Id: I89aa27a312964986e8a3245b8e3667dbfe5a411b
Taekyun Kim [Mon, 2 Mar 2015 10:51:06 +0000 (19:51 +0900)]
common: Implementation starting point
APIs for pepper library are located in pepper.h
API implementations should go to their object files. (ex. output.c)
Utilities, macros and other stuffs should go to common.h
Internal structures and functions should go to pepper_internal.h
Change-Id: I6cf48d256cc3a2e5c4ac0424558ec3738e35688a
Taekyun Kim [Fri, 27 Feb 2015 04:49:57 +0000 (13:49 +0900)]
Added .gitignore file
Change-Id: I69f2b2bc392c482e6e5a8cea4022332b209952af
Taekyun Kim [Fri, 27 Feb 2015 04:44:37 +0000 (13:44 +0900)]
Source directory hierarchy
Change-Id: I7572a5bebc51740777d5624bae2e26cd9d78e62e
Taekyun Kim [Fri, 27 Feb 2015 04:18:58 +0000 (13:18 +0900)]
Modifled pepper.c to apply coding style guide line
Change-Id: Ie9b19eeb5b191f0770875e3fe257dc3f7fd7f6ef
Taekyun Kim [Fri, 27 Feb 2015 04:18:32 +0000 (13:18 +0900)]
Added coding style guide line
Change-Id: I4901a0d4638f4e08efae1d3fcbdf88be9bf4c4c1
Taekyun Kim [Wed, 25 Feb 2015 09:19:17 +0000 (18:19 +0900)]
Build: Added initial RPM spec file for GBS build
Change-Id: Ie06260e6e565b451e82e09fdfb457d1d8dcaa4fd
Taekyun Kim [Wed, 25 Feb 2015 08:08:05 +0000 (17:08 +0900)]
Compositor: Basic compositor main loop
Starting point for implementing pepper server.
Change-Id: I6981231d22351754ceb95cb3c4a9baeda5eee72d
Taekyun Kim [Wed, 25 Feb 2015 07:46:48 +0000 (16:46 +0900)]
Compositor: Added build configurations for wayland server
COMPOSITOR_MODULES should contain all necessary packages to build pepper
executable. These modules will be checked by PKG_CHECK_MODULES at the end of
the configure.
Change-Id: I043b69802dff938a1250ef47302b3facaaa0b872
Taekyun Kim [Wed, 25 Feb 2015 07:27:37 +0000 (16:27 +0900)]
Initial project configuration
We start from this tiny hello world project :-)
Change-Id: I3043952401effdcdfdeae59cd990f97777098148
JeongHoon Jeon [Wed, 27 May 2015 09:49:34 +0000 (18:49 +0900)]
Initial empty repository