Hash :
2b720c92
        
        Author :
  
        
        Date :
2011-05-13T16:05:22
        
      
Fix the order of the error() parameters in Surface.cpp and advertise EGL_ANGLE_d3d_share_handle_client_buffer extension Trac #16711 Also rename the extension file to match the extension name Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@651 736b8ea6-26fd-11df-bfd4-992fa37f6226
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
Name
    ANGLE_d3d_share_handle_client_buffer
Name Strings
    EGL_ANGLE_d3d_share_handle_client_buffer
Contributors
    John Bauman
    Alastair Patrick
    Daniel Koch
Contacts
    John Bauman, Google Inc. (jbauman 'at' chromium.org)
Status
    Complete
    Implemented (ANGLE r650)
Version
    Version 3, May 12, 2011
Number
    EGL Extension #??
Dependencies
    Requires the EGL_ANGLE_surface_d3d_texture_2d_share_handle extension.
    This extension is written against the wording of the EGL 1.4
    Specification.
Overview
    This extension allows creating EGL surfaces from handles to textures
    shared from the Direct3D API or from
    EGL_ANGLE_surface_texture_2d_share_handle.
New Types
    None
New Procedures and Functions
    None
New Tokens
    Accepted in the <buftype> parameter of eglCreatePbufferFromClientBuffer:
        EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE            0x3200
Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors)
    Replace the last sentence of paragraph 1 of Section 3.5.3 with the
    following text.
    "Currently, the only client API resources which may be bound in this
    fashion are OpenVG VGImage objects and Direct3D share handles."
    Replace the last sentence of paragraph 2 ("To bind a client API...") of
    Section 3.5.3 with the following text.
    "When <buftype> is EGL_OPENVG_IMAGE, the width and height of the pbuffer
    are determined by the width and height of <buffer>. When <buftype> is
    EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, the width and height are specified
    using EGL_WIDTH and EGL_HEIGHT, or else they default to zero. The width
    and height must match the dimensions of the texture which the share handle 
    was created from or else an EGL_BAD_ALLOC error is generated."
    Replace the third paragraph of Section 3.5.3 with the following text.
    "<buftype> specifies the type of buffer to be bound. The only allowed values
    of <buftype> are EGL_OPENVG_IMAGE and
    EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE".
    Append the following text to the fourth paragraph of Section 3.5.3.
    "When <buftype> is EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, <buffer> must be
    a valid D3D share handle, cast into the type EGLClientBuffer. The handle
    may be obtained from the Direct3D9Ex CreateTexture function, from DXGI's
    GetSharedHandle method on an ID3D10Texture2D, or from the
    EGL_ANGLE_surface_d3d_texture_2d_share_handle extension."
Issues
Revision History
    Version 3, 2011/05/12
      - publish
    Version 2, 2011/05/03
      - specify EGL_D3D_TEXTURE_2D_SHARE_HANDLE
      - specify error if dimensions don't match
    Version 1, 2011/04/12 - first draft.