Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class INTELPerformanceQuery

extends Object
Class Inheritance
Imports
java.nio.*, org.lwjgl.system.*

This extension allows an application to capture performance data to be interpreted by a external application or library.

Such a library is available at : https://github.com/intel/metrics-discovery

Performance analysis tools such as Graphics Performance Analyzers make use of this extension and the metrics-discovery library to present the data in a human readable way.

Example Code

// A previously created device
VkDevice device;

// A queue derived from the device
VkQueue queue;

VkInitializePerformanceApiInfoINTEL performanceApiInfoIntel = {
  VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL,
  NULL,
  NULL
};

vkInitializePerformanceApiINTEL(
  device,
  &performanceApiInfoIntel);

VkQueryPoolPerformanceQueryCreateInfoINTEL queryPoolIntel = {
  VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL,
  NULL,
  VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL,
};

VkQueryPoolCreateInfo queryPoolCreateInfo = {
  VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
  &queryPoolIntel,
  0,
  VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL,
  1,
  0
};

VkQueryPool queryPool;

VkResult result = vkCreateQueryPool(
  device,
  &queryPoolCreateInfo,
  NULL,
  &queryPool);

assert(VK_SUCCESS == result);

// A command buffer we want to record counters on
VkCommandBuffer commandBuffer;

VkCommandBufferBeginInfo commandBufferBeginInfo = {
  VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
  NULL,
  VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,
  NULL
};

result = vkBeginCommandBuffer(commandBuffer, &commandBufferBeginInfo);

assert(VK_SUCCESS == result);

vkCmdResetQueryPool(
  commandBuffer,
  queryPool,
  0,
  1);

vkCmdBeginQuery(
  commandBuffer,
  queryPool,
  0,
  0);

// Perform the commands you want to get performance information on
// ...

// Perform a barrier to ensure all previous commands were complete before
// ending the query
vkCmdPipelineBarrier(commandBuffer,
  VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
  VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
  0,
  0,
  NULL,
  0,
  NULL,
  0,
  NULL);

vkCmdEndQuery(
  commandBuffer,
  queryPool,
  0);

result = vkEndCommandBuffer(commandBuffer);

assert(VK_SUCCESS == result);

VkPerformanceConfigurationAcquireInfoINTEL performanceConfigurationAcquireInfo = {
  VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
  NULL,
  VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL
};

VkPerformanceConfigurationINTEL performanceConfigurationIntel;

result = vkAcquirePerformanceConfigurationINTEL(
  device,
  &performanceConfigurationAcquireInfo,
  &performanceConfigurationIntel);

vkQueueSetPerformanceConfigurationINTEL(queue, performanceConfigurationIntel);

assert(VK_SUCCESS == result);

// Submit the command buffer and wait for its completion
// ...

result = vkReleasePerformanceConfigurationINTEL(
  device,
  performanceConfigurationIntel);

assert(VK_SUCCESS == result);

// Get the report size from metrics-discovery's QueryReportSize

result = vkGetQueryPoolResults(
  device,
  queryPool,
  0, 1, QueryReportSize,
  data, QueryReportSize, 0);

assert(VK_SUCCESS == result);

// The data can then be passed back to metrics-discovery from which
// human readable values can be queried.
VK_INTEL_performance_query
Name String
VK_INTEL_performance_query
Extension Type
Device extension
Registered Extension Number
211
Revision
2
Special Use
Contact
Other Extension Metadata
Last Modified Date
2018-05-16
IP Status
No known IP claims.
Contributors
  • Lionel Landwerlin, Intel
  • Piotr Maciejewski, Intel

Field Summary

Modifier and TypeField and Description
public static final String
public static final int
VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION

The extension specification version.

public static final int
public static final int
VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL

VkPerformanceConfigurationTypeINTEL - Type of performance configuration See Also

VkPerformanceConfigurationAcquireInfoINTEL

public static final int
VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL

VkPerformanceOverrideTypeINTEL - Performance override type Description

public static final int
VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL

VkPerformanceOverrideTypeINTEL - Performance override type Description

public static final int
VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL

VkPerformanceParameterTypeINTEL - Parameters that can be queried Description

public static final int
VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL

VkPerformanceParameterTypeINTEL - Parameters that can be queried Description

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL

VkQueryPoolSamplingModeINTEL - Enum specifying how performance queries should be captured Description

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static int
nvkAcquirePerformanceConfigurationINTEL(VkDevice device, long pAcquireInfo, long pConfiguration)

Unsafe version of: AcquirePerformanceConfigurationINTEL

public static int
nvkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, long pMarkerInfo)

Unsafe version of: CmdSetPerformanceMarkerINTEL

public static int
nvkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, long pOverrideInfo)

Unsafe version of: CmdSetPerformanceOverrideINTEL

public static int
public static int
nvkGetPerformanceParameterINTEL(VkDevice device, int parameter, long pValue)

Unsafe version of: GetPerformanceParameterINTEL

public static int
nvkInitializePerformanceApiINTEL(VkDevice device, long pInitializeInfo)

Unsafe version of: InitializePerformanceApiINTEL

public static int
vkAcquirePerformanceConfigurationINTEL(VkDevice
the logical device that the performance query commands will be submitted to.
device
,
VkPerformanceConfigurationAcquireInfoINTEL
a pointer to a VkPerformanceConfigurationAcquireInfoINTEL structure, specifying the performance configuration to acquire.
pAcquireInfo
,
LongBuffer
a pointer to a VkPerformanceConfigurationINTEL handle in which the resulting configuration object is returned.
pConfiguration
)

Acquire the performance query capability.

public static int
public static int
public static int
vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer
the command buffer where the override takes place.
commandBuffer
,
VkPerformanceOverrideInfoINTEL
a pointer to a VkPerformanceOverrideInfoINTEL structure selecting the parameter to override.
pOverrideInfo
)

Performance override settings.

public static int
public static int
vkGetPerformanceParameterINTEL(VkDevice
the logical device to query.
device
,
int
the parameter to query.
parameter
,
VkPerformanceValueINTEL
a pointer to a VkPerformanceValueINTEL structure in which the type and value of the parameter are returned.
pValue
)

Query performance capabilities of the device.

public static int
vkInitializePerformanceApiINTEL(VkDevice
the logical device used for the queries.
device
,
VkInitializePerformanceApiInfoINTEL
a pointer to a VkInitializePerformanceApiInfoINTEL structure specifying initialization parameters.
pInitializeInfo
)

Initialize a device for performance queries.

public static int
vkQueueSetPerformanceConfigurationINTEL(VkQueue
the queue on which the configuration will be used.
queue
,
long
the configuration to use.
configuration
)

Set a performance query.

public static int
vkReleasePerformanceConfigurationINTEL(VkDevice
the device associated to the configuration object to release.
device
,
long
the configuration object to release.
configuration
)

Release a configuration to capture performance data.

public static void
vkUninitializePerformanceApiINTEL(VkDevice
the logical device used for the queries.
device
)

Uninitialize a device for performance queries.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAMEback to summary
public static final String VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME

The extension name.

VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSIONback to summary
public static final int VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION

The extension specification version.

VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTELback to summary
public static final int VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL

Extends VkObjectType.

VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTELback to summary
public static final int VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL

VkPerformanceConfigurationTypeINTEL - Type of performance configuration

See Also

VkPerformanceConfigurationAcquireInfoINTEL

VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTELback to summary
public static final int VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL

VkPerformanceOverrideTypeINTEL - Performance override type

Description
See Also

VkPerformanceOverrideInfoINTEL

VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTELback to summary
public static final int VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL

VkPerformanceOverrideTypeINTEL - Performance override type

Description
See Also

VkPerformanceOverrideInfoINTEL

VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTELback to summary
public static final int VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL

VkPerformanceParameterTypeINTEL - Parameters that can be queried

Description
See Also

GetPerformanceParameterINTEL

VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTELback to summary
public static final int VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL

VkPerformanceParameterTypeINTEL - Parameters that can be queried

Description
See Also

GetPerformanceParameterINTEL

VK_PERFORMANCE_VALUE_TYPE_BOOL_INTELback to summary
public static final int VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL

VkPerformanceValueTypeINTEL - Type of the parameters that can be queried

See Also

VkPerformanceValueINTEL

Enum values:
VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTELback to summary
public static final int VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL

VkPerformanceValueTypeINTEL - Type of the parameters that can be queried

See Also

VkPerformanceValueINTEL

Enum values:
VK_PERFORMANCE_VALUE_TYPE_STRING_INTELback to summary
public static final int VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL

VkPerformanceValueTypeINTEL - Type of the parameters that can be queried

See Also

VkPerformanceValueINTEL

Enum values:
VK_PERFORMANCE_VALUE_TYPE_UINT32_INTELback to summary
public static final int VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL

VkPerformanceValueTypeINTEL - Type of the parameters that can be queried

See Also

VkPerformanceValueINTEL

Enum values:
VK_PERFORMANCE_VALUE_TYPE_UINT64_INTELback to summary
public static final int VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL

VkPerformanceValueTypeINTEL - Type of the parameters that can be queried

See Also

VkPerformanceValueINTEL

Enum values:
VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTELback to summary
public static final int VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL

VkQueryPoolSamplingModeINTEL - Enum specifying how performance queries should be captured

Description
See Also

VkQueryPoolPerformanceQueryCreateInfoINTEL

VK_QUERY_TYPE_PERFORMANCE_QUERY_INTELback to summary
public static final int VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL

Extends VkQueryType.

VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTELback to summary
public static final int VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTELback to summary
public static final int VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTELback to summary
public static final int VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTELback to summary
public static final int VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTELback to summary
public static final int VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTELback to summary
public static final int VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTELback to summary
public static final int VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL

Extends VkStructureType.

Enum values:

Constructor Detail

INTELPerformanceQueryback to summary
protected INTELPerformanceQuery()

Method Detail

nvkAcquirePerformanceConfigurationINTELback to summary
public static int nvkAcquirePerformanceConfigurationINTEL(VkDevice device, long pAcquireInfo, long pConfiguration)

Unsafe version of: AcquirePerformanceConfigurationINTEL

nvkCmdSetPerformanceMarkerINTELback to summary
public static int nvkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, long pMarkerInfo)

Unsafe version of: CmdSetPerformanceMarkerINTEL

nvkCmdSetPerformanceOverrideINTELback to summary
public static int nvkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, long pOverrideInfo)

Unsafe version of: CmdSetPerformanceOverrideINTEL

nvkCmdSetPerformanceStreamMarkerINTELback to summary
public static int nvkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, long pMarkerInfo)

Unsafe version of: CmdSetPerformanceStreamMarkerINTEL

nvkGetPerformanceParameterINTELback to summary
public static int nvkGetPerformanceParameterINTEL(VkDevice device, int parameter, long pValue)

Unsafe version of: GetPerformanceParameterINTEL

nvkInitializePerformanceApiINTELback to summary
public static int nvkInitializePerformanceApiINTEL(VkDevice device, long pInitializeInfo)

Unsafe version of: InitializePerformanceApiINTEL

vkAcquirePerformanceConfigurationINTELback to summary
public static int vkAcquirePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationAcquireInfoINTEL pAcquireInfo, LongBuffer pConfiguration)

Acquire the performance query capability.

C Specification

To acquire a device performance configuration, call:


VkResult vkAcquirePerformanceConfigurationINTEL(
    VkDevice                                    device,
    const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
    VkPerformanceConfigurationINTEL*            pConfiguration);
Valid Usage (Implicit)
  • device must be a valid VkDevice handle
  • pAcquireInfo must be a valid pointer to a valid VkPerformanceConfigurationAcquireInfoINTEL structure
  • pConfiguration must be a valid pointer to a VkPerformanceConfigurationINTEL handle
Return Codes
On success, this command returns
On failure, this command returns
See Also

VkPerformanceConfigurationAcquireInfoINTEL

Parameters
device:VkDevice

the logical device that the performance query commands will be submitted to.

pAcquireInfo:VkPerformanceConfigurationAcquireInfoINTEL

a pointer to a VkPerformanceConfigurationAcquireInfoINTEL structure, specifying the performance configuration to acquire.

pConfiguration:LongBuffer

a pointer to a VkPerformanceConfigurationINTEL handle in which the resulting configuration object is returned.

Annotations
@NativeType:VkResult
vkAcquirePerformanceConfigurationINTELback to summary
public static int vkAcquirePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationAcquireInfoINTEL pAcquireInfo, long[] pConfiguration)

Array version of: AcquirePerformanceConfigurationINTEL

Annotations
@NativeType:VkResult
vkCmdSetPerformanceMarkerINTELback to summary
public static int vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, VkPerformanceMarkerInfoINTEL pMarkerInfo)

Markers.

C Specification

To help associate query results with a particular point at which an application emitted commands, markers can be set into the command buffers with the call:


VkResult vkCmdSetPerformanceMarkerINTEL(
    VkCommandBuffer                             commandBuffer,
    const VkPerformanceMarkerInfoINTEL*         pMarkerInfo);
Valid Usage (Implicit)
  • commandBuffer must be a valid VkCommandBuffer handle
  • pMarkerInfo must be a valid pointer to a valid VkPerformanceMarkerInfoINTEL structure
  • commandBuffer must be in the recording state
  • The VkCommandPool that commandBuffer was allocated from must support graphics, compute, or transfer operations
  • This command must only be called outside of a video coding scope
Host Synchronization
  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized
Command Properties
Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryBothOutsideGraphics Compute TransferAction State
Return Codes
On success, this command returns
On failure, this command returns
See Also

VkPerformanceMarkerInfoINTEL

Annotations
@NativeType:VkResult
vkCmdSetPerformanceOverrideINTELback to summary
public static int vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, VkPerformanceOverrideInfoINTEL pOverrideInfo)

Performance override settings.

C Specification

Some applications might want measure the effect of a set of commands with a different settings. It is possible to override a particular settings using :


VkResult vkCmdSetPerformanceOverrideINTEL(
    VkCommandBuffer                             commandBuffer,
    const VkPerformanceOverrideInfoINTEL*       pOverrideInfo);
Valid Usage
  • pOverrideInfo must not be used with a VkPerformanceOverrideTypeINTEL that is not reported available by vkGetPerformanceParameterINTEL
Valid Usage (Implicit)
  • commandBuffer must be a valid VkCommandBuffer handle
  • pOverrideInfo must be a valid pointer to a valid VkPerformanceOverrideInfoINTEL structure
  • commandBuffer must be in the recording state
  • The VkCommandPool that commandBuffer was allocated from must support graphics, compute, or transfer operations
  • This command must only be called outside of a video coding scope
Host Synchronization
  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized
Command Properties
Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryBothOutsideGraphics Compute TransferState
Return Codes
On success, this command returns
On failure, this command returns
See Also

VkPerformanceOverrideInfoINTEL

Parameters
commandBuffer:VkCommandBuffer

the command buffer where the override takes place.

pOverrideInfo:VkPerformanceOverrideInfoINTEL

a pointer to a VkPerformanceOverrideInfoINTEL structure selecting the parameter to override.

Annotations
@NativeType:VkResult
vkCmdSetPerformanceStreamMarkerINTELback to summary
public static int vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, VkPerformanceStreamMarkerInfoINTEL pMarkerInfo)

Markers.

C Specification

When monitoring the behavior of an application within the dataset generated by the entire set of applications running on the system, it is useful to identify draw calls within a potentially huge amount of performance data. To do so, application can generate stream markers that will be used to trace back a particular draw call with a particular performance data item.


VkResult vkCmdSetPerformanceStreamMarkerINTEL(
    VkCommandBuffer                             commandBuffer,
    const VkPerformanceStreamMarkerInfoINTEL*   pMarkerInfo);
Valid Usage (Implicit)
  • commandBuffer must be a valid VkCommandBuffer handle
  • pMarkerInfo must be a valid pointer to a valid VkPerformanceStreamMarkerInfoINTEL structure
  • commandBuffer must be in the recording state
  • The VkCommandPool that commandBuffer was allocated from must support graphics, compute, or transfer operations
  • This command must only be called outside of a video coding scope
Host Synchronization
  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized
Command Properties
Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryBothOutsideGraphics Compute TransferAction State
Return Codes
On success, this command returns
On failure, this command returns
See Also

VkPerformanceStreamMarkerInfoINTEL

Annotations
@NativeType:VkResult
vkGetPerformanceParameterINTELback to summary
public static int vkGetPerformanceParameterINTEL(VkDevice device, int parameter, VkPerformanceValueINTEL pValue)

Query performance capabilities of the device.

C Specification

Some performance query features of a device can be discovered with the call:


VkResult vkGetPerformanceParameterINTEL(
    VkDevice                                    device,
    VkPerformanceParameterTypeINTEL             parameter,
    VkPerformanceValueINTEL*                    pValue);
Valid Usage (Implicit)
  • device must be a valid VkDevice handle
  • parameter must be a valid VkPerformanceParameterTypeINTEL value
  • pValue must be a valid pointer to a VkPerformanceValueINTEL structure
Return Codes
On success, this command returns
On failure, this command returns
See Also

VkPerformanceValueINTEL

Parameters
device:VkDevice

the logical device to query.

parameter:int

the parameter to query.

pValue:VkPerformanceValueINTEL

a pointer to a VkPerformanceValueINTEL structure in which the type and value of the parameter are returned.

Annotations
@NativeType:VkResult
vkInitializePerformanceApiINTELback to summary
public static int vkInitializePerformanceApiINTEL(VkDevice device, VkInitializePerformanceApiInfoINTEL pInitializeInfo)

Initialize a device for performance queries.

C Specification

Prior to creating a performance query pool, initialize the device for performance queries with the call:


VkResult vkInitializePerformanceApiINTEL(
    VkDevice                                    device,
    const VkInitializePerformanceApiInfoINTEL*  pInitializeInfo);
Valid Usage (Implicit)
Return Codes
On success, this command returns
On failure, this command returns
See Also

VkInitializePerformanceApiInfoINTEL

Parameters
device:VkDevice

the logical device used for the queries.

pInitializeInfo:VkInitializePerformanceApiInfoINTEL

a pointer to a VkInitializePerformanceApiInfoINTEL structure specifying initialization parameters.

Annotations
@NativeType:VkResult
vkQueueSetPerformanceConfigurationINTELback to summary
public static int vkQueueSetPerformanceConfigurationINTEL(VkQueue queue, long configuration)

Set a performance query.

C Specification

To set a performance configuration, call:


VkResult vkQueueSetPerformanceConfigurationINTEL(
    VkQueue                                     queue,
    VkPerformanceConfigurationINTEL             configuration);
Valid Usage (Implicit)
  • queue must be a valid VkQueue handle
  • configuration must be a valid VkPerformanceConfigurationINTEL handle
  • Both of configuration, and queue must have been created, allocated, or retrieved from the same VkDevice
Command Properties
Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
---Any-
Return Codes
On success, this command returns
On failure, this command returns
Parameters
queue:VkQueue

the queue on which the configuration will be used.

configuration:long

the configuration to use.

Annotations
@NativeType:VkResult
vkReleasePerformanceConfigurationINTELback to summary
public static int vkReleasePerformanceConfigurationINTEL(VkDevice device, long configuration)

Release a configuration to capture performance data.

C Specification

To release a device performance configuration, call:


VkResult vkReleasePerformanceConfigurationINTEL(
    VkDevice                                    device,
    VkPerformanceConfigurationINTEL             configuration);
Valid Usage
  • configuration must not be released before all command buffers submitted while the configuration was set are in pending state
Valid Usage (Implicit)
  • device must be a valid VkDevice handle
  • If configuration is not NULL_HANDLE, configuration must be a valid VkPerformanceConfigurationINTEL handle
  • If configuration is a valid handle, it must have been created, allocated, or retrieved from device
Host Synchronization
  • Host access to configuration must be externally synchronized
Return Codes
On success, this command returns
On failure, this command returns
Parameters
device:VkDevice

the device associated to the configuration object to release.

configuration:long

the configuration object to release.

Annotations
@NativeType:VkResult
vkUninitializePerformanceApiINTELback to summary
public static void vkUninitializePerformanceApiINTEL(VkDevice device)

Uninitialize a device for performance queries.

C Specification

Once performance query operations have completed, uninitialize the device for performance queries with the call:


void vkUninitializePerformanceApiINTEL(
    VkDevice                                    device);
Valid Usage (Implicit)
  • device must be a valid VkDevice handle
Parameters
device:VkDevice

the logical device used for the queries.