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