Edit

kc3-lang/angle/extensions/ANGLE_external_objects_fuchsia.txt

Branch :

  • Show log

    Commit

  • Author : Michael Spang
    Date : 2020-05-02 14:36:57
    Hash : 3c2d329c
    Message : 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>

  • extensions/ANGLE_external_objects_fuchsia.txt
  • 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.