summaryrefslogtreecommitdiff
path: root/extensions/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt')
-rw-r--r--extensions/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt95
1 files changed, 95 insertions, 0 deletions
diff --git a/extensions/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt b/extensions/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt
new file mode 100644
index 00000000..917e4456
--- /dev/null
+++ b/extensions/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt
@@ -0,0 +1,95 @@
+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.