C Specification

The VkPerfHintInfoQCOM structure is defined as:

// Provided by VK_QCOM_queue_perf_hint
typedef struct VkPerfHintInfoQCOM {
    VkStructureType       sType;
    void*                 pNext;
    VkPerfHintTypeQCOM    type;
    uint32_t              scale;
} VkPerfHintInfoQCOM;

Members

  • sType is a VkStructureType value identifying this structure.

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

  • type is a VkPerfHintTypeQCOM value indicating the type of performance hint to apply.

  • scale is a normalized fixed-point scale factor.

Description

The device has two global frequency constraints, fmin and fmax, that can be influenced by the VK_PERF_HINT_TYPE_FREQUENCY_MIN_QCOM, VK_PERF_HINT_TYPE_FREQUENCY_MAX_QCOM, and VK_PERF_HINT_TYPE_FREQUENCY_SCALED_QCOM performance hints. These constraints determine the range of clock frequencies that the platform performance algorithms may select from. If no constraints are set, fmin and fmax are set to the minimum and maximum frequencies the device can support, Fmin and Fmax respectively.

The fmin constraint applied by VK_PERF_HINT_TYPE_FREQUENCY_SCALED_QCOM is calculated with the following:

The implementation rounds fmin down to the next available lower frequency the device supports, clamped to Fmin.

The global frequency constraints are determined by combining the performance hints from all of the device’s active queues of all processes on the host. Performance hints that influence device frequency are ranked, where a higher ranked hint supersedes all lower ranked hints. These are listed in order of highest rank to lowest:

Note

This means that VK_PERF_HINT_TYPE_FREQUENCY_MIN_QCOM only takes effect if all of the device’s other active queues running on the host also have the VK_PERF_HINT_TYPE_FREQUENCY_MIN_QCOM hint applied.

If any queue is active that never had a performance hint applied and therefore is in the VK_PERF_HINT_TYPE_DEFAULT_QCOM state, it will supersede in setting the constraints over VK_PERF_HINT_TYPE_FREQUENCY_MIN_QCOM. This is necessary to avoid negatively impacting performance for normal queues while a low power queue is active.

Valid Usage
Valid Usage (Implicit)

See Also

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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0