136 lines
6.2 KiB
Plaintext
136 lines
6.2 KiB
Plaintext
// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a
|
|
// Creative Commons Attribution 4.0 International License; see
|
|
// http://creativecommons.org/licenses/by/4.0/
|
|
|
|
VkQueryPipelineStatisticFlagBits(3)
|
|
===================================
|
|
|
|
Name
|
|
----
|
|
VkQueryPipelineStatisticFlagBits - Bitmask specifying queried pipeline statistics
|
|
|
|
C Specification
|
|
---------------
|
|
|
|
// refBegin VkQueryPipelineStatisticFlagBits - Bitmask specifying queried pipeline statistics
|
|
|
|
Bits which can: be set in pname:pipelineStatistics include:
|
|
|
|
include::../api/enums/VkQueryPipelineStatisticFlagBits.txt[]
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
These bits have the following meanings:
|
|
|
|
* If ename:VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT is set,
|
|
queries managed by the pool will count the number of vertices processed
|
|
by the <<drawing,input assembly>> stage. Vertices corresponding to
|
|
incomplete primitives may: contribute to the count.
|
|
* If ename:VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT is
|
|
set, queries managed by the pool will count the number of primitives
|
|
processed by the <<drawing,input assembly>> stage. If primitive restart
|
|
is enabled, restarting the primitive topology has no effect on the
|
|
count. Incomplete primitives may: be counted.
|
|
* If ename:VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT is
|
|
set, 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 <<shaders-vertex-execution,invoked>>.
|
|
* If ename:VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT is
|
|
set, 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 <<shaders-geometry-execution,invoked>>. In the case
|
|
of <<geometry-invocations,instanced geometry shaders>>, the geometry
|
|
shader invocations count is incremented for each separate instanced
|
|
invocation.
|
|
* If ename:VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT is
|
|
set, 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 code:OpEndPrimitive or
|
|
code:OpEndStreamPrimitive has no effect on the geometry shader output
|
|
primitives count.
|
|
* If ename:VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT is set,
|
|
queries managed by the pool will count the number of primitives
|
|
processed by the <<vertexpostproc-clipping,Primitive Clipping>> stage of
|
|
the pipeline. The counter's value is incremented each time a primitive
|
|
reaches the primitive clipping stage.
|
|
* If ename:VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT is set,
|
|
queries managed by the pool will count the number of primitives output
|
|
by the <<vertexpostproc-clipping,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.
|
|
* If ename:VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT is
|
|
set, 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 <<shaders-fragment-execution,invoked>>.
|
|
* If
|
|
ename:VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT
|
|
is set, 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 <<shaders-tessellation-control-execution,invoked>>.
|
|
* If
|
|
ename:VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
|
|
is set, 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
|
|
<<shaders-tessellation-evaluation-execution,invoked>>.
|
|
* If ename:VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT is
|
|
set, 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.
|
|
|
|
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
|
|
<<queries-operation-undefined,Query Operation>>.
|
|
|
|
[NOTE]
|
|
.Note
|
|
====
|
|
For example, tile-based rendering devices may: need to replay the scene
|
|
multiple times, affecting some of the counts.
|
|
====
|
|
|
|
If a pipeline has pname:rasterizerDiscardEnable enabled, implementations
|
|
may: discard primitives after the final vertex processing stage. As a
|
|
result, if pname: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 fname:vkCmdCopyQueryPoolResults), or request it be put into host
|
|
memory (via fname:vkGetQueryPoolResults).
|
|
|
|
// refEnd VkQueryPipelineStatisticFlagBits
|
|
|
|
|
|
See Also
|
|
--------
|
|
|
|
elink:VkQueryPipelineStatisticFlags
|
|
|
|
|
|
Document Notes
|
|
--------------
|
|
|
|
For more information, see the Vulkan Specification at URL
|
|
|
|
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkQueryPipelineStatisticFlagBits
|
|
|
|
This page is extracted from the Vulkan Specification.
|
|
Fixes and changes should be made to the Specification,not directly.
|
|
|
|
include::footer.txt[]
|
|
|