Wed, 31 Dec 2014 06:09:35 +0100
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.