vulkan-3.26.1: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits

Synopsis

Documentation

newtype QueryPipelineStatisticFlagBits Source #

VkQueryPipelineStatisticFlagBits - Bitmask specifying queried pipeline statistics

Description

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.

Note

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

VK_VERSION_1_0, QueryPipelineStatisticFlags

Bundled Patterns

pattern QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT specifies 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.

pattern QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT specifies 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.

pattern QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT specifies 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.

pattern QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT specifies 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.

pattern QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT specifies 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 instructions OpEndPrimitive or OpEndStreamPrimitive has no effect on the geometry shader output primitives count.

pattern QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT specifies 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.

pattern QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT specifies 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.
pattern QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT specifies 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.

pattern QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT specifies 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.

pattern QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT specifies 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.

pattern QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT specifies 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.

pattern QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI :: QueryPipelineStatisticFlagBits 
pattern QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT specifies 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.

pattern QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT :: QueryPipelineStatisticFlagBits

QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT specifies 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.

Instances

Instances details
Storable QueryPipelineStatisticFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits

Bits QueryPipelineStatisticFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits

Methods

(.&.) :: QueryPipelineStatisticFlagBits -> QueryPipelineStatisticFlagBits -> QueryPipelineStatisticFlagBits #

(.|.) :: QueryPipelineStatisticFlagBits -> QueryPipelineStatisticFlagBits -> QueryPipelineStatisticFlagBits #

xor :: QueryPipelineStatisticFlagBits -> QueryPipelineStatisticFlagBits -> QueryPipelineStatisticFlagBits #

complement :: QueryPipelineStatisticFlagBits -> QueryPipelineStatisticFlagBits #

shift :: QueryPipelineStatisticFlagBits -> Int -> QueryPipelineStatisticFlagBits #

rotate :: QueryPipelineStatisticFlagBits -> Int -> QueryPipelineStatisticFlagBits #

zeroBits :: QueryPipelineStatisticFlagBits #

bit :: Int -> QueryPipelineStatisticFlagBits #

setBit :: QueryPipelineStatisticFlagBits -> Int -> QueryPipelineStatisticFlagBits #

clearBit :: QueryPipelineStatisticFlagBits -> Int -> QueryPipelineStatisticFlagBits #

complementBit :: QueryPipelineStatisticFlagBits -> Int -> QueryPipelineStatisticFlagBits #

testBit :: QueryPipelineStatisticFlagBits -> Int -> Bool #

bitSizeMaybe :: QueryPipelineStatisticFlagBits -> Maybe Int #

bitSize :: QueryPipelineStatisticFlagBits -> Int #

isSigned :: QueryPipelineStatisticFlagBits -> Bool #

shiftL :: QueryPipelineStatisticFlagBits -> Int -> QueryPipelineStatisticFlagBits #

unsafeShiftL :: QueryPipelineStatisticFlagBits -> Int -> QueryPipelineStatisticFlagBits #

shiftR :: QueryPipelineStatisticFlagBits -> Int -> QueryPipelineStatisticFlagBits #

unsafeShiftR :: QueryPipelineStatisticFlagBits -> Int -> QueryPipelineStatisticFlagBits #

rotateL :: QueryPipelineStatisticFlagBits -> Int -> QueryPipelineStatisticFlagBits #

rotateR :: QueryPipelineStatisticFlagBits -> Int -> QueryPipelineStatisticFlagBits #

popCount :: QueryPipelineStatisticFlagBits -> Int #

FiniteBits QueryPipelineStatisticFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits

Read QueryPipelineStatisticFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits

Show QueryPipelineStatisticFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits

Eq QueryPipelineStatisticFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits

Ord QueryPipelineStatisticFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits

Zero QueryPipelineStatisticFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits