Seunghun Lee [Wed, 20 Apr 2022 01:11:12 +0000 (10:11 +0900)]
Add ds_seat
ds_seat abstracts wl_seat protocol of server implementation.
Change-Id: Ic3dcf2c9c374af762c2fbeccbe0f2174b9b1be3d
Junkyeong Kim [Wed, 11 May 2022 07:30:21 +0000 (16:30 +0900)]
ds_dpms: Init ds_dpms
Ds_dpms is wayland-server implemantation of tizen_dpms protocol.
Change-Id: I774a743de26bd8c516ae0991daf28c3e20f50ec5
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
duna.oh [Thu, 12 May 2022 06:52:31 +0000 (15:52 +0900)]
backend/libinput: Support libinput backend
add struct ds_libinput_backend, ds_libinput_input_device, etc.
add an executable 'libinput-backend' to test libinput events
Change-Id: I7134f91f14f7a1bbd65f1216c63a4c3b59cd15ee
SooChan Lim [Wed, 11 May 2022 07:48:55 +0000 (16:48 +0900)]
implement the libds-tizen-keyrouter
libds-tizen-keyrouter supports the tizen_keyrouter extension.
This is the first impelemtaion for it. It can be added the additional
apis onward.
Change-Id: I9c819b03e38c5a1d7f8abb0257040502608e9131
SooChan Lim [Wed, 11 May 2022 07:45:58 +0000 (16:45 +0900)]
add security api which uses cynara
The keyrouter and devicemgr has to check the privilege when display
server gets the requests from these extensions. For this, security api
support the previlege check with cynara.
Change-Id: I6086e60e9d611de219b05856da6668bd7510cdc4
Seunghun Lee [Wed, 4 May 2022 06:37:27 +0000 (15:37 +0900)]
ds_output: Add ds_output_set_custom_mode
Change-Id: Ie55a79f11a1450bae3ff6d83bb735c854459f050
Seunghun Lee [Wed, 4 May 2022 06:31:58 +0000 (15:31 +0900)]
tinyds: Fix passing wrong arg to wl_container_of
This led segfault illegally accessing wrong pointer.
Change-Id: I28e64be8c0d0abd5ee8e164353a5c038a2c7ce52
Seunghun Lee [Tue, 26 Apr 2022 00:22:06 +0000 (09:22 +0900)]
tinyds-tdm: Fix build break
Change-Id: I75ab91d3d8195592b3aa661297cd8fa8f80d73f7
Seunghun Lee [Fri, 22 Apr 2022 00:17:57 +0000 (09:17 +0900)]
backend/wayland: Implement start() interface of ds_backend
The wayland backend defers creating new outputs until a user calls
ds_backend_start() even though a user requests creation of output before
ds_backend_start().
The wayland backend now emits a signal of new_output if a user calls
ds_backend_start(), which is for the behavior of ds_backend_start() to
be consistent regardless of the actual running backend.
Change-Id: I8d102ee90773c65634e7e360990abf995a156c29
Seunghun Lee [Mon, 25 Apr 2022 07:06:21 +0000 (16:06 +0900)]
tinyds: Use WAYLAND_DISPLAY and WAYLAND_SOCKET for wl backend
Instead of assuming the name of wayland display server by iterating
arbitrary number of names, it uses values of WAYLAND_DISPLAY and
WAYLAND_SOCKET environments.
The library of wayland-client uses these values when trying to connect
to wayland server.
Change-Id: Ieea1e2e55755ec10b6743568abf274e6a64aaf28
Seunghun Lee [Thu, 21 Apr 2022 07:56:48 +0000 (16:56 +0900)]
backend/wayland: Remove writable flag from event source
Instead of having a writable flag on event source, it just marks
wayland event source as needing a post-dispatch check. The event loop
will call dispatch function again after all dispatching is done, with
mask = 0.
Change-Id: Iefdff50e2fa06d244f1ca3bffd0faa70da6ef364
Seunghun Lee [Thu, 21 Apr 2022 05:05:11 +0000 (14:05 +0900)]
examples/tinyds: Handle ds_pointer
This adds listeners of ds_pointer and prints logs.
Change-Id: I10372862b9111e2cf01f88753e16a5036ffe8406
Seunghun Lee [Wed, 20 Apr 2022 11:16:37 +0000 (20:16 +0900)]
examples/tinyds: Enhance readability
No functional changes
- Use a first argument of function as a prefix of function name.
- Rename some of function name more clearly.
- Remove forward declaration of event handlers.
Change-Id: Id6c6dc54b638817caf47d4ba50692149e7ac9c7e
Seunghun Lee [Wed, 20 Apr 2022 11:11:59 +0000 (20:11 +0900)]
examples/tinyds: Clean up all views when finish server
Even though all view would have been cleaned up by an destroy event of
xdg_surface, this is just to clean up views explicitly just in case.
No functional changes.
Change-Id: I3a91adb68d665b334c56f607975734a7e95dbcfd
Seunghun Lee [Wed, 20 Apr 2022 10:54:19 +0000 (19:54 +0900)]
examples/tinyds: Clarify single output support
tinyds doesn't support multiple outputs for now, so don't pretend to
support multiple outputs.
Change-Id: Ic28b275423e5618677f34373ad677ad387a7f754
Seunghun Lee [Wed, 20 Apr 2022 09:10:04 +0000 (18:10 +0900)]
examples/tinyds: Remove redundant referencing ds_buffer
ds_buffer is supposed to be referenced by ds_output while using it, so
tinyds doesn't have any reasons to reference a ds_buffer for the output.
Change-Id: Ic1183d1517fb89711e0a53d3c3271ea2a1f598e9
Duna Oh [Wed, 20 Apr 2022 11:57:38 +0000 (20:57 +0900)]
Add ds_touch
Change-Id: I62c506d260eebdb5c4802ceaf54adc530255905d
Seunghun Lee [Wed, 20 Apr 2022 06:45:55 +0000 (15:45 +0900)]
xdg_shell: Destroy ds_xdg_surfaces when cleaning up client
This patch fixes memory corruption caused by removing
ds_xdg_surfaces's link in destroy_xdg_surface().
When wl_client is destroyed, ds_xdg_shell_client can be destroyed
before its own ds_xdg_surfaces. This led to memory corruption because of
illegal access to a freed memory when trying to remove list of
ds_xdg_surface.link.
Change-Id: I40fa5c1121c86f0674d7df81643e9805594e9dae
Seunghun Lee [Wed, 20 Apr 2022 02:29:17 +0000 (11:29 +0900)]
examples/tinyds: Handle ds_keyboard
tinyds now handles ds_keyboard, and it may be terminated by pressing
Alt + Ctrl + Shift + BackSapce.
Change-Id: I6333e2b239f3d7b28e62ca3997180e1428c9c4f7
Seunghun Lee [Mon, 18 Apr 2022 04:27:17 +0000 (13:27 +0900)]
packaging: Add missing file mistakenly unpacked
Change-Id: I4e9709f7677e717951c466a1092a76d2ca207673
Seunghun Lee [Mon, 18 Apr 2022 01:37:06 +0000 (10:37 +0900)]
Enable user to get keyboard modifiers
input-device-test take modifiers into account when handling key.
Change-Id: Ic72c3636c55dd9c43ddd14959ac442bd6cceaeed
Seunghun Lee [Mon, 18 Apr 2022 01:35:14 +0000 (10:35 +0900)]
examples: Rename pointer-test to input-device-test
This patch also adds code for ds_keyboard in input-device-test.
Change-Id: I39b92b87aff0f0f701afc1d4ac4e8674f3217715
Seunghun Lee [Mon, 18 Apr 2022 01:33:19 +0000 (10:33 +0900)]
backend/wayland: Support ds_keyboard
Change-Id: Ifadcdd2649fd8c7d3d912b107c2d531801cb189e
Seunghun Lee [Mon, 18 Apr 2022 01:29:23 +0000 (10:29 +0900)]
Add ds_keyboard
A ds_keyboard is for abstracting phisical keyboard device.
Change-Id: I97b3b02d37abd3adefb9da0b899a54bb58919784
Seunghun Lee [Fri, 15 Apr 2022 07:11:57 +0000 (16:11 +0900)]
Add missing header for alloca
Change-Id: If2bcc98ec8ea551ac860d67bddb158817bc20187
Seunghun Lee [Thu, 7 Apr 2022 01:46:48 +0000 (10:46 +0900)]
Add ds_input_device, and ds_pointer.
This patch is just the beginning of ds_input_device.
Currently, a ds_input_device is created only on the wayland backend, and
it only supports a ds_pointer.
Other devices like keyboard and touch, and other backends like libinput
will be supported in future patches.
Change-Id: I9efce1bea5fd362d5bcee86d92a81076b0be48bc
임수찬/Tizen Platform Lab(SR)/삼성전자 [Mon, 11 Apr 2022 00:27:52 +0000 (09:27 +0900)]
Update CODEOWNERS
Change-Id: I8806c08d307bf3e117c623991b0960b7046477a4
임수찬/Tizen Platform Lab(SR)/삼성전자 [Mon, 11 Apr 2022 00:27:40 +0000 (09:27 +0900)]
Update CODEOWNERS
Change-Id: I5a2b3c8ba058912115ad56e0366dc54341d19e9b
SooChan Lim [Wed, 30 Mar 2022 10:57:41 +0000 (19:57 +0900)]
add ws_members as reviewers
Change-Id: If915ead2bd39e85ed26a75fc83e7514024aca4bd
SooChan Lim [Wed, 30 Mar 2022 07:44:45 +0000 (16:44 +0900)]
add extern 'C' at tbm_server.h
Change-Id: I18ffdda44282b470ea96edef8cd572cbe7688bce
Seunghun Lee [Mon, 28 Mar 2022 11:03:20 +0000 (20:03 +0900)]
Add ds_tbm_server
ds_tbm_server initializes wayland_tbm to allow wl_client to use
tbm_surface as a wl_buffer.
Change-Id: I5fcf1f37bd9f410f7d400ac3a918c159dbb07fbc
Seunghun Lee [Thu, 17 Mar 2022 10:52:29 +0000 (19:52 +0900)]
Fix typo on a word of header guard
Change-Id: I780a95bc06fda2a2e71630741e949da011457069
Seunghun Lee [Thu, 17 Mar 2022 07:40:37 +0000 (16:40 +0900)]
Add an example of using ds_tdm_buffer_queue
Dependeing on the declaration of USE_TDM_BUFFER_QUEUE macro, tinyds-tdm
may be run with ds_tbm_buffer_queue.
Change-Id: I0e9617a6d9a18c00685fc0e25ac2a531f400e948
Seunghun Lee [Wed, 16 Mar 2022 04:18:21 +0000 (13:18 +0900)]
libds-tizen: Add ds_tdm_buffer_queue
A ds_tdm_buffer_queue is a buffer queue that is able to be acquired from
ds_tdm_output.
A ds_tdm_buffer_queue provides a handle of native queue to a user and
the user may pass it to a renderer. The renderer then should think of
native queue as tbm_surface_queue_h. With the tbm_surface_queue_h, the
renderer may dequeue a surface from it and draw on the dequeued buffer.
After finish drawing on the buffer, the renderer should enqueue it to
the tbm_surface_queue_h.
As soon as the renderer enqueues buffer to the tbm_surface_queue_h, the
user can recieve a notification that the buffer can be acquired from the
ds_tbm_buffer_queue using ds_tdm_buffer_queue_add_acquirable_listener().
Then user may acquire a buffer from the ds_tdm_buffer_queue and attach
it to a ds_output.
Note that although the renderer may enqueue a buffer on different thread
from the thread working on libds, but libds will call a callback
function which is registered using
ds_tdm_buffer_queue_add_acquirable_listener() on the thread working on
libds.
Change-Id: Ib50d2f11cdb27c0aa34b6beeecc73f012032c685
Seunghun Lee [Wed, 16 Mar 2022 02:43:49 +0000 (11:43 +0900)]
Add directories for tizen features
Change-Id: Ie629354a2c689293b678cc9cc4d22227a5068a94
Seunghun Lee [Tue, 8 Mar 2022 07:21:28 +0000 (16:21 +0900)]
Build 'include' subdir after 'src'
A variable 'features' referred from 'include' subdir is set during build
of 'src'.
Change-Id: Idd3db7a8384b6450fddb8173d9ec8cf4c358a42f
Seunghun Lee [Fri, 4 Mar 2022 07:27:16 +0000 (16:27 +0900)]
output: Add ds_output_enable/disable APIs
Change-Id: Idd7c1c7770b136bf240adbe34214101558aa31fe
Seunghun Lee [Fri, 4 Mar 2022 05:49:34 +0000 (14:49 +0900)]
Remove too noisy logs
Change-Id: I4144747488e21d8116e28bbb6b699a79812513ff
Seunghun Lee [Fri, 4 Mar 2022 05:25:20 +0000 (14:25 +0900)]
Fix formatting
Change-Id: I01c89e5adaa5180a116cc61fedce055bb90290bd
Seunghun Lee [Fri, 4 Mar 2022 01:49:50 +0000 (10:49 +0900)]
backend/tdm: Remove prefix tdm from static functions
It's to avoid confusion with tdm api.
For static functions, the names chosen aren't as important.
Change-Id: I917a027f0c94c67c18d3b7823bc216eed0080b60
Seunghun Lee [Fri, 4 Mar 2022 01:44:57 +0000 (10:44 +0900)]
backend/tdm: Split commit function into small functions
No functional changes. It improves readability.
Change-Id: Ib762d10a2ad085da18b2c21e00cbb66f2193d345
Seunghun Lee [Thu, 3 Mar 2022 10:03:50 +0000 (19:03 +0900)]
output: Rename function more explicitly
Change-Id: I97122db26edd0163f5a70dc5eafaace4df1d4127
Seunghun Lee [Thu, 3 Mar 2022 10:01:28 +0000 (19:01 +0900)]
backend/tdm: Get buffer only if it's necessary
Change-Id: I740870ecdf85e855fc583141bccc3a73dd8e4fec
Seunghun Lee [Thu, 3 Mar 2022 09:03:25 +0000 (18:03 +0900)]
examples: Use output mode instead of arbitrary size
Change-Id: I46b576bccbd469ed386dc4d284a7a71311e557af
Seunghun Lee [Thu, 3 Mar 2022 09:02:49 +0000 (18:02 +0900)]
backend/tdm: Update output mode
Change-Id: I1c23428392249f74376dc40aae5da89011165b17
Seunghun Lee [Thu, 3 Mar 2022 09:01:14 +0000 (18:01 +0900)]
Annotate a refresh variable
Change-Id: I6019b86ea994d8fc4073eaf0cdba318489f844a5
SooChan Lim [Sun, 6 Mar 2022 23:28:59 +0000 (08:28 +0900)]
add CODEOWNERS
which allow the members to be addded as reviewers when the PR is
uploaded.
Change-Id: I2baae3daff64061cf4436b91b22c64f42ced740a
SooChan Lim [Sun, 6 Mar 2022 23:10:09 +0000 (08:10 +0900)]
Put the extern "C"
Without this extern "C", C++ program which uses libds does not recognize
the symbols in libds header files.
Change-Id: I2b9904c6dd9f50eab4c15f66ce3b6d9328b213b2
SooChan Lim [Sun, 6 Mar 2022 23:09:00 +0000 (08:09 +0900)]
change the version into 0.1.2
Change-Id: I747595f287cf73a548e03e569c6a18f413837d1b
Seunghun Lee [Thu, 3 Mar 2022 03:11:03 +0000 (12:11 +0900)]
Move all source code to src directory
Change-Id: I55fd4d95d633a2a6d557d7409bbd6aba6b4b8d03
Seunghun Lee [Wed, 2 Mar 2022 09:14:12 +0000 (18:14 +0900)]
examples: Use pixman helper
Change-Id: I22a63f7af7c9b054d2be52f1e6dbbe92291ee96d
Seunghun Lee [Wed, 2 Mar 2022 09:09:39 +0000 (18:09 +0900)]
Add tdm backend server and client as an example
Change-Id: If5305c3ee0ae11d8e0c9d2aed581e4142a2e4c2a
Seunghun Lee [Wed, 2 Mar 2022 02:43:09 +0000 (11:43 +0900)]
backend/tdm: Extract buffer code into functions
Change-Id: I28a2f6bec27f85f80bcf91f1ce3cad7d4296d940
Seunghun Lee [Wed, 2 Mar 2022 02:36:44 +0000 (11:36 +0900)]
Add build options of backends
Change-Id: I344dd28196280c91f4c3fa064bc60f5a439b3fa2
Seunghun Lee [Wed, 2 Mar 2022 02:08:12 +0000 (11:08 +0900)]
Add missing cleanup
Change-Id: I4b035f0c5614025355b9d5f213f28424bfdad1a4
Seunghun Lee [Thu, 24 Feb 2022 08:36:44 +0000 (17:36 +0900)]
Add tinyds on tdm (wip)
Change-Id: I058c8c05db6e6460caf50ad6eee59af2e9d13ff4
Seunghun Lee [Thu, 24 Feb 2022 08:36:08 +0000 (17:36 +0900)]
Flesh out ds_buffer
Change-Id: I3c8bb8706b3a1bfdb05eeb31eb9715fd96933ed5
Seunghun Lee [Thu, 24 Feb 2022 06:59:36 +0000 (15:59 +0900)]
Move ds_backend implementation
no functional changes
Change-Id: If598451fc62155396478358b3c617c14112c8449
Seunghun Lee [Thu, 24 Feb 2022 06:01:35 +0000 (15:01 +0900)]
Add an example of tdm backend
Change-Id: I836ba2b5b88d3799c7b095051e255779d653fa10
Seunghun Lee [Thu, 24 Feb 2022 06:01:07 +0000 (15:01 +0900)]
Flesh out tdm backend
Change-Id: Idf59ff423465f1f44102058ff017c12b5f54f042
Seunghun Lee [Thu, 24 Feb 2022 05:58:44 +0000 (14:58 +0900)]
Add tbm allocator
Change-Id: If58f8810ce84cd6ac6fe5cb36127fce6f2e3e655
Seunghun Lee [Wed, 23 Feb 2022 04:39:35 +0000 (13:39 +0900)]
First draft for tdm backend
Change-Id: I2f0deeeb9990495907f9e805e6e43401fb28e008
Seunghun Lee [Wed, 2 Mar 2022 02:03:37 +0000 (11:03 +0900)]
Remove _t suffix from struct
Change-Id: I36406c49b9be1cf2d0c0a79288a16bccd3c23286
Seunghun Lee [Mon, 21 Feb 2022 04:58:09 +0000 (13:58 +0900)]
Initial libds
Change-Id: I1ce11f5a018ea4adf7817cda3a5f0cec3d2787ad
임수찬/Tizen Platform Lab(SR)/삼성전자 [Thu, 19 May 2022 04:40:51 +0000 (13:40 +0900)]
Initial commit
Change-Id: I80ef1a95978dba596bc1be9091f5906918d7f709
Tizen Infrastructure [Thu, 7 Jul 2022 06:05:18 +0000 (06:05 +0000)]
Initial empty repository