Name

    CHROMIUM_future_sync_point

Name Strings

    GL_CHROMIUM_future_sync_point

Version

    Last Modifed Date: July 14, 2014

Dependencies

    OpenGL ES 2.0 is required.
    This extension depends on CHROMIUM_sync_point

Overview

    This extension allows sync points to be created that won't be retired
    immediately.

Issues

    None

New Tokens

    None

New Procedures and Functions

    The command

        uint InsertFutureSyncPointCHROMIUM()

    creates a sync point, but does neither insert it into nor flush the
    stream of commands.
    The returned sync point name can be waited on immediately, but will not be
    signalled until a retire command is sent, or until the context is
    destroyed, whichever happens first.

    The command

        void RetireSyncPointCHROMIUM(uint sync_point)

    causes a sync point to be signaled as soon as the previous commands have
    been submitted to the server. The sync point named <sync_point> must have
    been returned by InsertFutureSyncPointCHROMIUM. The sync point name will
    be implicitly deleted when it becomes signaled.

Errors

    None.

New State

    None.

Revision History

    7/14/2014     Initial documentation.
