platform/core/uifw/libds-tizen.git
21 months agotinyds: Fix passing wrong arg to wl_container_of 83/278183/1
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

21 months agotinyds-tdm: Fix build break 82/278182/1
Seunghun Lee [Tue, 26 Apr 2022 00:22:06 +0000 (09:22 +0900)]
tinyds-tdm: Fix build break

Change-Id: I75ab91d3d8195592b3aa661297cd8fa8f80d73f7

21 months agobackend/wayland: Implement start() interface of ds_backend 81/278181/1
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

21 months agotinyds: Use WAYLAND_DISPLAY and WAYLAND_SOCKET for wl backend 80/278180/1
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

21 months agobackend/wayland: Remove writable flag from event source 79/278179/1
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

21 months agoexamples/tinyds: Handle ds_pointer 78/278178/1
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

21 months agoexamples/tinyds: Enhance readability 77/278177/1
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

21 months agoexamples/tinyds: Clean up all views when finish server 76/278176/1
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

21 months agoexamples/tinyds: Clarify single output support 75/278175/1
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

21 months agoexamples/tinyds: Remove redundant referencing ds_buffer 74/278174/1
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

21 months agoAdd ds_touch 73/278173/1
Duna Oh [Wed, 20 Apr 2022 11:57:38 +0000 (20:57 +0900)]
Add ds_touch

Change-Id: I62c506d260eebdb5c4802ceaf54adc530255905d

21 months agoxdg_shell: Destroy ds_xdg_surfaces when cleaning up client 72/278172/1
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

21 months agoexamples/tinyds: Handle ds_keyboard 71/278171/1
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

21 months agopackaging: Add missing file mistakenly unpacked 70/278170/1
Seunghun Lee [Mon, 18 Apr 2022 04:27:17 +0000 (13:27 +0900)]
packaging:  Add missing file mistakenly unpacked

Change-Id: I4e9709f7677e717951c466a1092a76d2ca207673

21 months agoEnable user to get keyboard modifiers 69/278169/1
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

21 months agoexamples: Rename pointer-test to input-device-test 68/278168/1
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

21 months agobackend/wayland: Support ds_keyboard 67/278167/1
Seunghun Lee [Mon, 18 Apr 2022 01:33:19 +0000 (10:33 +0900)]
backend/wayland: Support ds_keyboard

Change-Id: Ifadcdd2649fd8c7d3d912b107c2d531801cb189e

21 months agoAdd ds_keyboard 66/278166/1
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

21 months agoAdd missing header for alloca 65/278165/1
Seunghun Lee [Fri, 15 Apr 2022 07:11:57 +0000 (16:11 +0900)]
Add missing header for alloca

Change-Id: If2bcc98ec8ea551ac860d67bddb158817bc20187

21 months agoAdd ds_input_device, and ds_pointer. 64/278164/1
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

21 months agoUpdate CODEOWNERS 63/278163/1
임수찬/Tizen Platform Lab(SR)/삼성전자 [Mon, 11 Apr 2022 00:27:52 +0000 (09:27 +0900)]
Update CODEOWNERS

Change-Id: I8806c08d307bf3e117c623991b0960b7046477a4

21 months agoUpdate CODEOWNERS 62/278162/1
임수찬/Tizen Platform Lab(SR)/삼성전자 [Mon, 11 Apr 2022 00:27:40 +0000 (09:27 +0900)]
Update CODEOWNERS

Change-Id: I5a2b3c8ba058912115ad56e0366dc54341d19e9b

21 months agoadd ws_members as reviewers 61/278161/1
SooChan Lim [Wed, 30 Mar 2022 10:57:41 +0000 (19:57 +0900)]
add ws_members as reviewers

Change-Id: If915ead2bd39e85ed26a75fc83e7514024aca4bd

21 months agoadd extern 'C' at tbm_server.h 60/278160/1
SooChan Lim [Wed, 30 Mar 2022 07:44:45 +0000 (16:44 +0900)]
add extern 'C' at tbm_server.h

Change-Id: I18ffdda44282b470ea96edef8cd572cbe7688bce

21 months agoAdd ds_tbm_server 59/278159/1
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

21 months agoFix typo on a word of header guard 58/278158/1
Seunghun Lee [Thu, 17 Mar 2022 10:52:29 +0000 (19:52 +0900)]
Fix typo on a word of header guard

Change-Id: I780a95bc06fda2a2e71630741e949da011457069

21 months agoAdd an example of using ds_tdm_buffer_queue 57/278157/1
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

21 months agolibds-tizen: Add ds_tdm_buffer_queue 56/278156/1
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

21 months agoAdd directories for tizen features 55/278155/1
Seunghun Lee [Wed, 16 Mar 2022 02:43:49 +0000 (11:43 +0900)]
Add directories for tizen features

Change-Id: Ie629354a2c689293b678cc9cc4d22227a5068a94

21 months agoBuild 'include' subdir after 'src' 54/278154/1
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

21 months agooutput: Add ds_output_enable/disable APIs 53/278153/1
Seunghun Lee [Fri, 4 Mar 2022 07:27:16 +0000 (16:27 +0900)]
output: Add ds_output_enable/disable APIs

Change-Id: Idd7c1c7770b136bf240adbe34214101558aa31fe

21 months agoRemove too noisy logs 52/278152/1
Seunghun Lee [Fri, 4 Mar 2022 05:49:34 +0000 (14:49 +0900)]
Remove too noisy logs

Change-Id: I4144747488e21d8116e28bbb6b699a79812513ff

21 months agoFix formatting 51/278151/1
Seunghun Lee [Fri, 4 Mar 2022 05:25:20 +0000 (14:25 +0900)]
Fix formatting

Change-Id: I01c89e5adaa5180a116cc61fedce055bb90290bd

21 months agobackend/tdm: Remove prefix tdm from static functions 50/278150/1
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

21 months agobackend/tdm: Split commit function into small functions 49/278149/1
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

21 months agooutput: Rename function more explicitly 48/278148/1
Seunghun Lee [Thu, 3 Mar 2022 10:03:50 +0000 (19:03 +0900)]
output: Rename function more explicitly

Change-Id: I97122db26edd0163f5a70dc5eafaace4df1d4127

21 months agobackend/tdm: Get buffer only if it's necessary 47/278147/1
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

21 months agoexamples: Use output mode instead of arbitrary size 46/278146/1
Seunghun Lee [Thu, 3 Mar 2022 09:03:25 +0000 (18:03 +0900)]
examples: Use output mode instead of arbitrary size

Change-Id: I46b576bccbd469ed386dc4d284a7a71311e557af

21 months agobackend/tdm: Update output mode 45/278145/1
Seunghun Lee [Thu, 3 Mar 2022 09:02:49 +0000 (18:02 +0900)]
backend/tdm: Update output mode

Change-Id: I1c23428392249f74376dc40aae5da89011165b17

21 months agoAnnotate a refresh variable 44/278144/1
Seunghun Lee [Thu, 3 Mar 2022 09:01:14 +0000 (18:01 +0900)]
Annotate a refresh variable

Change-Id: I6019b86ea994d8fc4073eaf0cdba318489f844a5

21 months agoadd CODEOWNERS 43/278143/1
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

21 months agoPut the extern "C" 42/278142/1
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

21 months agochange the version into 0.1.2 41/278141/1
SooChan Lim [Sun, 6 Mar 2022 23:09:00 +0000 (08:09 +0900)]
change the version into 0.1.2

Change-Id: I747595f287cf73a548e03e569c6a18f413837d1b

21 months agoMove all source code to src directory 40/278140/1
Seunghun Lee [Thu, 3 Mar 2022 03:11:03 +0000 (12:11 +0900)]
Move all source code to src directory

Change-Id: I55fd4d95d633a2a6d557d7409bbd6aba6b4b8d03

21 months agoexamples: Use pixman helper 39/278139/1
Seunghun Lee [Wed, 2 Mar 2022 09:14:12 +0000 (18:14 +0900)]
examples: Use pixman helper

Change-Id: I22a63f7af7c9b054d2be52f1e6dbbe92291ee96d

21 months agoAdd tdm backend server and client as an example 38/278138/1
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

21 months agobackend/tdm: Extract buffer code into functions 37/278137/1
Seunghun Lee [Wed, 2 Mar 2022 02:43:09 +0000 (11:43 +0900)]
backend/tdm: Extract buffer code into functions

Change-Id: I28a2f6bec27f85f80bcf91f1ce3cad7d4296d940

21 months agoAdd build options of backends 36/278136/1
Seunghun Lee [Wed, 2 Mar 2022 02:36:44 +0000 (11:36 +0900)]
Add build options of backends

Change-Id: I344dd28196280c91f4c3fa064bc60f5a439b3fa2

21 months agoAdd missing cleanup 35/278135/1
Seunghun Lee [Wed, 2 Mar 2022 02:08:12 +0000 (11:08 +0900)]
Add missing cleanup

Change-Id: I4b035f0c5614025355b9d5f213f28424bfdad1a4

21 months agoAdd tinyds on tdm (wip) 34/278134/1
Seunghun Lee [Thu, 24 Feb 2022 08:36:44 +0000 (17:36 +0900)]
Add tinyds on tdm (wip)

Change-Id: I058c8c05db6e6460caf50ad6eee59af2e9d13ff4

21 months agoFlesh out ds_buffer 33/278133/1
Seunghun Lee [Thu, 24 Feb 2022 08:36:08 +0000 (17:36 +0900)]
Flesh out ds_buffer

Change-Id: I3c8bb8706b3a1bfdb05eeb31eb9715fd96933ed5

21 months agoMove ds_backend implementation 32/278132/1
Seunghun Lee [Thu, 24 Feb 2022 06:59:36 +0000 (15:59 +0900)]
Move ds_backend implementation

no functional changes

Change-Id: If598451fc62155396478358b3c617c14112c8449

21 months agoAdd an example of tdm backend 31/278131/1
Seunghun Lee [Thu, 24 Feb 2022 06:01:35 +0000 (15:01 +0900)]
Add an example of tdm backend

Change-Id: I836ba2b5b88d3799c7b095051e255779d653fa10

21 months agoFlesh out tdm backend 30/278130/1
Seunghun Lee [Thu, 24 Feb 2022 06:01:07 +0000 (15:01 +0900)]
Flesh out tdm backend

Change-Id: Idf59ff423465f1f44102058ff017c12b5f54f042

21 months agoAdd tbm allocator 29/278129/1
Seunghun Lee [Thu, 24 Feb 2022 05:58:44 +0000 (14:58 +0900)]
Add tbm allocator

Change-Id: If58f8810ce84cd6ac6fe5cb36127fce6f2e3e655

21 months agoFirst draft for tdm backend 28/278128/1
Seunghun Lee [Wed, 23 Feb 2022 04:39:35 +0000 (13:39 +0900)]
First draft for tdm backend

Change-Id: I2f0deeeb9990495907f9e805e6e43401fb28e008

21 months agoRemove _t suffix from struct 27/278127/1
Seunghun Lee [Wed, 2 Mar 2022 02:03:37 +0000 (11:03 +0900)]
Remove _t suffix from struct

Change-Id: I36406c49b9be1cf2d0c0a79288a16bccd3c23286

21 months agoInitial libds 26/278126/1
Seunghun Lee [Mon, 21 Feb 2022 04:58:09 +0000 (13:58 +0900)]
Initial libds

Change-Id: I1ce11f5a018ea4adf7817cda3a5f0cec3d2787ad

21 months agoInitial commit 25/278125/1
임수찬/Tizen Platform Lab(SR)/삼성전자 [Thu, 19 May 2022 04:40:51 +0000 (13:40 +0900)]
Initial commit

Change-Id: I80ef1a95978dba596bc1be9091f5906918d7f709

22 months agoInitial empty repository master
Tizen Infrastructure [Thu, 7 Jul 2022 06:05:18 +0000 (06:05 +0000)]
Initial empty repository