• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    ANGLE_d3d_share_handle_client_buffer
4
5Name Strings
6
7    EGL_ANGLE_d3d_share_handle_client_buffer
8
9Contributors
10
11    John Bauman
12    Alastair Patrick
13    Daniel Koch
14
15Contacts
16
17    John Bauman, Google Inc. (jbauman 'at' chromium.org)
18
19Status
20
21    Complete
22    Implemented (ANGLE r650)
23
24Version
25
26    Version 3, May 12, 2011
27
28Number
29
30    EGL Extension #38
31
32Dependencies
33
34    Requires the EGL_ANGLE_surface_d3d_texture_2d_share_handle extension.
35
36    This extension is written against the wording of the EGL 1.4
37    Specification.
38
39Overview
40
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.
44
45New Types
46
47    None
48
49New Procedures and Functions
50
51    None
52
53New Tokens
54
55    Accepted in the <buftype> parameter of eglCreatePbufferFromClientBuffer:
56
57        EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE            0x3200
58
59Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors)
60
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."
65
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."
74
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".
79
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."
86
87Issues
88
89Revision History
90
91    Version 3, 2011/05/12
92      - publish
93
94    Version 2, 2011/05/03
95      - specify EGL_D3D_TEXTURE_2D_SHARE_HANDLE
96      - specify error if dimensions don't match
97
98    Version 1, 2011/04/12 - first draft.
99