| Name |
| |
| TIZEN_image_native_surface |
| |
| Name Strings |
| |
| EGL_TIZEN_image_native_surface |
| |
| Contributors |
| |
| Dongyeon Kim |
| Zeeshan Anwar |
| Minsu Han |
| Inpyo Kang |
| |
| Contact |
| |
| Dongyeon Kim, Samsung Electronics (dy5.kim 'at' samsung.com) |
| Zeeshan Anwar, Samsung Electronics (z.anwar 'at' samsung.com) |
| |
| Status |
| |
| Complete |
| |
| Version |
| |
| Version 3, August 13, 2014 |
| |
| Number |
| |
| EGL Extension #77 |
| |
| Dependencies |
| |
| EGL 1.2 is required. |
| |
| EGL_KHR_image_base is required. |
| |
| This extension is written against the wording of the EGL 1.2 |
| Specification. |
| |
| Overview |
| |
| Tizen Buffer Manager (TBM) is a user space, generic memory |
| management framework to create and share memory buffers between |
| different system components. This extension enables using a Tizen |
| Buffer Manager (TBM) surface object (struct tbm_surface_h) as an |
| EGLImage source. |
| |
| New Types |
| |
| None. |
| |
| New Procedures and Functions |
| |
| None. |
| |
| New Tokens |
| |
| Accepted by the <target> parameter of eglCreateImageKHR: |
| |
| EGL_NATIVE_SURFACE_TIZEN 0x32A1 |
| |
| Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) |
| |
| Add to section 2.5.1 "EGLImage Specification" (as defined by the |
| EGL_KHR_image_base specification), in the description of |
| eglCreateImageKHR: |
| |
| "Values accepted for <target> are listed in Table aaa, below. |
| |
| +---------------------------+------------------------------------+ |
| | <target> | Notes | |
| +---------------------------+------------------------------------+ |
| | EGL_NATIVE_SURFACE_TIZEN | Used for Tizen tbm_surface_h objects | |
| +---------------------------+------------------------------------+ |
| Table aaa. Legal values for eglCreateImageKHR <target> parameter |
| |
| ... |
| |
| If <target> is EGL_NATIVE_SURFACE_TIZEN, <dpy> must be a valid |
| display, <ctx> must be EGL_NO_CONTEXT, <buffer> must be a pointer |
| to a valid tbm_surface_h object (cast into the type EGLClientBuffer), |
| and attributes other than EGL_IMAGE_PRESERVED_KHR are ignored." |
| |
| Add to the list of error conditions for eglCreateImageKHR: |
| |
| "* If <target> is EGL_NATIVE_SURFACE_TIZEN and <buffer> is not |
| a pointer to a valid tbm_surface_h, the error EGL_BAD_PARAMETER |
| is generated. |
| |
| * If <target> is EGL_NATIVE_SURFACE_TIZEN and <ctx> is not |
| EGL_NO_CONTEXT, the error EGL_BAD_CONTEXT is generated. |
| |
| * If <target> is EGL_NATIVE_SURFACE_TIZEN and <buffer> was |
| created with properties (format, usage, dimensions, etc.) not |
| supported by the EGL implementation, the error |
| EGL_BAD_PARAMETER is generated." |
| |
| Issues |
| |
| 1. Should this extension define what combinations of tbm_surface_h |
| properties implementations are required to support? |
| |
| RESOLVED: No. |
| |
| The requirements have evolved over time and will continue to change |
| with future Tizen releases. The minimum requirements for a given |
| Tizen version should be documented by that version. |
| |
| |
| Revision History |
| #3 (Zeeshan Anwar, August 13, 2014) |
| - Changed tbm_surface to tbm_surface_h |
| |
| #2 (Zeeshan Anwar, July 23, 2014) |
| - Changed extension name and target name |
| - Assigned value to EGL_NATIVE_SURFACE_TIZEN |
| |
| #1 (Zeeshan Anwar, July 18, 2014) |
| - Initial draft. |