| Name |
| |
| ANGLE_d3d_share_handle_client_buffer |
| |
| Name Strings |
| |
| EGL_ANGLE_d3d_share_handle_client_buffer |
| |
| Contributors |
| |
| John Bauman |
| Alastair Patrick |
| Daniel Koch |
| |
| Contacts |
| |
| John Bauman, Google Inc. (jbauman 'at' chromium.org) |
| |
| Status |
| |
| Complete |
| Implemented (ANGLE r650) |
| |
| Version |
| |
| Version 3, May 12, 2011 |
| |
| Number |
| |
| EGL Extension #?? |
| |
| Dependencies |
| |
| Requires the EGL_ANGLE_surface_d3d_texture_2d_share_handle extension. |
| |
| This extension is written against the wording of the EGL 1.4 |
| Specification. |
| |
| Overview |
| |
| This extension allows creating EGL surfaces from handles to textures |
| shared from the Direct3D API or from |
| EGL_ANGLE_surface_texture_2d_share_handle. |
| |
| New Types |
| |
| None |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted in the <buftype> parameter of eglCreatePbufferFromClientBuffer: |
| |
| EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 |
| |
| Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) |
| |
| Replace the last sentence of paragraph 1 of Section 3.5.3 with the |
| following text. |
| "Currently, the only client API resources which may be bound in this |
| fashion are OpenVG VGImage objects and Direct3D share handles." |
| |
| Replace the last sentence of paragraph 2 ("To bind a client API...") of |
| Section 3.5.3 with the following text. |
| "When <buftype> is EGL_OPENVG_IMAGE, the width and height of the pbuffer |
| are determined by the width and height of <buffer>. When <buftype> is |
| EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, the width and height are specified |
| using EGL_WIDTH and EGL_HEIGHT, or else they default to zero. The width |
| and height must match the dimensions of the texture which the share handle |
| was created from or else an EGL_BAD_ALLOC error is generated." |
| |
| Replace the third paragraph of Section 3.5.3 with the following text. |
| "<buftype> specifies the type of buffer to be bound. The only allowed values |
| of <buftype> are EGL_OPENVG_IMAGE and |
| EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE". |
| |
| Append the following text to the fourth paragraph of Section 3.5.3. |
| "When <buftype> is EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, <buffer> must be |
| a valid D3D share handle, cast into the type EGLClientBuffer. The handle |
| may be obtained from the Direct3D9Ex CreateTexture function, from DXGI's |
| GetSharedHandle method on an ID3D10Texture2D, or from the |
| EGL_ANGLE_surface_d3d_texture_2d_share_handle extension." |
| |
| Issues |
| |
| Revision History |
| |
| Version 3, 2011/05/12 |
| - publish |
| |
| Version 2, 2011/05/03 |
| - specify EGL_D3D_TEXTURE_2D_SHARE_HANDLE |
| - specify error if dimensions don't match |
| |
| Version 1, 2011/04/12 - first draft. |