|
1 Name |
|
2 |
|
3 ANGLE_d3d_share_handle_client_buffer |
|
4 |
|
5 Name Strings |
|
6 |
|
7 EGL_ANGLE_d3d_share_handle_client_buffer |
|
8 |
|
9 Contributors |
|
10 |
|
11 John Bauman |
|
12 Alastair Patrick |
|
13 Daniel Koch |
|
14 |
|
15 Contacts |
|
16 |
|
17 John Bauman, Google Inc. (jbauman 'at' chromium.org) |
|
18 |
|
19 Status |
|
20 |
|
21 Complete |
|
22 Implemented (ANGLE r650) |
|
23 |
|
24 Version |
|
25 |
|
26 Version 3, May 12, 2011 |
|
27 |
|
28 Number |
|
29 |
|
30 EGL Extension #?? |
|
31 |
|
32 Dependencies |
|
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 |
|
39 Overview |
|
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 |
|
45 New Types |
|
46 |
|
47 None |
|
48 |
|
49 New Procedures and Functions |
|
50 |
|
51 None |
|
52 |
|
53 New Tokens |
|
54 |
|
55 Accepted in the <buftype> parameter of eglCreatePbufferFromClientBuffer: |
|
56 |
|
57 EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 |
|
58 |
|
59 Additions 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 |
|
87 Issues |
|
88 |
|
89 Revision 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. |