| Name |
| |
| ANGLE_surface_d3d_texture_2d_share_handle |
| |
| Name Strings |
| |
| EGL_ANGLE_surface_d3d_texture_2d_share_handle |
| |
| Contributors |
| |
| Vladimir Vukicevic |
| Daniel Koch |
| |
| Contacts |
| |
| Vladimir Vukicevic (vladimir 'at' pobox.com) |
| |
| Status |
| |
| Complete |
| Implemented (ANGLE r558) |
| |
| Version |
| |
| Version 2, December 21, 2010 |
| |
| Number |
| |
| EGL Extension #29 |
| |
| Dependencies |
| |
| Requires the EGL_ANGLE_query_surface_pointer extension. |
| |
| This extension is written against the wording of the EGL 1.4 |
| Specification. |
| |
| Overview |
| |
| Some EGL implementations generate EGLSurface handles that are |
| backed by Direct3D 2D textures. For such surfaces, a D3D share |
| handle can be generated, allowing access to the same surface |
| from the Direct3D API. |
| |
| New Types |
| |
| None |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted in the <attribute> parameter of eglQuerySurfacePointerANGLE: |
| |
| EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 |
| |
| Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) |
| |
| Add to table 3.5, "Queryable surface attributes and types": |
| |
| Attribute Type Description |
| --------- ---- ----------- |
| EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE pointer Direct3D share handle |
| |
| Add before the last paragraph in section 3.5, "Surface attributes": |
| |
| "Querying EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE returns a Direct3D |
| share handle, or NULL if a share handle for the surface is not |
| available. The share handle must be queried using |
| eglQuerySurfaceAttribPointerANGLE. Before using a Direct3D surface |
| created with this share handle, ensure that all rendering |
| to the EGLSurface with EGL client APIs has completed. |
| |
| The Direct3D share handle may be passed as the pSharedHandle |
| parameter of the Direct3D9Ex CreateTexture function, or via the |
| Direct3D10 OpenSharedResource function. If used with Direct3D 9, |
| the level argument to CreateTexture must be 1, and the dimensions |
| must match the dimensions of the EGL surface. If used with |
| Direct3D 10, OpenSharedResource should be called with the |
| ID3D10Texture2D uuid to obtain an ID3D10Texture2D object. |
| |
| Issues |
| |
| Revision History |
| |
| Version 3, 2011/02/11 - publish |
| |
| Version 2, 2010/12/21 |
| - renamed token to EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE (adding "2D") |
| - renamed extension to ANGLE_surface_d3d_texture_2d_share_handle |
| - added language about supported usage of the shared handle from D3D |
| |
| Version 1, 2010/12/07 - first draft. |