• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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