C Specification

To query shader clock support, call vkGetPhysicalDeviceFeatures2 with a VkPhysicalDeviceShaderClockFeaturesKHR structure included in the pNext chain of its pFeatures parameter.

The VkPhysicalDeviceShaderClockFeaturesKHR structure is defined as:

// Provided by VK_KHR_shader_clock
typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
    VkStructureType    sType;
    void*              pNext;
    VkBool32           shaderSubgroupClock;
    VkBool32           shaderDeviceClock;
} VkPhysicalDeviceShaderClockFeaturesKHR;


  • sType is the type of this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • shaderSubgroupClock indicates whether shaders can perform Subgroup scoped clock reads.

  • shaderDeviceClock indicates whether shaders can perform Device scoped clock reads.


If the VkPhysicalDeviceShaderClockFeaturesKHR structure is included in the pNext chain of VkPhysicalDeviceFeatures2, it is filled with values indicating whether each feature is supported. VkPhysicalDeviceShaderClockFeaturesKHR can also be included in the pNext chain of VkDeviceCreateInfo to enable the features.

Valid Usage (Implicit)
  • VUID-VkPhysicalDeviceShaderClockFeaturesKHR-sType-sType

See Also

VkBool32, VkStructureType

Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2021 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0