michael@0: Name michael@0: michael@0: ANGLE_d3d_share_handle_client_buffer michael@0: michael@0: Name Strings michael@0: michael@0: EGL_ANGLE_d3d_share_handle_client_buffer michael@0: michael@0: Contributors michael@0: michael@0: John Bauman michael@0: Alastair Patrick michael@0: Daniel Koch michael@0: michael@0: Contacts michael@0: michael@0: John Bauman, Google Inc. (jbauman 'at' chromium.org) michael@0: michael@0: Status michael@0: michael@0: Complete michael@0: Implemented (ANGLE r650) michael@0: michael@0: Version michael@0: michael@0: Version 3, May 12, 2011 michael@0: michael@0: Number michael@0: michael@0: EGL Extension #?? michael@0: michael@0: Dependencies michael@0: michael@0: Requires the EGL_ANGLE_surface_d3d_texture_2d_share_handle extension. michael@0: michael@0: This extension is written against the wording of the EGL 1.4 michael@0: Specification. michael@0: michael@0: Overview michael@0: michael@0: This extension allows creating EGL surfaces from handles to textures michael@0: shared from the Direct3D API or from michael@0: EGL_ANGLE_surface_texture_2d_share_handle. michael@0: michael@0: New Types michael@0: michael@0: None michael@0: michael@0: New Procedures and Functions michael@0: michael@0: None michael@0: michael@0: New Tokens michael@0: michael@0: Accepted in the parameter of eglCreatePbufferFromClientBuffer: michael@0: michael@0: EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 michael@0: michael@0: Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) michael@0: michael@0: Replace the last sentence of paragraph 1 of Section 3.5.3 with the michael@0: following text. michael@0: "Currently, the only client API resources which may be bound in this michael@0: fashion are OpenVG VGImage objects and Direct3D share handles." michael@0: michael@0: Replace the last sentence of paragraph 2 ("To bind a client API...") of michael@0: Section 3.5.3 with the following text. michael@0: "When is EGL_OPENVG_IMAGE, the width and height of the pbuffer michael@0: are determined by the width and height of . When is michael@0: EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, the width and height are specified michael@0: using EGL_WIDTH and EGL_HEIGHT, or else they default to zero. The width michael@0: and height must match the dimensions of the texture which the share handle michael@0: was created from or else an EGL_BAD_ALLOC error is generated." michael@0: michael@0: Replace the third paragraph of Section 3.5.3 with the following text. michael@0: " specifies the type of buffer to be bound. The only allowed values michael@0: of are EGL_OPENVG_IMAGE and michael@0: EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE". michael@0: michael@0: Append the following text to the fourth paragraph of Section 3.5.3. michael@0: "When is EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, must be michael@0: a valid D3D share handle, cast into the type EGLClientBuffer. The handle michael@0: may be obtained from the Direct3D9Ex CreateTexture function, from DXGI's michael@0: GetSharedHandle method on an ID3D10Texture2D, or from the michael@0: EGL_ANGLE_surface_d3d_texture_2d_share_handle extension." michael@0: michael@0: Issues michael@0: michael@0: Revision History michael@0: michael@0: Version 3, 2011/05/12 michael@0: - publish michael@0: michael@0: Version 2, 2011/05/03 michael@0: - specify EGL_D3D_TEXTURE_2D_SHARE_HANDLE michael@0: - specify error if dimensions don't match michael@0: michael@0: Version 1, 2011/04/12 - first draft.