| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Core10.Query
Synopsis
- createQueryPool :: forall (a :: [Type]) io. (Extendss QueryPoolCreateInfo a, PokeChain a, MonadIO io) => Device -> QueryPoolCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io QueryPool
- withQueryPool :: forall (a :: [Type]) io r. (Extendss QueryPoolCreateInfo a, PokeChain a, MonadIO io) => Device -> QueryPoolCreateInfo a -> Maybe AllocationCallbacks -> (io QueryPool -> (QueryPool -> io ()) -> r) -> r
- destroyQueryPool :: MonadIO io => Device -> QueryPool -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
- getQueryPoolResults :: MonadIO io => Device -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: Word64) -> ("data" ::: Ptr ()) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> io Result
- data QueryPoolCreateInfo (es :: [Type]) = QueryPoolCreateInfo {}
- newtype QueryPool = QueryPool Word64
- newtype QueryType where
- QueryType Int32
- pattern QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR :: QueryType
- pattern QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV :: QueryType
- pattern QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR :: QueryType
- pattern QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR :: QueryType
- pattern QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR :: QueryType
- pattern QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT :: QueryType
- pattern QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT :: QueryType
- pattern QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT :: QueryType
- pattern QUERY_TYPE_OCCLUSION :: QueryType
- pattern QUERY_TYPE_PERFORMANCE_QUERY_INTEL :: QueryType
- pattern QUERY_TYPE_PERFORMANCE_QUERY_KHR :: QueryType
- pattern QUERY_TYPE_PIPELINE_STATISTICS :: QueryType
- pattern QUERY_TYPE_PRIMITIVES_GENERATED_EXT :: QueryType
- pattern QUERY_TYPE_TIMESTAMP :: QueryType
- pattern QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT :: QueryType
- newtype QueryResultFlagBits where
- type QueryResultFlags = QueryResultFlagBits
- newtype QueryPipelineStatisticFlagBits where
- QueryPipelineStatisticFlagBits Flags
- pattern QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
- pattern QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits
- type QueryPipelineStatisticFlags = QueryPipelineStatisticFlagBits
- newtype QueryPoolCreateFlagBits where
- type QueryPoolCreateFlags = QueryPoolCreateFlagBits
Documentation
Arguments
| :: forall (a :: [Type]) io. (Extendss QueryPoolCreateInfo a, PokeChain a, MonadIO io) | |
| => Device |
|
| -> QueryPoolCreateInfo a |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io QueryPool |
vkCreateQueryPool - Create a new query pool object
Valid Usage
-
devicemust support at least one queue family with one of the VK_QUEUE_VIDEO_ENCODE_BIT_KHR, VK_QUEUE_VIDEO_DECODE_BIT_KHR,QUEUE_COMPUTE_BIT, orQUEUE_GRAPHICS_BITcapabilities
Valid Usage (Implicit)
-
devicemust be a validDevicehandle
-
pCreateInfomust be a valid pointer to a validQueryPoolCreateInfostructure - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure -
pQueryPoolmust be a valid pointer to aQueryPoolhandle - The device must have
been created with at least
1queue
Return Codes
See Also
VK_VERSION_1_0,
AllocationCallbacks,
Device, QueryPool,
QueryPoolCreateInfo
withQueryPool :: forall (a :: [Type]) io r. (Extendss QueryPoolCreateInfo a, PokeChain a, MonadIO io) => Device -> QueryPoolCreateInfo a -> Maybe AllocationCallbacks -> (io QueryPool -> (QueryPool -> io ()) -> r) -> r Source #
A convenience wrapper to make a compatible pair of calls to
createQueryPool and destroyQueryPool
To ensure that destroyQueryPool is always called: pass
bracket (or the allocate function from your
favourite resource management library) as the last argument.
To just extract the pair pass (,) as the last argument.
Arguments
| :: MonadIO io | |
| => Device |
|
| -> QueryPool |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io () |
vkDestroyQueryPool - Destroy a query pool object
Valid Usage
- If
AllocationCallbackswere provided whenqueryPoolwas created, a compatible set of callbacks must be provided here - If no
AllocationCallbackswere provided whenqueryPoolwas created,pAllocatormust beNULL
Applications can verify that queryPool can be destroyed by
checking that getQueryPoolResults() without the
QUERY_RESULT_PARTIAL_BIT flag
returns SUCCESS for all queries that are
used in command buffers submitted for execution.
Valid Usage (Implicit)
-
devicemust be a validDevicehandle
- If
queryPoolis notNULL_HANDLE,queryPoolmust be a validQueryPoolhandle - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure - If
queryPoolis a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
queryPoolmust be externally synchronized
See Also
Arguments
| :: MonadIO io | |
| => Device |
|
| -> QueryPool |
|
| -> ("firstQuery" ::: Word32) |
|
| -> ("queryCount" ::: Word32) |
|
| -> ("dataSize" ::: Word64) |
|
| -> ("data" ::: Ptr ()) |
|
| -> ("stride" ::: DeviceSize) |
|
| -> QueryResultFlags |
|
| -> io Result |
vkGetQueryPoolResults - Copy results of queries in a query pool to a host memory region
Description
Any results written for a query are written according to a layout dependent on the query type.
If no bits are set in flags, and all requested queries are in the
available state, results are written as an array of 32-bit unsigned
integer values. Behavior when not all queries are available is described
below.
If
QUERY_RESULT_WITH_AVAILABILITY_BIT
is set, results for all queries in queryPool identified by
firstQuery and queryCount are copied to pData, along with an extra
availability or status value written directly after the results of each
query and interpreted as an unsigned integer. A value of zero indicates
that the results are not yet available, otherwise the query is complete
and results are available. The size of the availability or status values
is 64 bits if
QUERY_RESULT_64_BIT is set in
flags. Otherwise, it is 32 bits.
If
VK_QUERY_RESULT_WITH_STATUS_BIT_KHR
is set, results for all queries in queryPool identified by
firstQuery and queryCount are copied to pData, along with an extra
status value written directly after the results of each query and
interpreted as a signed integer. A value of zero indicates that the
results are not yet available. Positive values indicate that the
operations within the query completed successfully, and the query
results are valid. Negative values indicate that the operations within
the query completed unsuccessfully.
VkQueryResultStatusKHR defines specific meaning for values returned here, though implementations are free to return other values.
If the status value written is negative, indicating that the operations within the query completed unsuccessfully, then all other results written by this command are undefined unless otherwise specified for any of the results of the used query type.
If
QUERY_RESULT_WITH_AVAILABILITY_BIT
or
VK_QUERY_RESULT_WITH_STATUS_BIT_KHR
is set, the layout of data in the buffer is a (result,availability) or
(result,status) pair for each query returned, and stride is the
stride between each pair.
Results for any available query written by this command are final and
represent the final result of the query. If
QUERY_RESULT_PARTIAL_BIT is
set, then for any query that is unavailable, an intermediate result
between zero and the final result value is written for that query.
Otherwise, any result written by this command is undefined.
If QUERY_RESULT_64_BIT is set,
results and, if returned, availability or status values for all queries
are written as an array of 64-bit values. If the queryPool was created
with QUERY_TYPE_PERFORMANCE_QUERY_KHR,
results for each query are written as an array of the type indicated by
PerformanceCounterKHR::storage
for the counter being queried. Otherwise, results and availability or
status values are written as an array of 32-bit values. If an unsigned
integer query’s value overflows the result type, the value may either
wrap or saturate. If the
maintenance7
feature is enabled, for an unsigned integer query, the 32-bit result
value must be equal to the 32 least significant bits of the equivalent
64-bit result value. If a signed integer query’s value overflows the
result type, the value is undefined. If a floating-point query’s value
is not representable as the result type, the value is undefined.
If QUERY_RESULT_WAIT_BIT is
set, this command defines an execution dependency with any earlier
commands that writes one of the identified queries. The first
synchronization scope
includes all instances of
cmdEndQuery,
cmdEndQueryIndexedEXT,
cmdWriteAccelerationStructuresPropertiesKHR,
cmdWriteAccelerationStructuresPropertiesNV,
cmdWriteMicromapsPropertiesEXT,
cmdWriteTimestamp2,
and cmdWriteTimestamp that
reference any query in queryPool indicated by firstQuery and
queryCount. The second
synchronization scope
includes the host operations of this command.
If QUERY_RESULT_WAIT_BIT is
not set, getQueryPoolResults may return
NOT_READY if there are queries in the
unavailable state.
Applications must take care to ensure that use of the
QUERY_RESULT_WAIT_BIT bit has
the desired effect.
For example, if a query has been used previously and a command buffer
records the commands
cmdResetQueryPool,
cmdBeginQuery, and
cmdEndQuery for that query, then
the query will remain in the available state until
resetQueryPool is
called or the cmdResetQueryPool
command executes on a queue. Applications can use fences or events to
ensure that a query has already been reset before checking for its
results or availability status. Otherwise, a stale value could be
returned from a previous use of the query.
The above also applies when
QUERY_RESULT_WAIT_BIT is used
in combination with
QUERY_RESULT_WITH_AVAILABILITY_BIT.
In this case, the returned availability status may reflect the result
of a previous use of the query unless
resetQueryPool is
called or the cmdResetQueryPool
command has been executed since the last use of the query.
A similar situation can arise with the VK_QUERY_RESULT_WITH_STATUS_BIT_KHR flag.
Applications can double-buffer query pool usage, with a pool per frame, and reset queries at the end of the frame in which they are read.
Valid Usage
- The sum of
firstQueryandqueryCountmust be less than or equal to the number of queries inqueryPool - If
queryCountis greater than 1,stridemust not be zero - If the
queryTypeused to createqueryPoolwasQUERY_TYPE_TIMESTAMP,flagsmust not containQUERY_RESULT_PARTIAL_BIT - If the
queryTypeused to createqueryPoolwasQUERY_TYPE_PERFORMANCE_QUERY_KHR,flagsmust not containQUERY_RESULT_WITH_AVAILABILITY_BIT, VK_QUERY_RESULT_WITH_STATUS_BIT_KHR,QUERY_RESULT_PARTIAL_BIT, orQUERY_RESULT_64_BIT - If the
queryTypeused to createqueryPoolwasQUERY_TYPE_PERFORMANCE_QUERY_KHR, thequeryPoolmust have been recorded once for each pass as retrieved via a call togetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR - If the
queryTypeused to createqueryPoolwas not VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR or VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, thenflagsmust not include VK_QUERY_RESULT_WITH_STATUS_BIT_KHR - If the
queryTypeused to createqueryPoolwas VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR, thenflagsmust include VK_QUERY_RESULT_WITH_STATUS_BIT_KHR - If
flagsincludes VK_QUERY_RESULT_WITH_STATUS_BIT_KHR, then it must not includeQUERY_RESULT_WITH_AVAILABILITY_BIT - All queries used by the command must not be uninitialized
- If
QUERY_RESULT_64_BITis not set inflagsand thequeryTypeused to createqueryPoolwas notQUERY_TYPE_PERFORMANCE_QUERY_KHR, thenpDatamust be aligned to a multiple of4 - If
queryCountis greater than 1,QUERY_RESULT_64_BITis not set inflagsand thequeryTypeused to createqueryPoolwas notQUERY_TYPE_PERFORMANCE_QUERY_KHR, thenstridemust be a multiple of4 - If
QUERY_RESULT_64_BITis set inflagsthenpDatamust be aligned to a multiple of8 - If
queryCountis greater than 1 andQUERY_RESULT_64_BITis set inflags, thenstridemust be a multiple of8 - If
queryCountis greater than 1 andQUERY_RESULT_WITH_AVAILABILITY_BITis set,stridemust be large enough to contain the unsigned integer representing availability or status in addition to the query result - If the
queryTypeused to createqueryPoolwasQUERY_TYPE_PERFORMANCE_QUERY_KHR, thenpDatamust be aligned to a multiple of the size ofPerformanceCounterResultKHR - If
queryCountis greater than 1 and thequeryTypeused to createqueryPoolwasQUERY_TYPE_PERFORMANCE_QUERY_KHR, thenstridemust be a multiple of the size ofPerformanceCounterResultKHR - If
queryCountis greater than 1 and thequeryTypeused to createqueryPoolwasQUERY_TYPE_PERFORMANCE_QUERY_KHR, thenstridemust be large enough to contain theQueryPoolPerformanceCreateInfoKHR::counterIndexCountused to createqueryPooltimes the size ofPerformanceCounterResultKHR -
dataSizemust be large enough to contain the result of each query, as described here
Valid Usage (Implicit)
-
devicemust be a validDevicehandle
-
queryPoolmust be a validQueryPoolhandle -
pDatamust be a valid pointer to an array ofdataSizebytes -
flagsmust be a valid combination ofQueryResultFlagBitsvalues -
dataSizemust be greater than0 -
queryPoolmust have been created, allocated, or retrieved fromdevice
Return Codes
See Also
VK_VERSION_1_0,
Device,
DeviceSize,
QueryPool,
QueryResultFlags
data QueryPoolCreateInfo (es :: [Type]) Source #
VkQueryPoolCreateInfo - Structure specifying parameters of a newly created query pool
Valid Usage
- If the
pipelineStatisticsQuery
feature is not enabled,
queryTypemust not beQUERY_TYPE_PIPELINE_STATISTICS
- If the
meshShaderQueries
feature is not enabled,
queryTypemust not beQUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT - If the
meshShaderQueries
feature is not enabled, and
queryTypeisQUERY_TYPE_PIPELINE_STATISTICS,pipelineStatisticsmust not containQUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXTorQUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT - If
queryTypeisQUERY_TYPE_PIPELINE_STATISTICS,pipelineStatisticsmust be a valid combination ofQueryPipelineStatisticFlagBitsvalues - If
queryTypeisQUERY_TYPE_PIPELINE_STATISTICS,pipelineStatisticsmust not be zero - If
queryTypeisQUERY_TYPE_PERFORMANCE_QUERY_KHR, thepNextchain must include aQueryPoolPerformanceCreateInfoKHRstructure -
queryCountmust be greater than 0 - If
queryTypeis VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR, then at least one of the queue families of the device must support result status queries, as indicated by VkQueueFamilyQueryResultStatusPropertiesKHR::queryResultStatusSupport - If the
pNextchain includes a VkVideoProfileInfoKHR structure and itsvideoCodecOperationmember is VK_VIDEO_CODEC_OPERATION_DECODE_VP9_BIT_KHR, then the videoDecodeVP9 feature must be enabled - If
queryTypeis VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, then thepNextchain must include a VkVideoProfileInfoKHR structure withvideoCodecOperationspecifying an encode operation - If
queryTypeis VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, then thepNextchain must include a VkQueryPoolVideoEncodeFeedbackCreateInfoKHR structure - If
queryTypeis VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, and thepNextchain includes a VkVideoProfileInfoKHR structure and a VkQueryPoolVideoEncodeFeedbackCreateInfoKHR structure, then VkQueryPoolVideoEncodeFeedbackCreateInfoKHR::encodeFeedbackFlagsmust not contain any bits that are not set in VkVideoEncodeCapabilitiesKHR::supportedEncodeFeedbackFlags, as returned by vkGetPhysicalDeviceVideoCapabilitiesKHR for the video profile described by VkVideoProfileInfoKHR and itspNextchain - If the
pNextchain includes a VkVideoProfileInfoKHR structure and itsvideoCodecOperationmember is VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR, then the videoEncodeAV1 feature must be enabled - If the
pNextchain includes a VkVideoEncodeProfileRgbConversionInfoVALVE structure, then the videoEncodeRgbConversion feature must be enabled
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_QUERY_POOL_CREATE_INFO
- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofQueryPoolPerformanceCreateInfoKHR,QueryPoolPerformanceQueryCreateInfoINTEL, VkQueryPoolVideoEncodeFeedbackCreateInfoKHR, VkVideoDecodeAV1ProfileInfoKHR, VkVideoDecodeH264ProfileInfoKHR, VkVideoDecodeH265ProfileInfoKHR, VkVideoDecodeUsageInfoKHR, VkVideoDecodeVP9ProfileInfoKHR, VkVideoEncodeAV1ProfileInfoKHR, VkVideoEncodeH264ProfileInfoKHR, VkVideoEncodeH265ProfileInfoKHR, VkVideoEncodeUsageInfoKHR, or VkVideoProfileInfoKHR - The
sTypevalue of each structure in thepNextchain must be unique -
flagsmust be a valid combination ofQueryPoolCreateFlagBitsvalues -
queryTypemust be a validQueryTypevalue
See Also
VK_VERSION_1_0,
QueryPipelineStatisticFlags,
QueryPoolCreateFlags,
QueryType,
StructureType, createQueryPool
Constructors
| QueryPoolCreateInfo | |
Fields
| |
Instances
VkQueryPool - Opaque handle to a query pool object
See Also
VK_DEFINE_NON_DISPATCHABLE_HANDLE,
VK_VERSION_1_0,
VkVideoInlineQueryInfoKHR,
cmdBeginQuery,
cmdBeginQueryIndexedEXT,
cmdCopyQueryPoolResults,
cmdEndQuery,
cmdEndQueryIndexedEXT,
cmdResetQueryPool,
cmdWriteAccelerationStructuresPropertiesKHR,
cmdWriteAccelerationStructuresPropertiesNV,
cmdWriteMicromapsPropertiesEXT,
cmdWriteTimestamp,
cmdWriteTimestamp2,
cmdWriteTimestamp2,
createQueryPool,
destroyQueryPool,
getQueryPoolResults,
resetQueryPool,
resetQueryPool
Instances
| Eq QueryPool Source # | |
| Ord QueryPool Source # | |
| Storable QueryPool Source # | |
Defined in Vulkan.Core10.Handles | |
| Show QueryPool Source # | |
| HasObjectType QueryPool Source # | |
Defined in Vulkan.Core10.Handles Methods objectTypeAndHandle :: QueryPool -> (ObjectType, Word64) Source # | |
| IsHandle QueryPool Source # | |
Defined in Vulkan.Core10.Handles | |
| Zero QueryPool Source # | |
Defined in Vulkan.Core10.Handles | |
VkQueryType - Specify the type of queries managed by a query pool
Description
QUERY_TYPE_OCCLUSIONspecifies an occlusion query.
QUERY_TYPE_PIPELINE_STATISTICSspecifies a pipeline statistics query.QUERY_TYPE_TIMESTAMPspecifies a timestamp query.QUERY_TYPE_PERFORMANCE_QUERY_KHRspecifies a performance query.QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXTspecifies a transform feedback query.QUERY_TYPE_PRIMITIVES_GENERATED_EXTspecifies a primitives generated query.QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHRspecifies a acceleration structure size query for use withcmdWriteAccelerationStructuresPropertiesKHRorwriteAccelerationStructuresPropertiesKHR.QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHRspecifies a serialization acceleration structure size query.QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHRspecifies an acceleration structure size query for use withcmdWriteAccelerationStructuresPropertiesKHRorwriteAccelerationStructuresPropertiesKHR.QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHRspecifies a serialization acceleration structure pointer count query.QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NVspecifies an acceleration structure size query for use withcmdWriteAccelerationStructuresPropertiesNV.QUERY_TYPE_PERFORMANCE_QUERY_INTELspecifies a Intel performance query.- VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR specifies a result status query.
- VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR specifies a video encode feedback query.
QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXTspecifies a generated mesh primitives query.
See Also
VK_VERSION_1_0,
QueryPoolCreateInfo,
cmdWriteAccelerationStructuresPropertiesKHR,
cmdWriteAccelerationStructuresPropertiesNV,
cmdWriteMicromapsPropertiesEXT,
writeAccelerationStructuresPropertiesKHR,
writeMicromapsPropertiesEXT
Bundled Patterns
| pattern QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR :: QueryType | |
| pattern QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV :: QueryType | |
| pattern QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR :: QueryType | |
| pattern QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR :: QueryType | |
| pattern QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR :: QueryType | |
| pattern QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT :: QueryType | |
| pattern QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT :: QueryType | |
| pattern QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT :: QueryType | |
| pattern QUERY_TYPE_OCCLUSION :: QueryType | |
| pattern QUERY_TYPE_PERFORMANCE_QUERY_INTEL :: QueryType | |
| pattern QUERY_TYPE_PERFORMANCE_QUERY_KHR :: QueryType | |
| pattern QUERY_TYPE_PIPELINE_STATISTICS :: QueryType | |
| pattern QUERY_TYPE_PRIMITIVES_GENERATED_EXT :: QueryType | |
| pattern QUERY_TYPE_TIMESTAMP :: QueryType | |
| pattern QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT :: QueryType |
Instances
| Eq QueryType Source # | |
| Ord QueryType Source # | |
| Storable QueryType Source # | |
Defined in Vulkan.Core10.Enums.QueryType | |
| Read QueryType Source # | |
| Show QueryType Source # | |
| Zero QueryType Source # | |
Defined in Vulkan.Core10.Enums.QueryType | |
newtype QueryResultFlagBits Source #
VkQueryResultFlagBits - Bitmask specifying how and when query results are returned
Description
QUERY_RESULT_64_BITspecifies the results will be written as an array of 64-bit unsigned integer values. If this bit is not set, the results will be written as an array of 32-bit unsigned integer values.
QUERY_RESULT_WAIT_BITspecifies that Vulkan will wait for each query’s status to become available before retrieving its results.QUERY_RESULT_WITH_AVAILABILITY_BITspecifies that the availability status accompanies the results.QUERY_RESULT_PARTIAL_BITspecifies that returning partial results is acceptable.- VK_QUERY_RESULT_WITH_STATUS_BIT_KHR specifies that the last value returned in the query is a VkQueryResultStatusKHR value. See result status query for information on how an application can determine whether the use of this flag bit is supported.
See Also
Constructors
| QueryResultFlagBits Flags |
Bundled Patterns
| pattern QUERY_RESULT_64_BIT :: QueryResultFlagBits | |
| pattern QUERY_RESULT_PARTIAL_BIT :: QueryResultFlagBits | |
| pattern QUERY_RESULT_WAIT_BIT :: QueryResultFlagBits | |
| pattern QUERY_RESULT_WITH_AVAILABILITY_BIT :: QueryResultFlagBits |
Instances
newtype QueryPipelineStatisticFlagBits Source #
VkQueryPipelineStatisticFlagBits - Bitmask specifying queried pipeline statistics
Description
QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BITspecifies that queries managed by the pool will count the number of vertices processed by the input assembly stage. Vertices corresponding to incomplete primitives may contribute to the count.
QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BITspecifies that queries managed by the pool will count the number of primitives processed by the input assembly stage. If primitive restart is enabled, restarting the primitive topology has no effect on the count. Incomplete primitives may be counted.QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BITspecifies that queries managed by the pool will count the number of vertex shader invocations. This counter’s value is incremented each time a vertex shader is invoked.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BITspecifies that queries managed by the pool will count the number of geometry shader invocations. This counter’s value is incremented each time a geometry shader is invoked. In the case of instanced geometry shaders, the geometry shader invocations count is incremented for each separate instanced invocation.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BITspecifies that queries managed by the pool will count the number of primitives generated by geometry shader invocations. The counter’s value is incremented each time the geometry shader emits a primitive. Restarting primitive topology using the SPIR-V instructionsOpEndPrimitiveorOpEndStreamPrimitivehas no effect on the geometry shader output primitives count.QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BITspecifies that queries managed by the pool will count the number of primitives processed by the Primitive Clipping stage of the pipeline. The counter’s value is incremented each time a primitive reaches the primitive clipping stage.QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BITspecifies that queries managed by the pool will count the number of primitives output by the Primitive Clipping stage of the pipeline. The counter’s value is incremented each time a primitive passes the primitive clipping stage. The actual number of primitives output by the primitive clipping stage for a particular input primitive is implementation-dependent but must satisfy the following conditions:- If at least one vertex of the input primitive lies inside the clipping volume, the counter is incremented by one or more.
- Otherwise, the counter is incremented by zero or more.
QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BITspecifies that queries managed by the pool will count the number of fragment shader invocations. The counter’s value is incremented each time the fragment shader is invoked.QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BITspecifies that queries managed by the pool will count the number of patches processed by the tessellation control shader. The counter’s value is incremented once for each patch for which a tessellation control shader is invoked.QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BITspecifies that queries managed by the pool will count the number of invocations of the tessellation evaluation shader. The counter’s value is incremented each time the tessellation evaluation shader is invoked.QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BITspecifies that queries managed by the pool will count the number of compute shader invocations. The counter’s value is incremented every time the compute shader is invoked. Implementations may skip the execution of certain compute shader invocations or execute additional compute shader invocations for implementation-dependent reasons as long as the results of rendering otherwise remain unchanged.QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXTspecifies that queries managed by the pool will count the number of task shader invocations. The counter’s value is incremented every time the task shader is invoked.QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXTspecifies that queries managed by the pool will count the number of mesh shader invocations. The counter’s value is incremented every time the mesh shader is invoked.
These values are intended to measure relative statistics on one implementation. Various device architectures will count these values differently. Any or all counters may be affected by the issues described in Query Operation.
This counting difference is especially true if the pipeline contains mesh or task shaders, which may affect several of the counters in unexpected ways.
For example, tile-based rendering devices may need to replay the scene multiple times, affecting some of the counts.
If a pipeline has rasterizerDiscardEnable enabled, implementations
may discard primitives after the final
pre-rasterization shader stage.
As a result, if rasterizerDiscardEnable is enabled, the clipping input
and output primitives counters may not be incremented.
When a pipeline statistics query finishes, the result for that query is
marked as available. The application can copy the result to a buffer
(via cmdCopyQueryPoolResults), or
request it be put into host memory (via
getQueryPoolResults).
See Also
Constructors
| QueryPipelineStatisticFlagBits Flags |
Bundled Patterns
Instances
newtype QueryPoolCreateFlagBits Source #
VkQueryPoolCreateFlagBits - Bitmask specifying query pool properties
Description
QUERY_POOL_CREATE_RESET_BIT_KHRspecifies that queries in the query pool are initialized on creation and do not need to be reset before first use.
See Also
Constructors
| QueryPoolCreateFlagBits Flags |
Bundled Patterns
| pattern QUERY_POOL_CREATE_RESET_BIT_KHR :: QueryPoolCreateFlagBits |