vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM(3)

# vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM(3) Manual Page

## Name

vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM - Query the data processing engines and the operations they support for a given queue family of a physical device

## C Specification

To query the data graph processing engines and operations they support for a specific queue family of a physical device, call:

    // Provided by VK_ARM_data_graph
    VkResult vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM(
        VkPhysicalDevice                            physicalDevice,
        uint32_t                                    queueFamilyIndex,
        uint32_t*                                   pQueueFamilyDataGraphPropertyCount,
        VkQueueFamilyDataGraphPropertiesARM*        pQueueFamilyDataGraphProperties);

## Parameters

- `physicalDevice` is the physical device to query.

- `queueFamilyIndex` is the index of the queue family being queried.

- `pQueueFamilyDataGraphPropertyCount` is a pointer to an integer related to the number of properties available or queried.

- `pQueueFamilyDataGraphProperties` is either `NULL` or a pointer to an array of VkQueueFamilyDataGraphPropertiesARM structures.

## Description

If `pQueueFamilyDataGraphProperties` is `NULL`, then the number of properties available is returned in `pQueueFamilyDataGraphPropertyCount`. Otherwise, `pQueueFamilyDataGraphPropertyCount` must point to a variable set by the application to the number of elements in the `pQueueFamilyDataGraphProperties` array, and on return the variable is overwritten with the number of structures actually written to `pQueueFamilyDataGraphProperties`. If `pQueueFamilyDataGraphPropertyCount` is less than the number of properties available, at most `pQueueFamilyDataGraphPropertyCount` structures will be written, and VK_INCOMPLETE will be returned instead of VK_SUCCESS, to indicate that not all the available properties were returned.

If the dataGraphModel feature is supported, the implementation must return at least one property with engine type VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_NEURAL_QCOM or VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_COMPUTE_QCOM.

Valid Usage (Implicit)

- VUID-vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM-physicalDevice-parameter
  `physicalDevice` must be a valid VkPhysicalDevice handle

- VUID-vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM-pQueueFamilyDataGraphPropertyCount-parameter
  `pQueueFamilyDataGraphPropertyCount` must be a valid pointer to a `uint32_t` value

- VUID-vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM-pQueueFamilyDataGraphProperties-parameter
  If the value referenced by `pQueueFamilyDataGraphPropertyCount` is not `0`, and `pQueueFamilyDataGraphProperties` is not `NULL`, `pQueueFamilyDataGraphProperties` must be a valid pointer to an array of `pQueueFamilyDataGraphPropertyCount` VkQueueFamilyDataGraphPropertiesARM structures

Return Codes

On success, this command returns

  - VK_INCOMPLETE

  - VK_SUCCESS

On failure, this command returns

  - VK_ERROR_OUT_OF_DEVICE_MEMORY

  - VK_ERROR_OUT_OF_HOST_MEMORY

  - VK_ERROR_UNKNOWN

  - VK_ERROR_VALIDATION_FAILED

## See Also

VK_ARM_data_graph, VkPhysicalDevice, VkQueueFamilyDataGraphPropertiesARM

## 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

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0