blob: 633b493b98a78c6a06737f3e06c361c58fa486c2 [file] [log] [blame]
Name
ANGLE_metal_texture_client_buffer
Name Strings
EGL_ANGLE_metal_texture_client_buffer
Contributors
Le Hoang Quyen
Contacts
Jamie Madill, Google (jmadill 'at' google 'dot' com)
Le Hoang Quyen (lehoangq 'at' gmail.com)
Status
Draft
Version
Version 1, Jul 19, 2020
Number
EGL Extension #??
Dependencies
This extension is written against the wording of the EGL 1.4
Specification.
Overview
This extension allows creating EGL images from external metal texture objects.
New Types
None
New Procedures and Functions
None
New Tokens
Accepted in the <target> parameter of eglCreateImageKHR:
EGL_METAL_TEXTURE_ANGLE 0x34A7
Additions to Chapter 2 of the EGL 1.2 Specification (EGL Operation)
Add to section 2.5.1 "EGLImage Specification" (as defined by the
EGL_KHR_image_base specification), in the description of
eglCreateImageKHR:
"Values accepted for <target> are listed in Table aaa, below.
+----------------------------+-----------------------------------------+
| <target> | Notes |
+----------------------------+-----------------------------------------+
| EGL_METAL_TEXTURE_ANGLE | Used for Metal texture objects |
+----------------------------+-----------------------------------------+
Table aaa. Legal values for eglCreateImageKHR <target> parameter
...
If <target> is EGL_METAL_TEXTURE_ANGLE, <dpy> must be a valid display, <ctx>
must be EGL_NO_CONTEXT, <buffer> must be a pointer to a valid MTLTexture
object (cast into the type EGLClientBuffer), and attributes are ignored.
The width and height of the pbuffer are determined by the width and height
of <buffer>."
If the EGL_ANGLE_device_metal extension is present, the provided Metal texture
object must have been created by the same Metal device queried from the
display. If these requirements are not met, an EGL_BAD_PARAMETER error is
generated."
Revision History
Version 1, 2020/19/07 - First draft