gfx/angle/extensions/EGL_ANGLE_d3d_share_handle_client_buffer.txt

changeset 0
6474c204b198
     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.

mercurial