Branch
Hash :
3c2d329c
Author :
Date :
2020-05-02T14:36:57
Fix wrong date in ANGLE_external_objects_fuchsia revision history The current timeline implies the existence of time travel. Bug: None Change-Id: Ic558f430912b874afc881f4841a49236f26b78dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2178945 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
Name
ANGLE_external_objects_fuchsia
Name Strings
GL_ANGLE_memory_object_fuchsia
GL_ANGLE_semaphore_fuchsia
Contributors
Michael Spang, Google
Contact
Michael Spang, Google (spang 'at' google.com)
Status
Draft
Version
Last Modified Date: Feb 19, 2020
Revision: 1
Number
TBD
Dependencies
Written against the OpenGL 4.5 and OpenGL ES 3.2 specifications
GL_ANGLE_memory_object_fuchsia requires GL_EXT_memory_object
GL_ANGLE_semaphore_fuchsia requires GL_EXT_semaphore
Overview
Building upon the OpenGL memory object and semaphore framework
defined in EXT_external_objects, this extension enables an OpenGL
application to import a memory object or semaphore from Zircon
external handles.
New Procedures and Functions
If the GL_ANGLE_memory_object_fuchsia string is reported, the following
commands are added:
void ImportMemoryZirconHandleANGLE(uint memory,
uint64 size,
enum handleType,
uint handle);
If the GL_ANGLE_semaphore_fuchsia string is reported, the following commands
are added:
void ImportSemaphoreZirconHandleANGLE(uint semaphore,
enum handleType,
uint handle);
New Tokens
If the GL_ANGLE_memory_object_fuchsia string is reported, the following
tokens are added:
Accepted by the <handleType> parameter of ImportMemoryZirconHandleANGLE().
HANDLE_TYPE_ZIRCON_VMO_ANGLE 0x93AE
If the GL_ANGLE_semaphore_fuchsia string is reported, the following
tokens are added:
Accepted by the <handleType> parameter of ImportSemaphoreZirconHandleANGLE().
HANDLE_TYPE_ZIRCON_EVENT_ANGLE 0x93AF
Additions to Chapter 4 of the OpenGL 4.5 Specification (Event Model)
Add the following entry to table 4.2 "Commands for importing
external semaphore handles."
| Handle Type | Import command |
+--------------------------------+----------------------------------+
| HANDLE_TYPE_ZIRCON_EVENT_ANGLE | ImportSemaphoreZirconHandleANGLE |
+--------------------------------+----------------------------------+
Replace the paragraph in section 4.2.1 beginning "External handles
are often defined..." with the following
The command
ImportSemaphoreZirconHandleANGLE(uint semaphore,
enum handleType,
uint handle);
imports a semaphore from the zircon handle <handle>. What type of
handle <handle> refers to is determined by <handleType>. A successful
import operation transfers ownership of <handle> to the GL
implementation, and performing any operation on <handle> in the
application after an import results in undefined behavior.
Additions to Chapter 6 of the OpenGL 4.5 Specification (Memory Objects)
Add the following entry to table 6.2 "Commands for importing
external memory handles."
| Handle Type | Import command |
+------------------------------+-------------------------------+
| HANDLE_TYPE_ZIRCON_VMO_ANGLE | ImportMemoryZirconHandleANGLE |
+------------------------------+-------------------------------+
Replace the paragraph in section 6.1 beginning "External handles are
often defined..." with the following
The command
void ImportMemoryZirconHandleANGLE(uint memory,
uint64 size,
enum handleType,
uint handle);
imports a memory object of length <size> from the handle
<handle>. What type of object <handle> refers to is determined by
<handleType>. A successful import operation transfers ownership
of <handle> to the GL implementation, and performing any operation on
<handle> in the application after an import results in undefined
behavior.
Revision History
Revision 1, 2020-02-19 (Michael Spang)
- Initial draft based closely on EXT_external_objects_fd.