2011-04-06 22:45:47 +04:00
|
|
|
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
|
|
|
|
|
2012-01-17 18:28:13 +04:00
|
|
|
EGL Extension #29
|
2011-04-06 22:45:47 +04:00
|
|
|
|
|
|
|
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.
|