1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/gfx/angle/extensions/EGL_ANGLE_d3d_share_handle_client_buffer.txt Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,98 @@ 1.4 +Name 1.5 + 1.6 + ANGLE_d3d_share_handle_client_buffer 1.7 + 1.8 +Name Strings 1.9 + 1.10 + EGL_ANGLE_d3d_share_handle_client_buffer 1.11 + 1.12 +Contributors 1.13 + 1.14 + John Bauman 1.15 + Alastair Patrick 1.16 + Daniel Koch 1.17 + 1.18 +Contacts 1.19 + 1.20 + John Bauman, Google Inc. (jbauman 'at' chromium.org) 1.21 + 1.22 +Status 1.23 + 1.24 + Complete 1.25 + Implemented (ANGLE r650) 1.26 + 1.27 +Version 1.28 + 1.29 + Version 3, May 12, 2011 1.30 + 1.31 +Number 1.32 + 1.33 + EGL Extension #?? 1.34 + 1.35 +Dependencies 1.36 + 1.37 + Requires the EGL_ANGLE_surface_d3d_texture_2d_share_handle extension. 1.38 + 1.39 + This extension is written against the wording of the EGL 1.4 1.40 + Specification. 1.41 + 1.42 +Overview 1.43 + 1.44 + This extension allows creating EGL surfaces from handles to textures 1.45 + shared from the Direct3D API or from 1.46 + EGL_ANGLE_surface_texture_2d_share_handle. 1.47 + 1.48 +New Types 1.49 + 1.50 + None 1.51 + 1.52 +New Procedures and Functions 1.53 + 1.54 + None 1.55 + 1.56 +New Tokens 1.57 + 1.58 + Accepted in the <buftype> parameter of eglCreatePbufferFromClientBuffer: 1.59 + 1.60 + EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 1.61 + 1.62 +Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) 1.63 + 1.64 + Replace the last sentence of paragraph 1 of Section 3.5.3 with the 1.65 + following text. 1.66 + "Currently, the only client API resources which may be bound in this 1.67 + fashion are OpenVG VGImage objects and Direct3D share handles." 1.68 + 1.69 + Replace the last sentence of paragraph 2 ("To bind a client API...") of 1.70 + Section 3.5.3 with the following text. 1.71 + "When <buftype> is EGL_OPENVG_IMAGE, the width and height of the pbuffer 1.72 + are determined by the width and height of <buffer>. When <buftype> is 1.73 + EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, the width and height are specified 1.74 + using EGL_WIDTH and EGL_HEIGHT, or else they default to zero. The width 1.75 + and height must match the dimensions of the texture which the share handle 1.76 + was created from or else an EGL_BAD_ALLOC error is generated." 1.77 + 1.78 + Replace the third paragraph of Section 3.5.3 with the following text. 1.79 + "<buftype> specifies the type of buffer to be bound. The only allowed values 1.80 + of <buftype> are EGL_OPENVG_IMAGE and 1.81 + EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE". 1.82 + 1.83 + Append the following text to the fourth paragraph of Section 3.5.3. 1.84 + "When <buftype> is EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, <buffer> must be 1.85 + a valid D3D share handle, cast into the type EGLClientBuffer. The handle 1.86 + may be obtained from the Direct3D9Ex CreateTexture function, from DXGI's 1.87 + GetSharedHandle method on an ID3D10Texture2D, or from the 1.88 + EGL_ANGLE_surface_d3d_texture_2d_share_handle extension." 1.89 + 1.90 +Issues 1.91 + 1.92 +Revision History 1.93 + 1.94 + Version 3, 2011/05/12 1.95 + - publish 1.96 + 1.97 + Version 2, 2011/05/03 1.98 + - specify EGL_D3D_TEXTURE_2D_SHARE_HANDLE 1.99 + - specify error if dimensions don't match 1.100 + 1.101 + Version 1, 2011/04/12 - first draft.