| Name |
| |
| KHR_vg_parent_image |
| |
| Name Strings |
| |
| EGL_KHR_vg_parent_image |
| |
| Contributors |
| |
| Ignacio Llamas |
| Gary King |
| Chris Wynn |
| |
| Contacts |
| |
| Gary King, NVIDIA Corporation (gking 'at' nvidia.com) |
| |
| Notice |
| |
| Copyright (c) 2006-2013 The Khronos Group Inc. Copyright terms at |
| http://www.khronos.org/registry/speccopyright.html |
| |
| Status |
| |
| Complete. |
| Approved by the Khronos Board of Promoters on February 11, 2008. |
| |
| Version |
| |
| Version 5, October 8, 2008 |
| |
| Number |
| |
| EGL Extension #4 |
| |
| Dependencies |
| |
| This extension requires EGL 1.2 and the EGL_KHR_image extension, |
| and an OpenVG implementation |
| |
| This specification is written against the wording of the EGL Image |
| (EGL_KHR_image) specification. |
| |
| Overview |
| |
| This extension provides a mechanism for creating EGLImage objects |
| from OpenVG VGImage API resources. For an overview of EGLImage |
| operation, please see the EGL_KHR_image specification. |
| |
| New Types |
| |
| None |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| EGL_VG_PARENT_IMAGE_KHR 0x30BA |
| |
| |
| Additions to the EGL Image (EGL_KHR_image) Specification: |
| |
| Add the following to Table aaa (Legal values for CreateImageKHR |
| <target> parameter), Section 2.5.1 (EGLImage Specification) |
| |
| +--------------------------+--------------------------------------------+ |
| | <target> | Notes | |
| +--------------------------+--------------------------------------------+ |
| | EGL_VG_PARENT_IMAGE_KHR | Used for OpenVG VGImage objects | |
| +--------------------------+--------------------------------------------+ |
| |
| Insert the following text after paragraph 3 ("If <target> is |
| NATIVE_PIXMAP_KHR...") of Section 2.5.1 (EGLImage Specification): |
| |
| "If <target> is EGL_VG_PARENT_IMAGE_KHR, <dpy> must be a valid EGLDisplay, |
| <ctx> must be a valid OpenVG API context on that display, and <buffer> |
| must be a handle of a VGImage object valid in the specified context, cast |
| into the type EGLClientBuffer. Furthermore, the specified VGImage |
| <buffer> must not be a child image (i.e. the value returned by |
| vgGetParent(<buffer>) must be <buffer>). If the specified VGImage |
| <buffer> has any child images (i.e., vgChildImage has been previously |
| called with the parent parameter set to <buffer>), all child images will |
| be treated as EGLImage siblings after CreateImageKHR returns. Any values |
| specified in <attr_list> are ignored." |
| |
| Add the following errors to the end of the list in Section 2.5.1 (EGLImage |
| Specification): |
| |
| " * If <target> is EGL_VG_PARENT_IMAGE_KHR, and <dpy> is not a |
| valid EGLDisplay, the error EGL_BAD_DISPLAY is generated. |
| |
| * If <target> is EGL_VG_PARENT_IMAGE_KHR and <ctx> is not a |
| valid EGLContext, the error EGL_BAD_CONTEXT is generated. |
| |
| * If <target> is EGL_VG_PARENT_IMAGE_KHR and <ctx> is not a valid |
| OpenVG context, the error EGL_BAD_MATCH is returned. |
| |
| * If <target> is EGL_VG_PARENT_IMAGE_KHR and <buffer> is not a handle |
| to a VGImage object in the specified API context <ctx>, the error |
| EGL_BAD_PARAMETER is generated. |
| |
| * If <target> is EGL_VG_PARENT_IMAGE_KHR, and the VGImage specified by |
| <buffer> is a child image (i.e., vgGetParent(<buffer>) returns |
| a different handle), the error EGL_BAD_ACCESS is generated." |
| |
| Issues |
| |
| 1. Should this specification allow the creation of EGLImages |
| from OpenVG child images? |
| |
| RESOLVED: No. It is believed that properly addressing the |
| interaction of hardware restrictions (e.g., memory alignment), |
| arbitrary image subrectangles, scissor rectangles and viewport |
| rectangles may create an undue burden on implementers. In the |
| interest of providing a useful spec in a timely fashion, this |
| functionality has been disallowed, with the possibility of |
| providing it (if necessary) through a future layered extension. |
| |
| This restriction is shared with eglCreatePbufferFromClientBuffer; |
| however, this specification allows EGL Images to be created |
| from VGImages which have child images, functionality not |
| previously available. |
| |
| Revision History |
| |
| #5 (Jon Leech, October 8, 2008) |
| - Updated status (approved as part of OpenKODE 1.0) |
| #4 (Jon Leech, April 5, 2007) |
| - Assigned enumerant values |
| - Added OpenKODE 1.0 Provisional disclaimer |
| #3 (December 14, 2006) |
| - Changed requirement to egl 1.2 to include EGLClientBuffer type. |
| - added error condition descriptions for <dpy> and <ctx> |
| #2 (November 27, 2006) |
| - Changed OES token to KHR |