blob: 813437329c5c6c07b9d921f9edc01ea975345d3a [file] [log] [blame]
// Copyright 2017-2021 The Khronos Group, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
include::{generated}/meta/{refprefix}VK_KHR_shader_clock.txt[]
=== Other Extension Metadata
*Last Modified Date*::
2019-4-25
*IP Status*::
No known IP claims.
*Interactions and External Dependencies*::
- This extension requires
{spirv}/KHR/SPV_KHR_shader_clock.html[`SPV_KHR_shader_clock`].
- This extension provides API support for
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_shader_clock.txt[`ARB_shader_clock`]
and
https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_shader_realtime_clock.txt[`EXT_shader_realtime_clock`]
*Contributors*::
- Aaron Hagan, AMD
- Daniel Koch, NVIDIA
=== Description
This extension advertises the SPIR-V code:ShaderClockKHR capability for
Vulkan, which allows a shader to query a real-time or monotonically
incrementing counter at the subgroup level or across the device level.
The two valid SPIR-V scopes for code:OpReadClockKHR are code:Subgroup and
code:Device.
When using GLSL source-based shading languages, the code:clockRealtime*EXT()
timing functions map to the code:OpReadClockKHR instruction with a scope of
code:Device, and the code:clock*ARB() timing functions map to the
code:OpReadClockKHR instruction with a scope of code:Subgroup.
include::{generated}/interfaces/VK_KHR_shader_clock.txt[]
=== New SPIR-V Capabilities
* <<spirvenv-capabilities-table-ShaderClockKHR,ShaderClockKHR>>
=== Version History
* Revision 1, 2019-4-25 (Aaron Hagan)
- Initial revision