102f4aeb0Sopenharmony_ciName
202f4aeb0Sopenharmony_ci
302f4aeb0Sopenharmony_ci    TIZEN_image_native_surface
402f4aeb0Sopenharmony_ci
502f4aeb0Sopenharmony_ciName Strings
602f4aeb0Sopenharmony_ci
702f4aeb0Sopenharmony_ci    EGL_TIZEN_image_native_surface
802f4aeb0Sopenharmony_ci
902f4aeb0Sopenharmony_ciContributors
1002f4aeb0Sopenharmony_ci
1102f4aeb0Sopenharmony_ci    Dongyeon Kim
1202f4aeb0Sopenharmony_ci    Zeeshan Anwar
1302f4aeb0Sopenharmony_ci    Minsu Han
1402f4aeb0Sopenharmony_ci    Inpyo Kang
1502f4aeb0Sopenharmony_ci
1602f4aeb0Sopenharmony_ciContact
1702f4aeb0Sopenharmony_ci
1802f4aeb0Sopenharmony_ci    Dongyeon Kim, Samsung Electronics (dy5.kim 'at' samsung.com)
1902f4aeb0Sopenharmony_ci    Zeeshan Anwar, Samsung Electronics (z.anwar 'at' samsung.com)
2002f4aeb0Sopenharmony_ci
2102f4aeb0Sopenharmony_ciStatus
2202f4aeb0Sopenharmony_ci
2302f4aeb0Sopenharmony_ci    Complete
2402f4aeb0Sopenharmony_ci
2502f4aeb0Sopenharmony_ciVersion
2602f4aeb0Sopenharmony_ci
2702f4aeb0Sopenharmony_ci    Version 3, August 13, 2014
2802f4aeb0Sopenharmony_ci
2902f4aeb0Sopenharmony_ciNumber
3002f4aeb0Sopenharmony_ci
3102f4aeb0Sopenharmony_ci    EGL Extension #77
3202f4aeb0Sopenharmony_ci
3302f4aeb0Sopenharmony_ciDependencies
3402f4aeb0Sopenharmony_ci
3502f4aeb0Sopenharmony_ci    EGL 1.2 is required.
3602f4aeb0Sopenharmony_ci
3702f4aeb0Sopenharmony_ci    EGL_KHR_image_base is required.
3802f4aeb0Sopenharmony_ci
3902f4aeb0Sopenharmony_ci    This extension is written against the wording of the EGL 1.2
4002f4aeb0Sopenharmony_ci    Specification.
4102f4aeb0Sopenharmony_ci
4202f4aeb0Sopenharmony_ciOverview
4302f4aeb0Sopenharmony_ci
4402f4aeb0Sopenharmony_ci    Tizen Buffer Manager (TBM) is a user space, generic memory 
4502f4aeb0Sopenharmony_ci    management  framework to create and share memory buffers between 
4602f4aeb0Sopenharmony_ci    different system components. This extension enables using a Tizen 
4702f4aeb0Sopenharmony_ci    Buffer Manager (TBM) surface object (struct tbm_surface_h) as an 
4802f4aeb0Sopenharmony_ci    EGLImage source.
4902f4aeb0Sopenharmony_ci
5002f4aeb0Sopenharmony_ciNew Types
5102f4aeb0Sopenharmony_ci
5202f4aeb0Sopenharmony_ci    None.
5302f4aeb0Sopenharmony_ci
5402f4aeb0Sopenharmony_ciNew Procedures and Functions
5502f4aeb0Sopenharmony_ci
5602f4aeb0Sopenharmony_ci    None.
5702f4aeb0Sopenharmony_ci
5802f4aeb0Sopenharmony_ciNew Tokens
5902f4aeb0Sopenharmony_ci
6002f4aeb0Sopenharmony_ci    Accepted by the <target> parameter of eglCreateImageKHR:
6102f4aeb0Sopenharmony_ci
6202f4aeb0Sopenharmony_ci    EGL_NATIVE_SURFACE_TIZEN            0x32A1
6302f4aeb0Sopenharmony_ci
6402f4aeb0Sopenharmony_ciChanges to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors)
6502f4aeb0Sopenharmony_ci
6602f4aeb0Sopenharmony_ci    Add to section 2.5.1 "EGLImage Specification" (as defined by the
6702f4aeb0Sopenharmony_ci    EGL_KHR_image_base specification), in the description of
6802f4aeb0Sopenharmony_ci    eglCreateImageKHR:
6902f4aeb0Sopenharmony_ci
7002f4aeb0Sopenharmony_ci   "Values accepted for <target> are listed in Table aaa, below.
7102f4aeb0Sopenharmony_ci
7202f4aeb0Sopenharmony_ci      +---------------------------+------------------------------------+
7302f4aeb0Sopenharmony_ci      |  <target>                 | Notes                              |
7402f4aeb0Sopenharmony_ci      +---------------------------+------------------------------------+
7502f4aeb0Sopenharmony_ci      |  EGL_NATIVE_SURFACE_TIZEN | Used for Tizen tbm_surface_h objects |
7602f4aeb0Sopenharmony_ci      +---------------------------+------------------------------------+
7702f4aeb0Sopenharmony_ci       Table aaa.  Legal values for eglCreateImageKHR <target> parameter
7802f4aeb0Sopenharmony_ci
7902f4aeb0Sopenharmony_ci    ...
8002f4aeb0Sopenharmony_ci
8102f4aeb0Sopenharmony_ci    If <target> is EGL_NATIVE_SURFACE_TIZEN, <dpy> must be a valid 
8202f4aeb0Sopenharmony_ci    display, <ctx> must be EGL_NO_CONTEXT, <buffer> must be a pointer 
8302f4aeb0Sopenharmony_ci    to a valid tbm_surface_h object (cast into the type EGLClientBuffer), 
8402f4aeb0Sopenharmony_ci    and attributes other than EGL_IMAGE_PRESERVED_KHR are ignored."
8502f4aeb0Sopenharmony_ci
8602f4aeb0Sopenharmony_ci    Add to the list of error conditions for eglCreateImageKHR:
8702f4aeb0Sopenharmony_ci
8802f4aeb0Sopenharmony_ci      "* If <target> is EGL_NATIVE_SURFACE_TIZEN and <buffer> is not 
8902f4aeb0Sopenharmony_ci         a pointer to a valid tbm_surface_h, the error EGL_BAD_PARAMETER
9002f4aeb0Sopenharmony_ci         is generated.
9102f4aeb0Sopenharmony_ci
9202f4aeb0Sopenharmony_ci       * If <target> is EGL_NATIVE_SURFACE_TIZEN and <ctx> is not
9302f4aeb0Sopenharmony_ci         EGL_NO_CONTEXT, the error EGL_BAD_CONTEXT is generated.
9402f4aeb0Sopenharmony_ci
9502f4aeb0Sopenharmony_ci       * If <target> is EGL_NATIVE_SURFACE_TIZEN and <buffer> was 
9602f4aeb0Sopenharmony_ci         created with properties (format, usage, dimensions, etc.) not 
9702f4aeb0Sopenharmony_ci         supported by the EGL implementation, the error 
9802f4aeb0Sopenharmony_ci         EGL_BAD_PARAMETER is generated."
9902f4aeb0Sopenharmony_ci
10002f4aeb0Sopenharmony_ciIssues
10102f4aeb0Sopenharmony_ci
10202f4aeb0Sopenharmony_ci    1. Should this extension define what combinations of tbm_surface_h
10302f4aeb0Sopenharmony_ci    properties implementations are required to support?
10402f4aeb0Sopenharmony_ci
10502f4aeb0Sopenharmony_ci    RESOLVED: No.
10602f4aeb0Sopenharmony_ci
10702f4aeb0Sopenharmony_ci    The requirements have evolved over time and will continue to change 
10802f4aeb0Sopenharmony_ci    with future Tizen releases. The minimum requirements for a given 
10902f4aeb0Sopenharmony_ci    Tizen version should be documented by that version.
11002f4aeb0Sopenharmony_ci
11102f4aeb0Sopenharmony_ci
11202f4aeb0Sopenharmony_ciRevision History
11302f4aeb0Sopenharmony_ci#3 (Zeeshan Anwar, August 13, 2014)
11402f4aeb0Sopenharmony_ci   - Changed tbm_surface to tbm_surface_h
11502f4aeb0Sopenharmony_ci   
11602f4aeb0Sopenharmony_ci#2 (Zeeshan Anwar, July 23, 2014)
11702f4aeb0Sopenharmony_ci   - Changed extension name and target name
11802f4aeb0Sopenharmony_ci   - Assigned value to EGL_NATIVE_SURFACE_TIZEN
11902f4aeb0Sopenharmony_ci   
12002f4aeb0Sopenharmony_ci#1 (Zeeshan Anwar, July 18, 2014)
12102f4aeb0Sopenharmony_ci   - Initial draft.
122