VkPerfHintInfoQCOM
The VkPerfHintInfoQCOM structure is defined as:
typedef struct VkPerfHintInfoQCOM {
VkStructureType sType;
void* pNext;
VkPerfHintTypeQCOM type;
uint32_t scale;
} VkPerfHintInfoQCOM;
pub struct PerfHintInfoQCOM {
s_type: vk::StructureType,
p_next: *mut c_void, // Pointer to next structure
type: vk::PerfHintTypeQCOM,
scale: u32,
}
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.typeis a VkPerfHintTypeQCOM value indicating the type of performance hint to apply.scaleis a normalized fixed-point scale factor.
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:
VK_PERF_HINT_TYPE_FREQUENCY_MAX_QCOMVK_PERF_HINT_TYPE_FREQUENCY_SCALED_QCOMandscaleequal to100VK_PERF_HINT_TYPE_FREQUENCY_SCALED_QCOMandscaleequal to99VK_PERF_HINT_TYPE_FREQUENCY_SCALED_QCOMandscaleequal to98- …
VK_PERF_HINT_TYPE_FREQUENCY_SCALED_QCOMandscaleequal to0VK_PERF_HINT_TYPE_DEFAULT_QCOMVK_PERF_HINT_TYPE_FREQUENCY_MIN_QCOM
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
VUID-VkPerfHintInfoQCOM-type-12389
If type is not VK_PERF_HINT_TYPE_FREQUENCY_SCALED_QCOM,
scale must equal 0
VUID-VkPerfHintInfoQCOM-scale-12390
scale must be less than or equal to 100
Valid Usage (Implicit)
VUID-VkPerfHintInfoQCOM-sType-sType
sType must be VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM
VUID-VkPerfHintInfoQCOM-pNext-pNext
pNext must be NULL
VUID-VkPerfHintInfoQCOM-type-parameter
type must be a valid VkPerfHintTypeQCOM value