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

Vulkan.Core10.Query

Synopsis

Documentation

createQueryPool Source #

Arguments

:: forall a io. (Extendss QueryPoolCreateInfo a, PokeChain a, MonadIO io) 
=> Device

device is the logical device that creates the query pool.

-> QueryPoolCreateInfo a

pCreateInfo is a pointer to a QueryPoolCreateInfo structure containing the number and type of queries to be managed by the pool.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io QueryPool 

vkCreateQueryPool - Create a new query pool object

Valid Usage (Implicit)

  • device must be a valid Device handle
  • pCreateInfo must be a valid pointer to a valid QueryPoolCreateInfo structure
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • pQueryPool must be a valid pointer to a QueryPool handle

Return Codes

Success
Failure

See Also

VK_VERSION_1_0, AllocationCallbacks, Device, QueryPool, QueryPoolCreateInfo

withQueryPool :: forall a 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.

destroyQueryPool Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that destroys the query pool.

-> QueryPool

queryPool is the query pool to destroy.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io () 

vkDestroyQueryPool - Destroy a query pool object

Valid Usage

  • All submitted commands that refer to queryPool must have completed execution
  • If AllocationCallbacks were provided when queryPool was created, a compatible set of callbacks must be provided here
  • If no AllocationCallbacks were provided when queryPool was created, pAllocator must be NULL

Note

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)

  • device must be a valid Device handle
  • If queryPool is not NULL_HANDLE, queryPool must be a valid QueryPool handle
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • If queryPool is a valid handle, it must have been created, allocated, or retrieved from device

Host Synchronization

  • Host access to queryPool must be externally synchronized

See Also

VK_VERSION_1_0, AllocationCallbacks, Device, QueryPool

getQueryPoolResults Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that owns the query pool.

-> QueryPool

queryPool is the query pool managing the queries containing the desired results.

-> ("firstQuery" ::: Word32)

firstQuery is the initial query index.

-> ("queryCount" ::: Word32)

queryCount is the number of queries to read.

-> ("dataSize" ::: Word64)

dataSize is the size in bytes of the buffer pointed to by pData.

-> ("data" ::: Ptr ())

pData is a pointer to a user-allocated buffer where the results will be written

-> ("stride" ::: DeviceSize)

stride is the stride in bytes between results for individual queries within pData.

-> QueryResultFlags

flags is a bitmask of QueryResultFlagBits specifying how and when results are returned.

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

Note

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 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, 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.

Note

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.

Note

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

  • All queries used by the command must not be uninitialized

Valid Usage (Implicit)

  • device must be a valid Device handle
  • queryPool must be a valid QueryPool handle
  • pData must be a valid pointer to an array of dataSize bytes
  • flags must be a valid combination of QueryResultFlagBits values
  • dataSize must be greater than 0
  • queryPool must have been created, allocated, or retrieved from device

Return Codes

Success
Failure

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

Description

pipelineStatistics is ignored if queryType is not QUERY_TYPE_PIPELINE_STATISTICS.

Valid Usage

Valid Usage (Implicit)

See Also

VK_VERSION_1_0, QueryPipelineStatisticFlags, QueryPoolCreateFlags, QueryType, StructureType, createQueryPool

Constructors

QueryPoolCreateInfo 

Fields

Instances

Instances details
Extensible QueryPoolCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Query

Methods

extensibleTypeName :: String Source #

getNext :: forall (es :: [Type]). QueryPoolCreateInfo es -> Chain es Source #

setNext :: forall (ds :: [Type]) (es :: [TYPE LiftedRep]). QueryPoolCreateInfo ds -> Chain es -> QueryPoolCreateInfo es Source #

extends :: forall e b proxy. Typeable e => proxy e -> (Extends QueryPoolCreateInfo e => b) -> Maybe b Source #

Show (Chain es) => Show (QueryPoolCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.Query

(Extendss QueryPoolCreateInfo es, PeekChain es) => FromCStruct (QueryPoolCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.Query

(Extendss QueryPoolCreateInfo es, PokeChain es) => ToCStruct (QueryPoolCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.Query

es ~ ('[] :: [Type]) => Zero (QueryPoolCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.Query

newtype QueryPool Source #

Constructors

QueryPool Word64 

Instances

Instances details
Storable QueryPool Source # 
Instance details

Defined in Vulkan.Core10.Handles

Show QueryPool Source # 
Instance details

Defined in Vulkan.Core10.Handles

Eq QueryPool Source # 
Instance details

Defined in Vulkan.Core10.Handles

Ord QueryPool Source # 
Instance details

Defined in Vulkan.Core10.Handles

HasObjectType QueryPool Source # 
Instance details

Defined in Vulkan.Core10.Handles

IsHandle QueryPool Source # 
Instance details

Defined in Vulkan.Core10.Handles

Zero QueryPool Source # 
Instance details

Defined in Vulkan.Core10.Handles

newtype QueryPoolCreateFlags Source #

VkQueryPoolCreateFlags - Reserved for future use

Description

QueryPoolCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

VK_VERSION_1_0, QueryPoolCreateInfo

Instances

Instances details
Storable QueryPoolCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPoolCreateFlags

Bits QueryPoolCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPoolCreateFlags

FiniteBits QueryPoolCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPoolCreateFlags

Read QueryPoolCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPoolCreateFlags

Show QueryPoolCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPoolCreateFlags

Eq QueryPoolCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPoolCreateFlags

Ord QueryPoolCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPoolCreateFlags

Zero QueryPoolCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryPoolCreateFlags

newtype QueryType Source #

Constructors

QueryType Int32 

Bundled Patterns

pattern QUERY_TYPE_OCCLUSION :: QueryType

QUERY_TYPE_OCCLUSION specifies an occlusion query.

pattern QUERY_TYPE_PIPELINE_STATISTICS :: QueryType

QUERY_TYPE_PIPELINE_STATISTICS specifies a pipeline statistics query.

pattern QUERY_TYPE_TIMESTAMP :: QueryType

QUERY_TYPE_TIMESTAMP specifies a timestamp query.

pattern QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT :: QueryType 
pattern QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT :: QueryType 
pattern QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR :: QueryType

QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR specifies an acceleration structure size query for use with cmdWriteAccelerationStructuresPropertiesKHR or writeAccelerationStructuresPropertiesKHR.

pattern QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR :: QueryType

QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR specifies a serialization acceleration structure pointer count query.

pattern QUERY_TYPE_PRIMITIVES_GENERATED_EXT :: QueryType

QUERY_TYPE_PRIMITIVES_GENERATED_EXT specifies a primitives generated query.

pattern QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT :: QueryType

QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT specifies a generated mesh primitives query.

pattern QUERY_TYPE_PERFORMANCE_QUERY_INTEL :: QueryType

QUERY_TYPE_PERFORMANCE_QUERY_INTEL specifies a Intel performance query.

pattern QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV :: QueryType

QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV specifies an acceleration structure size query for use with cmdWriteAccelerationStructuresPropertiesNV.

pattern QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR :: QueryType

QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR specifies a serialization acceleration structure size query.

pattern QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR :: QueryType

QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR specifies a acceleration structure size query for use with cmdWriteAccelerationStructuresPropertiesKHR or writeAccelerationStructuresPropertiesKHR.

pattern QUERY_TYPE_PERFORMANCE_QUERY_KHR :: QueryType

QUERY_TYPE_PERFORMANCE_QUERY_KHR specifies a performance query.

pattern QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT :: QueryType

QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT specifies a transform feedback query.

Instances

Instances details
Storable QueryType Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryType

Read QueryType Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryType

Show QueryType Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryType

Eq QueryType Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryType

Ord QueryType Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryType

Zero QueryType Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryType

newtype QueryResultFlagBits Source #

VkQueryResultFlagBits - Bitmask specifying how and when query results are returned

See Also

VK_VERSION_1_0, QueryResultFlags

Bundled Patterns

pattern QUERY_RESULT_64_BIT :: QueryResultFlagBits

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

pattern QUERY_RESULT_WAIT_BIT :: QueryResultFlagBits

QUERY_RESULT_WAIT_BIT specifies that Vulkan will wait for each query’s status to become available before retrieving its results.

pattern QUERY_RESULT_WITH_AVAILABILITY_BIT :: QueryResultFlagBits

QUERY_RESULT_WITH_AVAILABILITY_BIT specifies that the availability status accompanies the results.

pattern QUERY_RESULT_PARTIAL_BIT :: QueryResultFlagBits

QUERY_RESULT_PARTIAL_BIT specifies that returning partial results is acceptable.

Instances

Instances details
Storable QueryResultFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryResultFlagBits

Bits QueryResultFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryResultFlagBits

FiniteBits QueryResultFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryResultFlagBits

Read QueryResultFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryResultFlagBits

Show QueryResultFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryResultFlagBits

Eq QueryResultFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryResultFlagBits

Ord QueryResultFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryResultFlagBits

Zero QueryResultFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.QueryResultFlagBits

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