blob: 917e4456589aef4bc2badab62d6cf9ff0612d457 [file] [log] [blame]
daniel@transgaming.com559f51c2011-04-06 18:45:47 +00001Name
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
daniel@transgaming.com55693832012-01-17 14:28:13 +000029 EGL Extension #29
daniel@transgaming.com559f51c2011-04-06 18:45:47 +000030
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.