Structures
VkPhysicalDeviceTransformFeedbackPropertiesEXT
Structure describing transform feedback properties that can be supported by an implementation
The VkPhysicalDeviceTransformFeedbackPropertiesEXT
structure is
defined as:
typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
VkStructureType sType;
void* pNext;
uint32_t maxTransformFeedbackStreams;
uint32_t maxTransformFeedbackBuffers;
VkDeviceSize maxTransformFeedbackBufferSize;
uint32_t maxTransformFeedbackStreamDataSize;
uint32_t maxTransformFeedbackBufferDataSize;
uint32_t maxTransformFeedbackBufferDataStride;
VkBool32 transformFeedbackQueries;
VkBool32 transformFeedbackStreamsLinesTriangles;
VkBool32 transformFeedbackRasterizationStreamSelect;
VkBool32 transformFeedbackDraw;
} VkPhysicalDeviceTransformFeedbackPropertiesEXT;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.-
maxTransformFeedbackStreams
is the maximum number of vertex streams that can be output from geometry shaders declared with theGeometryStreams
capability. If the implementation does not supportVkPhysicalDeviceTransformFeedbackFeaturesEXT
::geometryStreams
thenmaxTransformFeedbackStreams
must be1
. -
maxTransformFeedbackBuffers
is the maximum number of transform feedback buffers that can be bound for capturing shader outputs from the last pre-rasterization shader stage. maxTransformFeedbackBufferSize
is the maximum size that can be specified when binding a buffer for transform feedback in vkCmdBindTransformFeedbackBuffersEXT.maxTransformFeedbackStreamDataSize
is the maximum amount of data in bytes for each vertex that captured to one or more transform feedback buffers associated with a specific vertex stream.maxTransformFeedbackBufferDataSize
is the maximum amount of data in bytes for each vertex that can be captured to a specific transform feedback buffer.maxTransformFeedbackBufferDataStride
is the maximum stride between each capture of vertex data to the buffer.-
transformFeedbackQueries
isVK_TRUE
if the implementation supports theVK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT
query type.transformFeedbackQueries
isVK_FALSE
if queries of this type cannot be created. transformFeedbackStreamsLinesTriangles
isVK_TRUE
if the implementation supports the geometry shaderOpExecutionMode
ofOutputLineStrip
andOutputTriangleStrip
in addition toOutputPoints
when more than one vertex stream is output. IftransformFeedbackStreamsLinesTriangles
isVK_FALSE
the implementation only supports anOpExecutionMode
ofOutputPoints
when more than one vertex stream is output from the geometry shader.transformFeedbackRasterizationStreamSelect
isVK_TRUE
if the implementation supports theGeometryStreams
SPIR-V capability and the application can use VkPipelineRasterizationStateStreamCreateInfoEXT to modify which vertex stream output is used for rasterization. Otherwise vertex stream0
must always be used for rasterization.-
transformFeedbackDraw
isVK_TRUE
if the implementation supports the vkCmdDrawIndirectByteCountEXT function otherwise the function must not be called.
If the VkPhysicalDeviceTransformFeedbackPropertiesEXT
structure is included in the pNext
chain of the
VkPhysicalDeviceProperties2 structure passed to
vkGetPhysicalDeviceProperties2, it is filled in with each
corresponding implementation-dependent property.
Valid Usage (Implicit)
VUID-VkPhysicalDeviceTransformFeedbackPropertiesEXT-sType-sType
sType
must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT