• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    TIZEN_image_native_surface
4
5Name Strings
6
7    EGL_TIZEN_image_native_surface
8
9Contributors
10
11    Dongyeon Kim
12    Zeeshan Anwar
13    Minsu Han
14    Inpyo Kang
15
16Contact
17
18    Dongyeon Kim, Samsung Electronics (dy5.kim 'at' samsung.com)
19    Zeeshan Anwar, Samsung Electronics (z.anwar 'at' samsung.com)
20
21Status
22
23    Complete
24
25Version
26
27    Version 3, August 13, 2014
28
29Number
30
31    EGL Extension #77
32
33Dependencies
34
35    EGL 1.2 is required.
36
37    EGL_KHR_image_base is required.
38
39    This extension is written against the wording of the EGL 1.2
40    Specification.
41
42Overview
43
44    Tizen Buffer Manager (TBM) is a user space, generic memory
45    management  framework to create and share memory buffers between
46    different system components. This extension enables using a Tizen
47    Buffer Manager (TBM) surface object (struct tbm_surface_h) as an
48    EGLImage source.
49
50New Types
51
52    None.
53
54New Procedures and Functions
55
56    None.
57
58New Tokens
59
60    Accepted by the <target> parameter of eglCreateImageKHR:
61
62    EGL_NATIVE_SURFACE_TIZEN            0x32A1
63
64Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors)
65
66    Add to section 2.5.1 "EGLImage Specification" (as defined by the
67    EGL_KHR_image_base specification), in the description of
68    eglCreateImageKHR:
69
70   "Values accepted for <target> are listed in Table aaa, below.
71
72      +---------------------------+------------------------------------+
73      |  <target>                 | Notes                              |
74      +---------------------------+------------------------------------+
75      |  EGL_NATIVE_SURFACE_TIZEN | Used for Tizen tbm_surface_h objects |
76      +---------------------------+------------------------------------+
77       Table aaa.  Legal values for eglCreateImageKHR <target> parameter
78
79    ...
80
81    If <target> is EGL_NATIVE_SURFACE_TIZEN, <dpy> must be a valid
82    display, <ctx> must be EGL_NO_CONTEXT, <buffer> must be a pointer
83    to a valid tbm_surface_h object (cast into the type EGLClientBuffer),
84    and attributes other than EGL_IMAGE_PRESERVED_KHR are ignored."
85
86    Add to the list of error conditions for eglCreateImageKHR:
87
88      "* If <target> is EGL_NATIVE_SURFACE_TIZEN and <buffer> is not
89         a pointer to a valid tbm_surface_h, the error EGL_BAD_PARAMETER
90         is generated.
91
92       * If <target> is EGL_NATIVE_SURFACE_TIZEN and <ctx> is not
93         EGL_NO_CONTEXT, the error EGL_BAD_CONTEXT is generated.
94
95       * If <target> is EGL_NATIVE_SURFACE_TIZEN and <buffer> was
96         created with properties (format, usage, dimensions, etc.) not
97         supported by the EGL implementation, the error
98         EGL_BAD_PARAMETER is generated."
99
100Issues
101
102    1. Should this extension define what combinations of tbm_surface_h
103    properties implementations are required to support?
104
105    RESOLVED: No.
106
107    The requirements have evolved over time and will continue to change
108    with future Tizen releases. The minimum requirements for a given
109    Tizen version should be documented by that version.
110
111
112Revision History
113#3 (Zeeshan Anwar, August 13, 2014)
114   - Changed tbm_surface to tbm_surface_h
115
116#2 (Zeeshan Anwar, July 23, 2014)
117   - Changed extension name and target name
118   - Assigned value to EGL_NATIVE_SURFACE_TIZEN
119
120#1 (Zeeshan Anwar, July 18, 2014)
121   - Initial draft.
122