// Copyright 2014-2021 The Khronos Group, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_GGP_frame_token.txt[]

=== Other Extension Metadata

*Last Modified Date*::
    2019-01-28
*IP Status*::
    No known IP claims.
*Contributors*::
  - Jean-Francois Roy, Google
  - Richard O'Grady, Google

=== Description

This extension allows an application that uses the `apiext:VK_KHR_swapchain`
extension in combination with a Google Games Platform surface provided by
the `apiext:VK_GGP_stream_descriptor_surface` extension to associate a
Google Games Platform frame token with a present operation.

include::{generated}/interfaces/VK_GGP_frame_token.txt[]

=== Version History

 * Revision 1, 2018-11-26 (Jean-Francois Roy)
   - Initial revision.
