[Mesa-dev] [PATCH v5 00/10] new series of Mesa for Tizen

Nicolai Hähnle nhaehnle at gmail.com
Wed Nov 15 10:32:23 UTC 2017


Not sure if it's just my client, but all the nice ASCII art got messed 
up unfortunately :/

On 14.11.2017 21:21, Mun, Gwan-gyeong wrote:
>    +--------------------------------------------------------------------------------------------------+
>    |                                 [Tizen Window System Architecture]
>                                |
>    |
>                                |
>    |
>                                |
>    |
>                                |
>    |                  +-----------------------+
> +------------+      +------------+  |
>    |                  | Enlightenment Display |                   |
>         |      |   3D UI    |  |
>    |                  |  Server for Tizen     +------------------>|
> EvasGL   |      |   Toolkit  |  |
>    |                  |                       |                   |

and so on...




> 
> * TBM:
>     - Tizen Buffer Manager (TBM) provides the abstraction interface for
> the graphic buffer manager
>       in Tizen. [1]
> 
>     - Why does it needed?
>       Because different vendors provides different user-level interface
> for the memory manager,
>       Tizen made TBM for supporting a common interface. refer [3], page 6-8.

So it would be possible for the TBM backend to just call into libgbm, right?

Cheers,
Nicolai


> 
> 
> * TDM:
>     - TDM stands for Tizen Display Manager. Tizen Display Manager (TDM)
> provides the display device
>       abstraction interface for the display server to allow the direct
> access to graphics hardware
>       in a safe and efficient manner as a display HAL. The primary goal
> of TDM is the unification
>       of display hardware management procedures in user space. [2]
> 
>     - Why does it needed?
>       Because different vendors provides different user-level interface
> for the display devices,
>       Tizen made TDM for supporting a common interface. refer [3], page 15-16.
> 
> 
> * wayland-tbm:
>      - wayland-tbm is a protocol for graphics memory management for Tizen.
>        The wayland-tbm provides the library for sharing the
> tbm_surfaces between the client and the server.
>        When the client creates the wl_buffer though the wayland-tbm
> library, the client can gets
>        the wl_buffer which is shared with the server through the wl_tbm protocol.
> 
>      - wayland-tbm suppots two major features
>         1) sharing the tbm_surfaces between the client and the server
>            * it is similar with wayland-drm but it shares tbm_surface
> as a base buffer.
> 
>         2) obtaining the scanout buffer and assigning it to the server
> or the client.
>            * Because some vendor provide limited scanout buffers,
> therefore tizen added a protocol
>              of releasing/assigning scanoutbuffers.
> 
>            * non-compisite mode / direct rendering: obtaining scanout
> buffer from display-server and
>                                                     assigning it to the
> wayland-egl client.
>            * composite mode: obtaining the scanout buffer from the
> wayland-egl client and assigning it
>                              to the display-server.
> 
> 
> * TPL-EGL:
>      - TPL-EGL is an abstraction layer for surface and buffer
> management on Tizen platform aimed to
>        implement the EGL porting layer of OpenGLES driver over various
> display protocols.
>        TPL-EGL treats tbm_surface as a base buffer object. And it uses
> wayland-tbm protocol
>        instead of wayland-drm for sharing buffers on wayland-egl.
>        It supports tbm, wayland-egl, gbm window system.
>        And tizen's enligthenment display server create egl_display from
> tbm instead of gbm. [4],[5]
> 
> 
> Compared to mesa, Tizen Platform depends on TBM, TDM, wayland-tbm protocol.
> Tizen uses TBM for treating a native buffer. And Display manager uses
> tbm_surface as a base buffer for displying.
> And for sharing native buffers between display server and wayland-egl
> client tizen uses wayland-tbm protocol
> also wayland-tbm protocol/library provides a manners of managing
> limited scanout buffers between the client and the server.
> Therefore to support Tizen to mesa egl, I am suggesting to add new
> window system code for Tizen.
> 
> Thanks for reading this far, comments welcome.
> 
> Thanks,
> 
> Gwan-gyeong.
> 
> [1] https://wiki.tizen.org/TBM
> [2] https://wiki.tizen.org/TDM
> [3] Tizen Buffer HAL and Tizen Display HAL
>       https://www.tizenconference.com/frontend/site/show-details?eventId=2612&object=session&id=21124
>       https://swoogo.s3.amazonaws.com/uploads/46837-5926fd6b24dfd.pdf
> [4] https://www.x.org/wiki/Events/XDC2016/Program/XDC2016_Tizen_Window_System_EGL_Vulkan.pdf
> [5] https://wiki.tizen.org/3.0_Porting_Guide/Graphics_and_UI
> 
> 2017-10-28 2:22 GMT+09:00 Kenneth Graunke <kenneth at whitecape.org>:
>> On Thursday, October 26, 2017 11:16:06 AM PDT Eric Anholt wrote:
>>> Gwan-gyeong Mun <elongbug at gmail.com> writes:
>>>
>>>> Hi,
>>>>
>>>> These Patch v5 series modified with new helper function series [1].
>>>>
>>>> These series only have mesa for tizen feature.
>>>>
>>>> [1] https://patchwork.freedesktop.org/series/32577/
>>>
>>> Rather than have another giant pile of window system code in the tree,
>>> I'd like to see a serious discussion of why you aren't using the
>>> existing wayland and gbm platforms and what you would need from them.
>>> The TPL stuff looks like abstraction for the sake of abstraction, to me.
>>
>> I agree with Eric.  I've never understood why this is necessary.
> 
> 
> 


-- 
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.


More information about the mesa-dev mailing list