Path: blob/main_old/extensions/EGL_ANGLE_d3d_share_handle_client_buffer.txt
1693 views
Name12ANGLE_d3d_share_handle_client_buffer34Name Strings56EGL_ANGLE_d3d_share_handle_client_buffer78Contributors910John Bauman11Alastair Patrick12Daniel Koch1314Contacts1516John Bauman, Google Inc. (jbauman 'at' chromium.org)1718Status1920Complete21Implemented (ANGLE r650)2223Version2425Version 3, May 12, 20112627Number2829EGL Extension #??3031Dependencies3233Requires the EGL_ANGLE_surface_d3d_texture_2d_share_handle extension.3435This extension is written against the wording of the EGL 1.436Specification.3738Overview3940This extension allows creating EGL surfaces from handles to textures41shared from the Direct3D API or from42EGL_ANGLE_surface_texture_2d_share_handle.4344New Types4546None4748New Procedures and Functions4950None5152New Tokens5354Accepted in the <buftype> parameter of eglCreatePbufferFromClientBuffer:5556EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x32005758Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors)5960Replace the last sentence of paragraph 1 of Section 3.5.3 with the61following text.62"Currently, the only client API resources which may be bound in this63fashion are OpenVG VGImage objects and Direct3D share handles."6465Replace the last sentence of paragraph 2 ("To bind a client API...") of66Section 3.5.3 with the following text.67"When <buftype> is EGL_OPENVG_IMAGE, the width and height of the pbuffer68are determined by the width and height of <buffer>. When <buftype> is69EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, the width and height are specified70using EGL_WIDTH and EGL_HEIGHT, or else they default to zero. The width71and height must match the dimensions of the texture which the share handle72was created from or else an EGL_BAD_ALLOC error is generated."7374Replace the third paragraph of Section 3.5.3 with the following text.75"<buftype> specifies the type of buffer to be bound. The only allowed values76of <buftype> are EGL_OPENVG_IMAGE and77EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE".7879Append the following text to the fourth paragraph of Section 3.5.3.80"When <buftype> is EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, <buffer> must be81a valid D3D share handle, cast into the type EGLClientBuffer. The handle82may be obtained from the Direct3D9Ex CreateTexture function, from DXGI's83GetSharedHandle method on an ID3D10Texture2D, or from the84EGL_ANGLE_surface_d3d_texture_2d_share_handle extension."8586Issues8788Revision History8990Version 3, 2011/05/1291- publish9293Version 2, 2011/05/0394- specify EGL_D3D_TEXTURE_2D_SHARE_HANDLE95- specify error if dimensions don't match9697Version 1, 2011/04/12 - first draft.9899100