зеркало из https://github.com/AvaloniaUI/angle.git
86 строки
2.4 KiB
Plaintext
86 строки
2.4 KiB
Plaintext
Name
|
|
|
|
ANGLE_vulkane_image
|
|
|
|
Name Strings
|
|
|
|
GL_ANGLE_vulkane_image
|
|
|
|
Contributors
|
|
|
|
Peng Huang, Google
|
|
|
|
Contact
|
|
|
|
Peng Huang, Google (penghuang 'at' chromium.com)
|
|
|
|
Status
|
|
|
|
Draft
|
|
|
|
Version
|
|
|
|
Last Modified Date: Nov 19, 2021
|
|
Revision: 1
|
|
|
|
Number
|
|
|
|
TBD
|
|
|
|
Dependencies
|
|
|
|
Written against the OpenGL 4.5 and OpenGL ES 3.2 specifications
|
|
|
|
GL_ANGLE_vulkane_image requires GL_EXT_external_objects
|
|
|
|
Overview
|
|
|
|
Building upon the OpenGL memory object and semaphore framework
|
|
defined in EXT_external_objects, this extension enables an OpenGL
|
|
application to share textures with an external API.
|
|
|
|
New Procedures and Functions
|
|
|
|
If the GL_ANGLE_vulkane_image string is reported, the following commands
|
|
are added:
|
|
|
|
void AcquireTexturesANGLE(uint numTextures,
|
|
const uint *textures,
|
|
const GLenum *layouts);
|
|
|
|
void ReleaseTexturesANGLE(uint numTextures,
|
|
const uint *textures,
|
|
GLenum *layouts);
|
|
|
|
New Tokens
|
|
|
|
None
|
|
|
|
Additions to Chapter 4 of the OpenGL 4.5 Specification (Event Model)
|
|
|
|
The command
|
|
void AcquireTexturesANGLE(uint numTextures,
|
|
const uint *textures,
|
|
const GLenum *layouts);
|
|
will acquire ownership of textures. Since the texture layout state is
|
|
managed internally by the GL, but may have been modified by an external API,
|
|
the current layout of the textures must be specified to initialize internal
|
|
GL state prior to correspond to those specified by the Vulkan API as
|
|
described in table 4.4. However, the layouts do not necessarily correspond
|
|
to an optimal state for any particular GL operation. The GL will simply
|
|
perform appropriate transitions internally as necessary based on the
|
|
specified current layout of the texture.
|
|
|
|
The command
|
|
void ReleaseTexturesANGLE(uint numTextures,
|
|
const uint *textures,
|
|
GLenum *layouts);
|
|
will release ownership of textures. The current texture layouts will be
|
|
returned, so an external API can perform appropriate transitions as
|
|
necessary based on the returned current layout of the textures.
|
|
|
|
Revision History
|
|
|
|
Revision 1, 2021-11-19 (Peng Huang)
|
|
- Initial draft based closely on EXT_external_objects_fd.
|