diff options
Diffstat (limited to 'glew/auto/EGL-Registry/extensions/ANGLE')
6 files changed, 609 insertions, 0 deletions
diff --git a/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_d3d_share_handle_client_buffer.txt b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_d3d_share_handle_client_buffer.txt new file mode 100644 index 0000000..b205883 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_d3d_share_handle_client_buffer.txt @@ -0,0 +1,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 #38 + +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. diff --git a/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_device_d3d.txt b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_device_d3d.txt new file mode 100644 index 0000000..8e606cd --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_device_d3d.txt @@ -0,0 +1,93 @@ +Name + + ANGLE_device_d3d + +Name Strings + + EGL_ANGLE_device_d3d + +Contributors + + Jamie Madill (jmadill 'at' google.com) + +Contact + + Jamie Madill (jmadill 'at' google.com) + +Status + + Complete. + +Version + + Version 1, Mar 25, 2015 + +Number + + EGL Extension #90 + +Extension Type + + EGL device extension + +Dependencies + + This extension is written against the language of EGL 1.5 as + modified by EGL_EXT_device_query. + + EGL_EXT_device_query is required. + +Overview + + ANGLE has the ability to run GPU commands on a native D3D device. + This extension defines a mapping from an EGL device to a D3D + device, after it's queried from an EGL display. + +IP Status + + No known claims. + +New Types + + None. + +New Procedures and Functions + + None. + +New Tokens + + Accepted as a queried <attribute> in eglQueryDeviceAttribEXT: + + EGL_D3D9_DEVICE_ANGLE 0x33A0 + EGL_D3D11_DEVICE_ANGLE 0x33A1 + +Add a new section 2.1.3 (D3D Devices) after 2.1.2 (Devices) + + Somewhat analogous to an EGL device, a D3D device establishes a + namespace for D3D operations. In the D3D APIs, such devices are + represented by pointers. For more details, see the D3D + documentation. + +Changes to section 3.2 (Devices) + + Replace the paragraph immediately following the prototype for + eglQueryDeviceAttribEXT: + + <attribute> may be either EGL_D3D9_DEVICE_ANGLE or EGL_D3D11_DEVICE_ANGLE. + On success, EGL_TRUE is returned, and a valid D3D9 or D3D11 device pointer + corresponding to the EGL device is returned in <value>. This handle + is compatible with D3D API functions. If the EGL device is not currently + associated with a D3D9 device and <attribute> is EGL_D3D9_DEVICE_ANGLE, + or if the EGL device is not currently associated with a D3D11 device and + <attribute> is EGL_D3D11_DEVICE_ANGLE, EGL_BAD_ATTRIBUTE is returned, + and <value> is left unchanged. + +Issues + + None + +Revision History + + Version 1, Mar 25, 2015 (Jamie Madill) + - Initial Draft diff --git a/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_query_surface_pointer.txt b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_query_surface_pointer.txt new file mode 100644 index 0000000..75126fc --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_query_surface_pointer.txt @@ -0,0 +1,88 @@ +Name + + ANGLE_query_surface_pointer + +Name Strings + + EGL_ANGLE_query_surface_pointer + +Contributors + + Vladimir Vukicevic + Daniel Koch + +Contacts + + Vladimir Vukicevic (vladimir 'at' pobox.com) + +Status + + Complete + Implemented (ANGLE r558) + +Version + + Version 3, February 11, 2011 + +Number + + EGL Extension #28 + +Dependencies + + This extension is written against the wording of the EGL 1.4 + Specification. + +Overview + + This extension allows querying pointer-sized surface attributes, + thus avoiding problems with coercing 64-bit pointers into a 32-bit + integer. + +New Types + + None + +New Procedures and Functions + + EGLBoolean eglQuerySurfacePointerANGLE( + EGLDisplay dpy, + EGLSurface surface, + EGLint attribute, + void **value); + +New Tokens + + None + +Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) + + Add to the end of the paragraph starting with "To query an + attribute associated with an EGLSurface" in section 3.5.6, + "Surface Attributes": + + "If the attribute type in table 3.5 is 'pointer', then + eglQuerySurface returns EGL_FALSE and an EGL_BAD_PARAMETER error + is generated. To query pointer attributes, call: + + EGLBoolean eglQuerySurfacePointerANGLE( + EGLDisplay dpy, + EGLSurface surface, + EGLint attribute, + void **value); + + eglQuerySurfacePointerANGLE behaves identically to eglQuerySurface, + except that only attributes of type 'pointer' can be queried. + If an attribute queried via eglQuerySurfacePointerANGLE is not + of type 'pointer', then eglQuerySurfacePointer returns EGL_FALSE + and an EGL_BAD_PARAMETER error is generated." + +Issues + +Revision History + + Version 3, 2011/02/11 - publish + + Version 2, 2010/12/21 - fix typos. + + Version 1, 2010/12/07 - first draft. diff --git a/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt new file mode 100644 index 0000000..917e445 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt @@ -0,0 +1,95 @@ +Name + + ANGLE_surface_d3d_texture_2d_share_handle + +Name Strings + + EGL_ANGLE_surface_d3d_texture_2d_share_handle + +Contributors + + Vladimir Vukicevic + Daniel Koch + +Contacts + + Vladimir Vukicevic (vladimir 'at' pobox.com) + +Status + + Complete + Implemented (ANGLE r558) + +Version + + Version 2, December 21, 2010 + +Number + + EGL Extension #29 + +Dependencies + + Requires the EGL_ANGLE_query_surface_pointer extension. + + This extension is written against the wording of the EGL 1.4 + Specification. + +Overview + + Some EGL implementations generate EGLSurface handles that are + backed by Direct3D 2D textures. For such surfaces, a D3D share + handle can be generated, allowing access to the same surface + from the Direct3D API. + +New Types + + None + +New Procedures and Functions + + None + +New Tokens + + Accepted in the <attribute> parameter of eglQuerySurfacePointerANGLE: + + EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 + +Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) + + Add to table 3.5, "Queryable surface attributes and types": + + Attribute Type Description + --------- ---- ----------- + EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE pointer Direct3D share handle + + Add before the last paragraph in section 3.5, "Surface attributes": + + "Querying EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE returns a Direct3D + share handle, or NULL if a share handle for the surface is not + available. The share handle must be queried using + eglQuerySurfaceAttribPointerANGLE. Before using a Direct3D surface + created with this share handle, ensure that all rendering + to the EGLSurface with EGL client APIs has completed. + + The Direct3D share handle may be passed as the pSharedHandle + parameter of the Direct3D9Ex CreateTexture function, or via the + Direct3D10 OpenSharedResource function. If used with Direct3D 9, + the level argument to CreateTexture must be 1, and the dimensions + must match the dimensions of the EGL surface. If used with + Direct3D 10, OpenSharedResource should be called with the + ID3D10Texture2D uuid to obtain an ID3D10Texture2D object. + +Issues + +Revision History + + Version 3, 2011/02/11 - publish + + Version 2, 2010/12/21 + - renamed token to EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE (adding "2D") + - renamed extension to ANGLE_surface_d3d_texture_2d_share_handle + - added language about supported usage of the shared handle from D3D + + Version 1, 2010/12/07 - first draft. diff --git a/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_sync_control_rate.txt b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_sync_control_rate.txt new file mode 100644 index 0000000..4259145 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_sync_control_rate.txt @@ -0,0 +1,99 @@ +Name + + ANGLE_sync_control_rate + +Name Strings + + EGL_ANGLE_sync_control_rate + +Contact + + Jonah Ryan-Davis, Google (jonahr 'at' google.com) + +Status + + Draft. + +Version + + Version 1, 2020-03-24 + + Based on GLX_OML_sync_control Revision 6.0 + Related to EGL_CHROMIUM_sync_control Revision 2.0 + +Number + + 142 + +Dependencies + + The extension is written against the EGL 1.2 Specification, although it + should work on other versions of these specifications. + +Overview + + This extension provides counters which let applications know about the + timing of the last vertical retrace. By looking at the system clock, as + well as the refresh rate of the monitor, this should enable applications + to predict the position of future retraces so as to schedule an optimal + workload. + + This extension incorporates the use of a counter that provides the + necessary synchronization. The graphics Media Stream Counter (or + graphics MSC) is a counter that is unique to the graphics subsystem + and increments for each vertical retrace that occurs. + + By querying the MSC rate for a given surface, the application can + accurately predict the timing for the next vertical retraces and schedule + rendering accordingly. + +Issues + + None. + +IP Status + + No known issues. + +New Procedures and Functions + + Bool eglGetMscRateANGLE(EGLDisplay* dpy, + EGLSurface surface, + int32_t* numerator, + int32_t* denominator) + +New Tokens + + None + +Additions to the EGL 1.3 Specification + + The graphics MSC value is incremented once for each screen refresh. + For a non-interlaced display, this means that the graphics MSC value + is incremented for each frame. For an interlaced display, it means + that it will be incremented for each field. For a multi-monitor + system, the monitor used to determine MSC is the one where the surface + is located. If the surface spans multiple monitors, the monitor used + to determine MSC is the one with the biggest coverage in pixels. + + eglGetMscRateANGLE returns the rate at which the MSC will be incremented + for the display associated with <dpy> and <surface>. The rate is expressed + in Hertz as <numerator> / <denominator>. If the MSC rate in Hertz is an + integer, then <denominator> will be 1 and <numerator> will be + the MSC rate. + +Errors + + The function eglGetMscRateANGLE returns FALSE on failure. + If <dpy> is not a valid EGLDisplay, EGL_BAD_DISPLAY is generated. + If <surface> is not a valid EGLSurface, EGL_BAD_SURFACE is generated. + If there is no current EGLContext, EGL_BAD_CONTEXT is generated. + +New Implementation Dependent State + + None + +Revision History + + Version 1, 2020-03-24 (Jonah Ryan-Davis) + - Initial draft, based on GLX_OML_sync_control revision 6.0. diff --git a/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_window_fixed_size.txt b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_window_fixed_size.txt new file mode 100644 index 0000000..6e60e86 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_window_fixed_size.txt @@ -0,0 +1,136 @@ +Name + + ANGLE_window_fixed_size + +Name Strings + + EGL_ANGLE_window_fixed_size + +Contributors + + John Bauman + Shannon Woods + +Contacts + + John Bauman, Google Inc. (jbauman 'at' google.com) + +Status + + Complete + +Version + + Version 4, February 24, 2014 + +Number + + EGL Extension #85 + +Dependencies + + This extension is written against the wording of the EGL 1.4 + Specification. + +Overview + + This extension allows creating a window surface with a fixed size that is + specified when it is created. + +New Types + + None + +New Procedures and Functions + + None + +New Tokens + + Accepted by the <attribute> parameter of eglQuerySurface and by the + <attrib_list> parameter of eglCreateWindowSurface: + + EGL_FIXED_SIZE_ANGLE 0x3201 + +Additions to Chapter 3 of the EGL 1.4 Specification: + + Modify the third paragraph of Section 3.5.1 (Creating On-Screen Rendering Surfaces) + + "<attrib_list> specifies a list of attributes for the window. The list has + the same structure as described for eglChooseConfig. Attributes that can + be specified in <attrib_list> include EGL_RENDER_BUFFER, + EGL_VG_COLORSPACE, EGL_VG_ALPHA_FORMAT, EGL_FIXED_SIZE_ANGLE, EGL_WIDTH, + and EGL_HEIGHT." + + Add before the last paragraph of Section 3.5.1 + + "EGL_FIXED_SIZE_ANGLE specifies whether the surface must be resized by the + implementation when the native window is resized. The default value is + EGL_FALSE. Its value can be EGL_TRUE, in which case the size must be + specified when the window is created, or EGL_FALSE, in which case the size + is taken from the native window. Its default value is EGL_FALSE. + + If the value of EGL_FIXED_SIZE_ANGLE is EGL_TRUE, the window surface's + size in pixels is specified by the EGL_WIDTH and EGL_HEIGHT attributes, + and will not change throughout the lifetime of the surface. If its value + is EGL_FALSE, then the values of EGL_WIDTH and EGL_HEIGHT are ignored and + the window surface must be resized by the implementation subsequent to the + native window being resized, and prior to copying its contents to the + native window (e.g. in eglSwapBuffers, as described in section 3.9.1.1). + The default values for EGL_WIDTH and EGL_HEIGHT are zero. If the value + specified for either of EGL_WIDTH or EGL_HEIGHT is less than zero then an + EGL_BAD_PARAMETER error is generated." + + Add the following entry to Table 3.5 + (Queryable surface attributes and types) + + Attribute Type Description + -------------------- ------- --------------------------------------------- + EGL_FIXED_SIZE_ANGLE boolean Surface will not be resized with a native + window + + Replace the last paragraph on page 37 in Section 3.5.6 (Surface Attributes) + + "Querying EGL_WIDTH and EGL_HEIGHT returns respectively the width and + height, in pixels, of the surface. For a pixmap surface or window surface + with EGL_FIXED_SIZE_ANGLE set to EGL_FALSE, these values are initially + equal to the width and height of the native window or pixmap with respect + to which the surface was created. If the native window is resized and the + corresponding window surface is not fixed size, the corresponding window + surface will eventually be resized by the implementation to match (as + discussed in section 3.9.1). If there is a discrepancy because EGL has not + yet resized the window surface, the size returned by eglQuerySurface will + always be that of the EGL surface, not the corresponding native window." + + Add the following paragraph to Section 3.5.6 (Surface Attributes) + + "Querying EGL_FIXED_SIZE_ANGLE returns EGL_FALSE if the surface will be + resized to match a native window, and EGL_TRUE if the surface cannot be + resized." + + Alter the beginning of the first paragraph of Section 3.9.1.1 (Native + Window Resizing) + + "If <surface> does not have EGL_FIXED_SIZE_ANGLE set and the native window + corresponding to <surface> has been resized prior to the swap, <surface> + must be resized to match." + +Issues + + 1. Should there be a way to resize a window surface that had its size + specified initially. + + RESOLVED: No. Surfaces that have their sizes specified initially must have + EGL_FIXED_SIZE_ANGLE set and can never be resized. + +Revision History + + Version 4, 2014/02/24 - formatting changes. + + Version 3, 2014/02/12 - ignore EGL_WIDTH and EGL_HEIGHT if + EGL_FIXED_SIZE_ANGLE is EGL_FALSE + + Version 2, 2014/02/07 - rename to EGL_ANGLE_window_fixed_size, and add an + EGL_FIXED_SIZE_ANGLE token. + + Version 1, 2014/02/05 - first draft. |