gfx/angle/extensions/EGL_ANGLE_d3d_share_handle_client_buffer.txt

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 Name
     3     ANGLE_d3d_share_handle_client_buffer
     5 Name Strings
     7     EGL_ANGLE_d3d_share_handle_client_buffer
     9 Contributors
    11     John Bauman
    12     Alastair Patrick
    13     Daniel Koch
    15 Contacts
    17     John Bauman, Google Inc. (jbauman 'at' chromium.org)
    19 Status
    21     Complete
    22     Implemented (ANGLE r650)
    24 Version
    26     Version 3, May 12, 2011
    28 Number
    30     EGL Extension #??
    32 Dependencies
    34     Requires the EGL_ANGLE_surface_d3d_texture_2d_share_handle extension.
    36     This extension is written against the wording of the EGL 1.4
    37     Specification.
    39 Overview
    41     This extension allows creating EGL surfaces from handles to textures
    42     shared from the Direct3D API or from
    43     EGL_ANGLE_surface_texture_2d_share_handle.
    45 New Types
    47     None
    49 New Procedures and Functions
    51     None
    53 New Tokens
    55     Accepted in the <buftype> parameter of eglCreatePbufferFromClientBuffer:
    57         EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE            0x3200
    59 Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors)
    61     Replace the last sentence of paragraph 1 of Section 3.5.3 with the
    62     following text.
    63     "Currently, the only client API resources which may be bound in this
    64     fashion are OpenVG VGImage objects and Direct3D share handles."
    66     Replace the last sentence of paragraph 2 ("To bind a client API...") of
    67     Section 3.5.3 with the following text.
    68     "When <buftype> is EGL_OPENVG_IMAGE, the width and height of the pbuffer
    69     are determined by the width and height of <buffer>. When <buftype> is
    70     EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, the width and height are specified
    71     using EGL_WIDTH and EGL_HEIGHT, or else they default to zero. The width
    72     and height must match the dimensions of the texture which the share handle 
    73     was created from or else an EGL_BAD_ALLOC error is generated."
    75     Replace the third paragraph of Section 3.5.3 with the following text.
    76     "<buftype> specifies the type of buffer to be bound. The only allowed values
    77     of <buftype> are EGL_OPENVG_IMAGE and
    78     EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE".
    80     Append the following text to the fourth paragraph of Section 3.5.3.
    81     "When <buftype> is EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, <buffer> must be
    82     a valid D3D share handle, cast into the type EGLClientBuffer. The handle
    83     may be obtained from the Direct3D9Ex CreateTexture function, from DXGI's
    84     GetSharedHandle method on an ID3D10Texture2D, or from the
    85     EGL_ANGLE_surface_d3d_texture_2d_share_handle extension."
    87 Issues
    89 Revision History
    91     Version 3, 2011/05/12
    92       - publish
    94     Version 2, 2011/05/03
    95       - specify EGL_D3D_TEXTURE_2D_SHARE_HANDLE
    96       - specify error if dimensions don't match
    98     Version 1, 2011/04/12 - first draft.

mercurial