Class KHRPerformanceQuery
VK_KHR_performance_query extension adds a mechanism to allow querying of performance counters for use in applications and by profiling tools.
Each queue family may expose counters that can be enabled on a queue of that family. We extend VkQueryType to add a new query type for performance queries, and chain a structure on VkQueryPoolCreateInfo to specify the performance queries to enable.
Examples
The following example shows how to find what performance counters a queue family supports, setup a query pool to record these performance counters, how to add the query pool to the command buffer to record information, and how to get the results from the query pool.
// A previously created physical device
VkPhysicalDevice physicalDevice;
// One of the queue families our device supports
uint32_t queueFamilyIndex;
uint32_t counterCount;
// Get the count of counters supported
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
physicalDevice,
queueFamilyIndex,
&counterCount,
NULL,
NULL);
VkPerformanceCounterKHR* counters =
malloc(sizeof(VkPerformanceCounterKHR) * counterCount);
VkPerformanceCounterDescriptionKHR* counterDescriptions =
malloc(sizeof(VkPerformanceCounterDescriptionKHR) * counterCount);
// Get the counters supported
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
physicalDevice,
queueFamilyIndex,
&counterCount,
counters,
counterDescriptions);
// Try to enable the first 8 counters
uint32_t enabledCounters[8];
const uint32_t enabledCounterCount = min(counterCount, 8));
for (uint32_t i = 0; i < enabledCounterCount; i++) {
enabledCounters[i] = i;
}
// A previously created device that had the performanceCounterQueryPools feature
// set to VK_TRUE
VkDevice device;
VkQueryPoolPerformanceCreateInfoKHR performanceQueryCreateInfo = {
.sType = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
.pNext = NULL,
// Specify the queue family that this performance query is performed on
.queueFamilyIndex = queueFamilyIndex,
// The number of counters to enable
.counterIndexCount = enabledCounterCount,
// The array of indices of counters to enable
.pCounterIndices = enabledCounters
};
// Get the number of passes our counters will require.
uint32_t numPasses;
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
physicalDevice,
&performanceQueryCreateInfo,
&numPasses);
VkQueryPoolCreateInfo queryPoolCreateInfo = {
.sType = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
.pNext = &performanceQueryCreateInfo,
.flags = 0,
// Using our new query type here
.queryType = VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR,
.queryCount = 1,
.pipelineStatistics = 0
};
VkQueryPool queryPool;
VkResult result = vkCreateQueryPool(
device,
&queryPoolCreateInfo,
NULL,
&queryPool);
assert(VK_SUCCESS == result);
// A queue from queueFamilyIndex
VkQueue queue;
// A command buffer we want to record counters on
VkCommandBuffer commandBuffer;
VkCommandBufferBeginInfo commandBufferBeginInfo = {
.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
.pNext = NULL,
.flags = 0,
.pInheritanceInfo = NULL
};
VkAcquireProfilingLockInfoKHR lockInfo = {
.sType = VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR,
.pNext = NULL,
.flags = 0,
.timeout = UINT64_MAX // Wait forever for the lock
};
// Acquire the profiling lock before we record command buffers
// that will use performance queries
result = vkAcquireProfilingLockKHR(device, &lockInfo);
assert(VK_SUCCESS == result);
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);
for (uint32_t counterPass = 0; counterPass < numPasses; counterPass++) {
VkPerformanceQuerySubmitInfoKHR performanceQuerySubmitInfo = {
VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
NULL,
counterPass
};
// Submit the command buffer and wait for its completion
// ...
}
// Release the profiling lock after the command buffer is no longer in the
// pending state.
vkReleaseProfilingLockKHR(device);
result = vkResetCommandBuffer(commandBuffer, 0);
assert(VK_SUCCESS == result);
// Create an array to hold the results of all counters
VkPerformanceCounterResultKHR* recordedCounters = malloc(
sizeof(VkPerformanceCounterResultKHR) * enabledCounterCount);
result = vkGetQueryPoolResults(
device,
queryPool,
0,
1,
sizeof(VkPerformanceCounterResultKHR) * enabledCounterCount,
recordedCounters,
sizeof(VkPerformanceCounterResultKHR) * enabledCounterCount,
NULL);
// recordedCounters is filled with our counters, we will look at one for posterity
switch (counters[0].storage) {
case VK_PERFORMANCE_COUNTER_STORAGE_INT32:
// use recordCounters[0].int32 to get at the counter result!
break;
case VK_PERFORMANCE_COUNTER_STORAGE_INT64:
// use recordCounters[0].int64 to get at the counter result!
break;
case VK_PERFORMANCE_COUNTER_STORAGE_UINT32:
// use recordCounters[0].uint32 to get at the counter result!
break;
case VK_PERFORMANCE_COUNTER_STORAGE_UINT64:
// use recordCounters[0].uint64 to get at the counter result!
break;
case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32:
// use recordCounters[0].float32 to get at the counter result!
break;
case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64:
// use recordCounters[0].float64 to get at the counter result!
break;
}
- Name String
VK_KHR_performance_query- Extension Type
- Device extension
- Registered Extension Number
- 117
- Revision
- 1
- Extension and Version Dependencies
VK_KHR_get_physical_device_properties2or Version 1.1- Special Use
- Contact
- Alon Or-bach alonorbach
Other Extension Metadata
- Last Modified Date
- 2019-10-08
- IP Status
- No known IP claims.
- Contributors
- Jesse Barker, Unity Technologies
- Kenneth Benzie, Codeplay
- Jan-Harald Fredriksen, ARM
- Jeff Leger, Qualcomm
- Jesse Hall, Google
- Tobias Hector, AMD
- Neil Henning, Codeplay
- Baldur Karlsson
- Lionel Landwerlin, Intel
- Peter Lohrmann, AMD
- Alon Or-bach, Samsung
- Daniel Rakos, AMD
- Niklas Smedberg, Unity Technologies
- Igor Ostrowski, Intel
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe extension name.static final intThe extension specification version.static final intVkPerformanceCounterDescriptionFlagBitsKHR - Bitmask specifying usage behavior for a counterstatic final intVkPerformanceCounterDescriptionFlagBitsKHR - Bitmask specifying usage behavior for a counterstatic final intVkPerformanceCounterDescriptionFlagBitsKHR - Bitmask specifying usage behavior for a counterstatic final intVkPerformanceCounterDescriptionFlagBitsKHR - Bitmask specifying usage behavior for a counterstatic final intVkPerformanceCounterScopeKHR - Supported counter scope typesstatic final intVkPerformanceCounterScopeKHR - Supported counter scope typesstatic final intVkPerformanceCounterScopeKHR - Supported counter scope typesstatic final intVkPerformanceCounterStorageKHR - Supported counter storage typesstatic final intVkPerformanceCounterStorageKHR - Supported counter storage typesstatic final intVkPerformanceCounterStorageKHR - Supported counter storage typesstatic final intVkPerformanceCounterStorageKHR - Supported counter storage typesstatic final intVkPerformanceCounterStorageKHR - Supported counter storage typesstatic final intVkPerformanceCounterStorageKHR - Supported counter storage typesstatic final intVkPerformanceCounterUnitKHR - Supported counter unit typesstatic final intVkPerformanceCounterUnitKHR - Supported counter unit typesstatic final intVkPerformanceCounterUnitKHR - Supported counter unit typesstatic final intVkPerformanceCounterUnitKHR - Supported counter unit typesstatic final intVkPerformanceCounterUnitKHR - Supported counter unit typesstatic final intVkPerformanceCounterUnitKHR - Supported counter unit typesstatic final intVkPerformanceCounterUnitKHR - Supported counter unit typesstatic final intVkPerformanceCounterUnitKHR - Supported counter unit typesstatic final intVkPerformanceCounterUnitKHR - Supported counter unit typesstatic final intVkPerformanceCounterUnitKHR - Supported counter unit typesstatic final intVkPerformanceCounterUnitKHR - Supported counter unit typesstatic final intVkPerformanceCounterScopeKHR - Supported counter scope typesstatic final intVkPerformanceCounterScopeKHR - Supported counter scope typesstatic final intVkPerformanceCounterScopeKHR - Supported counter scope typesstatic final intExtendsVkQueryType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic intnvkAcquireProfilingLockKHR(org.lwjgl.vulkan.VkDevice device, long pInfo) Unsafe version of:AcquireProfilingLockKHRstatic intnvkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int queueFamilyIndex, long pCounterCount, long pCounters, long pCounterDescriptions) Unsafe version of:EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRstatic voidnvkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long pPerformanceQueryCreateInfo, long pNumPasses) Unsafe version of:GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHRstatic intvkAcquireProfilingLockKHR(org.lwjgl.vulkan.VkDevice device, VkAcquireProfilingLockInfoKHR pInfo) Acquires the profiling lock.static intvkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int queueFamilyIndex, int[] pCounterCount, @Nullable VkPerformanceCounterKHR.Buffer pCounters, @Nullable VkPerformanceCounterDescriptionKHR.Buffer pCounterDescriptions) Array version of:EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRstatic intvkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int queueFamilyIndex, IntBuffer pCounterCount, @Nullable VkPerformanceCounterKHR.Buffer pCounters, @Nullable VkPerformanceCounterDescriptionKHR.Buffer pCounterDescriptions) Reports properties of the performance query counters available on a queue family of a device.static voidvkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkQueryPoolPerformanceCreateInfoKHR pPerformanceQueryCreateInfo, int[] pNumPasses) Array version of:GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHRstatic voidvkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkQueryPoolPerformanceCreateInfoKHR pPerformanceQueryCreateInfo, IntBuffer pNumPasses) Reports the number of passes require for a performance query pool type.static voidvkReleaseProfilingLockKHR(org.lwjgl.vulkan.VkDevice device) Releases the profiling lock.
-
Field Details
-
VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION
public static final int VK_KHR_PERFORMANCE_QUERY_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME
The extension name.- See Also:
-
VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR
public static final int VK_QUERY_TYPE_PERFORMANCE_QUERY_KHRExtendsVkQueryType.- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHRExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHRSTRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHRSTRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHRSTRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR
- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHRExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHRSTRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHRSTRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHRSTRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR
- See Also:
-
VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR
public static final int VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHRExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHRSTRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHRSTRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHRSTRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR
- See Also:
-
VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR
public static final int VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHRExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHRSTRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHRSTRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHRSTRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR
- See Also:
-
VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR
public static final int VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHRExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHRSTRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHRSTRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHRSTRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR
- See Also:
-
VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR
public static final int VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHRExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHRSTRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHRSTRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHRSTRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR
- See Also:
-
VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR
public static final int VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHRExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHRSTRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHRSTRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHRSTRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_KHRSTRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR
- See Also:
-
VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR
public static final int VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHRVkPerformanceCounterUnitKHR - Supported counter unit typesDescription
PERFORMANCE_COUNTER_UNIT_GENERIC_KHR- the performance counter unit is a generic data point.PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR- the performance counter unit is a percentage (%).PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR- the performance counter unit is a value of nanoseconds (ns).PERFORMANCE_COUNTER_UNIT_BYTES_KHR- the performance counter unit is a value of bytes.PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR- the performance counter unit is a value of bytes/s.PERFORMANCE_COUNTER_UNIT_KELVIN_KHR- the performance counter unit is a temperature reported in Kelvin.PERFORMANCE_COUNTER_UNIT_WATTS_KHR- the performance counter unit is a value of watts (W).PERFORMANCE_COUNTER_UNIT_VOLTS_KHR- the performance counter unit is a value of volts (V).PERFORMANCE_COUNTER_UNIT_AMPS_KHR- the performance counter unit is a value of amps (A).PERFORMANCE_COUNTER_UNIT_HERTZ_KHR- the performance counter unit is a value of hertz (Hz).PERFORMANCE_COUNTER_UNIT_CYCLES_KHR- the performance counter unit is a value of cycles.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR
public static final int VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHRVkPerformanceCounterUnitKHR - Supported counter unit typesDescription
PERFORMANCE_COUNTER_UNIT_GENERIC_KHR- the performance counter unit is a generic data point.PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR- the performance counter unit is a percentage (%).PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR- the performance counter unit is a value of nanoseconds (ns).PERFORMANCE_COUNTER_UNIT_BYTES_KHR- the performance counter unit is a value of bytes.PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR- the performance counter unit is a value of bytes/s.PERFORMANCE_COUNTER_UNIT_KELVIN_KHR- the performance counter unit is a temperature reported in Kelvin.PERFORMANCE_COUNTER_UNIT_WATTS_KHR- the performance counter unit is a value of watts (W).PERFORMANCE_COUNTER_UNIT_VOLTS_KHR- the performance counter unit is a value of volts (V).PERFORMANCE_COUNTER_UNIT_AMPS_KHR- the performance counter unit is a value of amps (A).PERFORMANCE_COUNTER_UNIT_HERTZ_KHR- the performance counter unit is a value of hertz (Hz).PERFORMANCE_COUNTER_UNIT_CYCLES_KHR- the performance counter unit is a value of cycles.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR
public static final int VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHRVkPerformanceCounterUnitKHR - Supported counter unit typesDescription
PERFORMANCE_COUNTER_UNIT_GENERIC_KHR- the performance counter unit is a generic data point.PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR- the performance counter unit is a percentage (%).PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR- the performance counter unit is a value of nanoseconds (ns).PERFORMANCE_COUNTER_UNIT_BYTES_KHR- the performance counter unit is a value of bytes.PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR- the performance counter unit is a value of bytes/s.PERFORMANCE_COUNTER_UNIT_KELVIN_KHR- the performance counter unit is a temperature reported in Kelvin.PERFORMANCE_COUNTER_UNIT_WATTS_KHR- the performance counter unit is a value of watts (W).PERFORMANCE_COUNTER_UNIT_VOLTS_KHR- the performance counter unit is a value of volts (V).PERFORMANCE_COUNTER_UNIT_AMPS_KHR- the performance counter unit is a value of amps (A).PERFORMANCE_COUNTER_UNIT_HERTZ_KHR- the performance counter unit is a value of hertz (Hz).PERFORMANCE_COUNTER_UNIT_CYCLES_KHR- the performance counter unit is a value of cycles.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR
public static final int VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHRVkPerformanceCounterUnitKHR - Supported counter unit typesDescription
PERFORMANCE_COUNTER_UNIT_GENERIC_KHR- the performance counter unit is a generic data point.PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR- the performance counter unit is a percentage (%).PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR- the performance counter unit is a value of nanoseconds (ns).PERFORMANCE_COUNTER_UNIT_BYTES_KHR- the performance counter unit is a value of bytes.PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR- the performance counter unit is a value of bytes/s.PERFORMANCE_COUNTER_UNIT_KELVIN_KHR- the performance counter unit is a temperature reported in Kelvin.PERFORMANCE_COUNTER_UNIT_WATTS_KHR- the performance counter unit is a value of watts (W).PERFORMANCE_COUNTER_UNIT_VOLTS_KHR- the performance counter unit is a value of volts (V).PERFORMANCE_COUNTER_UNIT_AMPS_KHR- the performance counter unit is a value of amps (A).PERFORMANCE_COUNTER_UNIT_HERTZ_KHR- the performance counter unit is a value of hertz (Hz).PERFORMANCE_COUNTER_UNIT_CYCLES_KHR- the performance counter unit is a value of cycles.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR
public static final int VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHRVkPerformanceCounterUnitKHR - Supported counter unit typesDescription
PERFORMANCE_COUNTER_UNIT_GENERIC_KHR- the performance counter unit is a generic data point.PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR- the performance counter unit is a percentage (%).PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR- the performance counter unit is a value of nanoseconds (ns).PERFORMANCE_COUNTER_UNIT_BYTES_KHR- the performance counter unit is a value of bytes.PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR- the performance counter unit is a value of bytes/s.PERFORMANCE_COUNTER_UNIT_KELVIN_KHR- the performance counter unit is a temperature reported in Kelvin.PERFORMANCE_COUNTER_UNIT_WATTS_KHR- the performance counter unit is a value of watts (W).PERFORMANCE_COUNTER_UNIT_VOLTS_KHR- the performance counter unit is a value of volts (V).PERFORMANCE_COUNTER_UNIT_AMPS_KHR- the performance counter unit is a value of amps (A).PERFORMANCE_COUNTER_UNIT_HERTZ_KHR- the performance counter unit is a value of hertz (Hz).PERFORMANCE_COUNTER_UNIT_CYCLES_KHR- the performance counter unit is a value of cycles.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR
public static final int VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHRVkPerformanceCounterUnitKHR - Supported counter unit typesDescription
PERFORMANCE_COUNTER_UNIT_GENERIC_KHR- the performance counter unit is a generic data point.PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR- the performance counter unit is a percentage (%).PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR- the performance counter unit is a value of nanoseconds (ns).PERFORMANCE_COUNTER_UNIT_BYTES_KHR- the performance counter unit is a value of bytes.PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR- the performance counter unit is a value of bytes/s.PERFORMANCE_COUNTER_UNIT_KELVIN_KHR- the performance counter unit is a temperature reported in Kelvin.PERFORMANCE_COUNTER_UNIT_WATTS_KHR- the performance counter unit is a value of watts (W).PERFORMANCE_COUNTER_UNIT_VOLTS_KHR- the performance counter unit is a value of volts (V).PERFORMANCE_COUNTER_UNIT_AMPS_KHR- the performance counter unit is a value of amps (A).PERFORMANCE_COUNTER_UNIT_HERTZ_KHR- the performance counter unit is a value of hertz (Hz).PERFORMANCE_COUNTER_UNIT_CYCLES_KHR- the performance counter unit is a value of cycles.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR
public static final int VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHRVkPerformanceCounterUnitKHR - Supported counter unit typesDescription
PERFORMANCE_COUNTER_UNIT_GENERIC_KHR- the performance counter unit is a generic data point.PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR- the performance counter unit is a percentage (%).PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR- the performance counter unit is a value of nanoseconds (ns).PERFORMANCE_COUNTER_UNIT_BYTES_KHR- the performance counter unit is a value of bytes.PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR- the performance counter unit is a value of bytes/s.PERFORMANCE_COUNTER_UNIT_KELVIN_KHR- the performance counter unit is a temperature reported in Kelvin.PERFORMANCE_COUNTER_UNIT_WATTS_KHR- the performance counter unit is a value of watts (W).PERFORMANCE_COUNTER_UNIT_VOLTS_KHR- the performance counter unit is a value of volts (V).PERFORMANCE_COUNTER_UNIT_AMPS_KHR- the performance counter unit is a value of amps (A).PERFORMANCE_COUNTER_UNIT_HERTZ_KHR- the performance counter unit is a value of hertz (Hz).PERFORMANCE_COUNTER_UNIT_CYCLES_KHR- the performance counter unit is a value of cycles.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR
public static final int VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHRVkPerformanceCounterUnitKHR - Supported counter unit typesDescription
PERFORMANCE_COUNTER_UNIT_GENERIC_KHR- the performance counter unit is a generic data point.PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR- the performance counter unit is a percentage (%).PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR- the performance counter unit is a value of nanoseconds (ns).PERFORMANCE_COUNTER_UNIT_BYTES_KHR- the performance counter unit is a value of bytes.PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR- the performance counter unit is a value of bytes/s.PERFORMANCE_COUNTER_UNIT_KELVIN_KHR- the performance counter unit is a temperature reported in Kelvin.PERFORMANCE_COUNTER_UNIT_WATTS_KHR- the performance counter unit is a value of watts (W).PERFORMANCE_COUNTER_UNIT_VOLTS_KHR- the performance counter unit is a value of volts (V).PERFORMANCE_COUNTER_UNIT_AMPS_KHR- the performance counter unit is a value of amps (A).PERFORMANCE_COUNTER_UNIT_HERTZ_KHR- the performance counter unit is a value of hertz (Hz).PERFORMANCE_COUNTER_UNIT_CYCLES_KHR- the performance counter unit is a value of cycles.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR
public static final int VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHRVkPerformanceCounterUnitKHR - Supported counter unit typesDescription
PERFORMANCE_COUNTER_UNIT_GENERIC_KHR- the performance counter unit is a generic data point.PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR- the performance counter unit is a percentage (%).PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR- the performance counter unit is a value of nanoseconds (ns).PERFORMANCE_COUNTER_UNIT_BYTES_KHR- the performance counter unit is a value of bytes.PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR- the performance counter unit is a value of bytes/s.PERFORMANCE_COUNTER_UNIT_KELVIN_KHR- the performance counter unit is a temperature reported in Kelvin.PERFORMANCE_COUNTER_UNIT_WATTS_KHR- the performance counter unit is a value of watts (W).PERFORMANCE_COUNTER_UNIT_VOLTS_KHR- the performance counter unit is a value of volts (V).PERFORMANCE_COUNTER_UNIT_AMPS_KHR- the performance counter unit is a value of amps (A).PERFORMANCE_COUNTER_UNIT_HERTZ_KHR- the performance counter unit is a value of hertz (Hz).PERFORMANCE_COUNTER_UNIT_CYCLES_KHR- the performance counter unit is a value of cycles.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR
public static final int VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHRVkPerformanceCounterUnitKHR - Supported counter unit typesDescription
PERFORMANCE_COUNTER_UNIT_GENERIC_KHR- the performance counter unit is a generic data point.PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR- the performance counter unit is a percentage (%).PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR- the performance counter unit is a value of nanoseconds (ns).PERFORMANCE_COUNTER_UNIT_BYTES_KHR- the performance counter unit is a value of bytes.PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR- the performance counter unit is a value of bytes/s.PERFORMANCE_COUNTER_UNIT_KELVIN_KHR- the performance counter unit is a temperature reported in Kelvin.PERFORMANCE_COUNTER_UNIT_WATTS_KHR- the performance counter unit is a value of watts (W).PERFORMANCE_COUNTER_UNIT_VOLTS_KHR- the performance counter unit is a value of volts (V).PERFORMANCE_COUNTER_UNIT_AMPS_KHR- the performance counter unit is a value of amps (A).PERFORMANCE_COUNTER_UNIT_HERTZ_KHR- the performance counter unit is a value of hertz (Hz).PERFORMANCE_COUNTER_UNIT_CYCLES_KHR- the performance counter unit is a value of cycles.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR
public static final int VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHRVkPerformanceCounterUnitKHR - Supported counter unit typesDescription
PERFORMANCE_COUNTER_UNIT_GENERIC_KHR- the performance counter unit is a generic data point.PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR- the performance counter unit is a percentage (%).PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR- the performance counter unit is a value of nanoseconds (ns).PERFORMANCE_COUNTER_UNIT_BYTES_KHR- the performance counter unit is a value of bytes.PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR- the performance counter unit is a value of bytes/s.PERFORMANCE_COUNTER_UNIT_KELVIN_KHR- the performance counter unit is a temperature reported in Kelvin.PERFORMANCE_COUNTER_UNIT_WATTS_KHR- the performance counter unit is a value of watts (W).PERFORMANCE_COUNTER_UNIT_VOLTS_KHR- the performance counter unit is a value of volts (V).PERFORMANCE_COUNTER_UNIT_AMPS_KHR- the performance counter unit is a value of amps (A).PERFORMANCE_COUNTER_UNIT_HERTZ_KHR- the performance counter unit is a value of hertz (Hz).PERFORMANCE_COUNTER_UNIT_CYCLES_KHR- the performance counter unit is a value of cycles.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR
public static final int VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHRVkPerformanceCounterScopeKHR - Supported counter scope typesDescription
PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR- the performance counter scope is a single complete command buffer.PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR- the performance counter scope is zero or more complete render passes. The performance query containing the performance counter must begin and end outside a render pass instance.PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR- the performance counter scope is zero or more commands.
See Also
Enum values:
- See Also:
-
VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR
public static final int VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHRVkPerformanceCounterScopeKHR - Supported counter scope typesDescription
PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR- the performance counter scope is a single complete command buffer.PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR- the performance counter scope is zero or more complete render passes. The performance query containing the performance counter must begin and end outside a render pass instance.PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR- the performance counter scope is zero or more commands.
See Also
Enum values:
- See Also:
-
VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR
public static final int VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHRVkPerformanceCounterScopeKHR - Supported counter scope typesDescription
PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR- the performance counter scope is a single complete command buffer.PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR- the performance counter scope is zero or more complete render passes. The performance query containing the performance counter must begin and end outside a render pass instance.PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR- the performance counter scope is zero or more commands.
See Also
Enum values:
- See Also:
-
VK_QUERY_SCOPE_COMMAND_BUFFER_KHR
public static final int VK_QUERY_SCOPE_COMMAND_BUFFER_KHRVkPerformanceCounterScopeKHR - Supported counter scope typesDescription
PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR- the performance counter scope is a single complete command buffer.PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR- the performance counter scope is zero or more complete render passes. The performance query containing the performance counter must begin and end outside a render pass instance.PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR- the performance counter scope is zero or more commands.
See Also
Enum values:
- See Also:
-
VK_QUERY_SCOPE_RENDER_PASS_KHR
public static final int VK_QUERY_SCOPE_RENDER_PASS_KHRVkPerformanceCounterScopeKHR - Supported counter scope typesDescription
PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR- the performance counter scope is a single complete command buffer.PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR- the performance counter scope is zero or more complete render passes. The performance query containing the performance counter must begin and end outside a render pass instance.PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR- the performance counter scope is zero or more commands.
See Also
Enum values:
- See Also:
-
VK_QUERY_SCOPE_COMMAND_KHR
public static final int VK_QUERY_SCOPE_COMMAND_KHRVkPerformanceCounterScopeKHR - Supported counter scope typesDescription
PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR- the performance counter scope is a single complete command buffer.PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR- the performance counter scope is zero or more complete render passes. The performance query containing the performance counter must begin and end outside a render pass instance.PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR- the performance counter scope is zero or more commands.
See Also
Enum values:
- See Also:
-
VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR
public static final int VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHRVkPerformanceCounterStorageKHR - Supported counter storage typesDescription
PERFORMANCE_COUNTER_STORAGE_INT32_KHR- the performance counter storage is a 32-bit signed integer.PERFORMANCE_COUNTER_STORAGE_INT64_KHR- the performance counter storage is a 64-bit signed integer.PERFORMANCE_COUNTER_STORAGE_UINT32_KHR- the performance counter storage is a 32-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_UINT64_KHR- the performance counter storage is a 64-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR- the performance counter storage is a 32-bit floating-point.PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR- the performance counter storage is a 64-bit floating-point.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR
public static final int VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHRVkPerformanceCounterStorageKHR - Supported counter storage typesDescription
PERFORMANCE_COUNTER_STORAGE_INT32_KHR- the performance counter storage is a 32-bit signed integer.PERFORMANCE_COUNTER_STORAGE_INT64_KHR- the performance counter storage is a 64-bit signed integer.PERFORMANCE_COUNTER_STORAGE_UINT32_KHR- the performance counter storage is a 32-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_UINT64_KHR- the performance counter storage is a 64-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR- the performance counter storage is a 32-bit floating-point.PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR- the performance counter storage is a 64-bit floating-point.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR
public static final int VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHRVkPerformanceCounterStorageKHR - Supported counter storage typesDescription
PERFORMANCE_COUNTER_STORAGE_INT32_KHR- the performance counter storage is a 32-bit signed integer.PERFORMANCE_COUNTER_STORAGE_INT64_KHR- the performance counter storage is a 64-bit signed integer.PERFORMANCE_COUNTER_STORAGE_UINT32_KHR- the performance counter storage is a 32-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_UINT64_KHR- the performance counter storage is a 64-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR- the performance counter storage is a 32-bit floating-point.PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR- the performance counter storage is a 64-bit floating-point.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR
public static final int VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHRVkPerformanceCounterStorageKHR - Supported counter storage typesDescription
PERFORMANCE_COUNTER_STORAGE_INT32_KHR- the performance counter storage is a 32-bit signed integer.PERFORMANCE_COUNTER_STORAGE_INT64_KHR- the performance counter storage is a 64-bit signed integer.PERFORMANCE_COUNTER_STORAGE_UINT32_KHR- the performance counter storage is a 32-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_UINT64_KHR- the performance counter storage is a 64-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR- the performance counter storage is a 32-bit floating-point.PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR- the performance counter storage is a 64-bit floating-point.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR
public static final int VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHRVkPerformanceCounterStorageKHR - Supported counter storage typesDescription
PERFORMANCE_COUNTER_STORAGE_INT32_KHR- the performance counter storage is a 32-bit signed integer.PERFORMANCE_COUNTER_STORAGE_INT64_KHR- the performance counter storage is a 64-bit signed integer.PERFORMANCE_COUNTER_STORAGE_UINT32_KHR- the performance counter storage is a 32-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_UINT64_KHR- the performance counter storage is a 64-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR- the performance counter storage is a 32-bit floating-point.PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR- the performance counter storage is a 64-bit floating-point.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR
public static final int VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHRVkPerformanceCounterStorageKHR - Supported counter storage typesDescription
PERFORMANCE_COUNTER_STORAGE_INT32_KHR- the performance counter storage is a 32-bit signed integer.PERFORMANCE_COUNTER_STORAGE_INT64_KHR- the performance counter storage is a 64-bit signed integer.PERFORMANCE_COUNTER_STORAGE_UINT32_KHR- the performance counter storage is a 32-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_UINT64_KHR- the performance counter storage is a 64-bit unsigned integer.PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR- the performance counter storage is a 32-bit floating-point.PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR- the performance counter storage is a 64-bit floating-point.
See Also
- See Also:
-
VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR
public static final int VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHRVkPerformanceCounterDescriptionFlagBitsKHR - Bitmask specifying usage behavior for a counterDescription
PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHRspecifies that recording the counter may have a noticeable performance impact.PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHRspecifies that concurrently recording the counter while other submitted command buffers are running may impact the accuracy of the recording.
Enum values:
- See Also:
-
VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR
public static final int VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHRVkPerformanceCounterDescriptionFlagBitsKHR - Bitmask specifying usage behavior for a counterDescription
PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHRspecifies that recording the counter may have a noticeable performance impact.PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHRspecifies that concurrently recording the counter while other submitted command buffers are running may impact the accuracy of the recording.
Enum values:
- See Also:
-
VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR
public static final int VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHRVkPerformanceCounterDescriptionFlagBitsKHR - Bitmask specifying usage behavior for a counterDescription
PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHRspecifies that recording the counter may have a noticeable performance impact.PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHRspecifies that concurrently recording the counter while other submitted command buffers are running may impact the accuracy of the recording.
Enum values:
- See Also:
-
VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR
public static final int VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHRVkPerformanceCounterDescriptionFlagBitsKHR - Bitmask specifying usage behavior for a counterDescription
PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHRspecifies that recording the counter may have a noticeable performance impact.PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHRspecifies that concurrently recording the counter while other submitted command buffers are running may impact the accuracy of the recording.
Enum values:
- See Also:
-
-
Method Details
-
nvkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
public static int nvkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int queueFamilyIndex, long pCounterCount, long pCounters, long pCounterDescriptions) Unsafe version of:EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR- Parameters:
pCounterCount- a pointer to an integer related to the number of counters available or queried, as described below.
-
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
public static int vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int queueFamilyIndex, IntBuffer pCounterCount, @Nullable VkPerformanceCounterKHR.Buffer pCounters, @Nullable VkPerformanceCounterDescriptionKHR.Buffer pCounterDescriptions) Reports properties of the performance query counters available on a queue family of a device.C Specification
To enumerate the performance query counters available on a queue family of a physical device, call:
VkResult vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);Description
If
pCountersisNULLandpCounterDescriptionsisNULL, then the number of counters available is returned inpCounterCount. Otherwise,pCounterCountmust point to a variable set by the application to the number of elements in thepCounters,pCounterDescriptions, or both arrays and on return the variable is overwritten with the number of structures actually written out. IfpCounterCountis less than the number of counters available, at mostpCounterCountstructures will be written, andINCOMPLETEwill be returned instead ofSUCCESS, to indicate that not all the available counters were returned.Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepCounterCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pCounterCountis not 0, andpCountersis notNULL,pCountersmust be a valid pointer to an array ofpCounterCountVkPerformanceCounterKHRstructures - If the value referenced by
pCounterCountis not 0, andpCounterDescriptionsis notNULL,pCounterDescriptionsmust be a valid pointer to an array ofpCounterCountVkPerformanceCounterDescriptionKHRstructures
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
physicalDevice- the handle to the physical device whose queue family performance query counter properties will be queried.queueFamilyIndex- the index into the queue family of the physical device we want to get properties for.pCounterCount- a pointer to an integer related to the number of counters available or queried, as described below.pCounters- eitherNULLor a pointer to an array ofVkPerformanceCounterKHRstructures.pCounterDescriptions- eitherNULLor a pointer to an array ofVkPerformanceCounterDescriptionKHRstructures.
-
nvkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
public static void nvkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long pPerformanceQueryCreateInfo, long pNumPasses) Unsafe version of:GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR -
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
public static void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkQueryPoolPerformanceCreateInfoKHR pPerformanceQueryCreateInfo, IntBuffer pNumPasses) Reports the number of passes require for a performance query pool type.C Specification
To query the number of passes required to query a performance query pool on a physical device, call:
void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);Description
The
pPerformanceQueryCreateInfomemberVkQueryPoolPerformanceCreateInfoKHR::queueFamilyIndexmust be a queue family ofphysicalDevice. The number of passes required to capture the counters specified in thepPerformanceQueryCreateInfomemberVkQueryPoolPerformanceCreateInfoKHR::pCountersis returned inpNumPasses.Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepPerformanceQueryCreateInfomust be a valid pointer to a validVkQueryPoolPerformanceCreateInfoKHRstructurepNumPassesmust be a valid pointer to auint32_tvalue
See Also
- Parameters:
physicalDevice- the handle to the physical device whose queue family performance query counter properties will be queried.pPerformanceQueryCreateInfo- a pointer to aVkQueryPoolPerformanceCreateInfoKHRof the performance query that is to be created.pNumPasses- a pointer to an integer related to the number of passes required to query the performance query pool, as described below.
-
nvkAcquireProfilingLockKHR
public static int nvkAcquireProfilingLockKHR(org.lwjgl.vulkan.VkDevice device, long pInfo) Unsafe version of:AcquireProfilingLockKHR -
vkAcquireProfilingLockKHR
public static int vkAcquireProfilingLockKHR(org.lwjgl.vulkan.VkDevice device, VkAcquireProfilingLockInfoKHR pInfo) Acquires the profiling lock.C Specification
To record and submit a command buffer containing a performance query pool the profiling lock must be held. The profiling lock must be acquired prior to any call to
BeginCommandBufferthat will be using a performance query pool. The profiling lock must be held while any command buffer containing a performance query pool is in the recording, executable, or pending state. To acquire the profiling lock, call:VkResult vkAcquireProfilingLockKHR( VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);Description
Implementations may allow multiple actors to hold the profiling lock concurrently.
Valid Usage (Implicit)
devicemust be a validVkDevicehandlepInfomust be a valid pointer to a validVkAcquireProfilingLockInfoKHRstructure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device to profile.pInfo- a pointer to aVkAcquireProfilingLockInfoKHRstructure containing information about how the profiling is to be acquired.
-
vkReleaseProfilingLockKHR
public static void vkReleaseProfilingLockKHR(org.lwjgl.vulkan.VkDevice device) Releases the profiling lock.C Specification
To release the profiling lock, call:
void vkReleaseProfilingLockKHR( VkDevice device);Valid Usage
- The profiling lock of
devicemust have been held via a previous successful call toAcquireProfilingLockKHR
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
- Parameters:
device- the logical device to cease profiling on.
- The profiling lock of
-
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
public static int vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int queueFamilyIndex, int[] pCounterCount, @Nullable VkPerformanceCounterKHR.Buffer pCounters, @Nullable VkPerformanceCounterDescriptionKHR.Buffer pCounterDescriptions) Array version of:EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR -
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
public static void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkQueryPoolPerformanceCreateInfoKHR pPerformanceQueryCreateInfo, int[] pNumPasses) Array version of:GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
-