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 <kenn...@whitecape.org>:
On Thursday, October 26, 2017 11:16:06 AM PDT Eric Anholt wrote:
Gwan-gyeong Mun <elong...@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.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to