1Name 2 3 ANGLE_surface_d3d_texture_2d_share_handle 4 5Name Strings 6 7 EGL_ANGLE_surface_d3d_texture_2d_share_handle 8 9Contributors 10 11 Vladimir Vukicevic 12 Daniel Koch 13 14Contacts 15 16 Vladimir Vukicevic (vladimir 'at' pobox.com) 17 18Status 19 20 Complete 21 Implemented (ANGLE r558) 22 23Version 24 25 Version 2, December 21, 2010 26 27Number 28 29 EGL Extension #29 30 31Dependencies 32 33 Requires the EGL_ANGLE_query_surface_pointer extension. 34 35 This extension is written against the wording of the EGL 1.4 36 Specification. 37 38Overview 39 40 Some EGL implementations generate EGLSurface handles that are 41 backed by Direct3D 2D textures. For such surfaces, a D3D share 42 handle can be generated, allowing access to the same surface 43 from the Direct3D API. 44 45New Types 46 47 None 48 49New Procedures and Functions 50 51 None 52 53New Tokens 54 55 Accepted in the <attribute> parameter of eglQuerySurfacePointerANGLE: 56 57 EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 58 59Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) 60 61 Add to table 3.5, "Queryable surface attributes and types": 62 63 Attribute Type Description 64 --------- ---- ----------- 65 EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE pointer Direct3D share handle 66 67 Add before the last paragraph in section 3.5, "Surface attributes": 68 69 "Querying EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE returns a Direct3D 70 share handle, or NULL if a share handle for the surface is not 71 available. The share handle must be queried using 72 eglQuerySurfaceAttribPointerANGLE. Before using a Direct3D surface 73 created with this share handle, ensure that all rendering 74 to the EGLSurface with EGL client APIs has completed. 75 76 The Direct3D share handle may be passed as the pSharedHandle 77 parameter of the Direct3D9Ex CreateTexture function, or via the 78 Direct3D10 OpenSharedResource function. If used with Direct3D 9, 79 the level argument to CreateTexture must be 1, and the dimensions 80 must match the dimensions of the EGL surface. If used with 81 Direct3D 10, OpenSharedResource should be called with the 82 ID3D10Texture2D uuid to obtain an ID3D10Texture2D object. 83 84Issues 85 86Revision History 87 88 Version 3, 2011/02/11 - publish 89 90 Version 2, 2010/12/21 91 - renamed token to EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE (adding "2D") 92 - renamed extension to ANGLE_surface_d3d_texture_2d_share_handle 93 - added language about supported usage of the shared handle from D3D 94 95 Version 1, 2010/12/07 - first draft. 96