Lines Matching refs:is
14 pipeline, or if the <<features-shaderObject, pname:shaderObject>> feature is
36 Each draw is made up of zero or more vertices and zero or more instances,
39 of the slink:VkGraphicsPipelineCreateInfo structure, which is of type
44 * pname:sType is a elink:VkStructureType value identifying this structure.
45 * pname:pNext is `NULL` or a pointer to a structure extending this
47 * pname:flags is reserved for future use.
48 * pname:topology is a elink:VkPrimitiveTopology defining the primitive
51 value is treated as restarting the assembly of primitives.
56 and flink:vkCmdDrawIndexedIndirect), and the special index value is
59 fname:vkCmdBindIndexBuffer is equal to ename:VK_INDEX_TYPE_UINT32,
61 0xFF when pname:indexType is equal to ename:VK_INDEX_TYPE_UINT8_EXT,
63 or 0xFFFF when pname:indexType is equal to ename:VK_INDEX_TYPE_UINT16.
65 Primitive restart is not allowed for "`list`" topologies.
68 Primitive restart is not allowed for "`list`" topologies, unless one of
73 pname:primitiveTopologyListRestart>> (for all other list topologies) is
81 The primitive restart index value comparison is performed before adding the
90 pname:primitiveTopologyListRestart>> feature is not enabled, and
92 pname:topology is ename:VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
102 pname:primitiveTopologyPatchListRestart>> feature is not enabled, and
104 pname:topology is ename:VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,
107 If the <<features-geometryShader, pname:geometryShader>> feature is not
115 is not enabled, pname:topology must: not be
119 If the `apiext:VK_KHR_portability_subset` extension is enabled, and
121 is ename:VK_FALSE, pname:topology must: not be
133 tname:VkPipelineInputAssemblyStateCreateFlags is a bitmask type for setting
134 a mask, but is currently reserved for future use.
141 index value is treated as restarting the assembly of primitives, call:
153 * pname:commandBuffer is the command buffer into which the command will be
156 value is treated as restarting the assembly of primitives.
167 when the graphics pipeline is created with
171 Otherwise, this state is specified by the
191 primitives, and determines the type of primitive that is used at the
193 The effective topology for later stages of the pipeline is altered by
194 tessellation or geometry shading (if either is in use) and depends on the
197 In the case of mesh shading the only effective topology is defined by the
223 If the `apiext:VK_KHR_portability_subset` extension is enabled, and
225 is ename:VK_FALSE, then triangle fans are not supported by the
244 Each primitive topology, and its construction from a list of vertices, is
263 The tail is angled towards the relevant primitive.
284 [eq]#v~0~# is the first vertex in the provided data and [eq]#p~0~# is the
304 * pname:commandBuffer is the command buffer into which the command will be
315 when the graphics pipeline is created with
319 Otherwise, this state is specified by the
362 When the topology is ename:VK_PRIMITIVE_TOPOLOGY_POINT_LIST, each
368 As there is only one vertex, that vertex is the provoking vertex.
369 The number of primitives generated is equal to [eq]#pname:vertexCount#.
377 When the primitive topology is ename:VK_PRIMITIVE_TOPOLOGY_LINE_LIST, each
383 The number of primitives generated is equal to
387 When the pname:provokingVertexMode is
393 provoking vertex for [eq]#p~i~# is [eq]#v~2i~#.
398 When the pname:provokingVertexMode is
400 [eq]#p~i~# is [eq]#v~2i+1~#.
409 When the primitive topology is ename:VK_PRIMITIVE_TOPOLOGY_LINE_STRIP, one
410 line primitive is defined by each vertex and the following vertex, according
415 The number of primitives generated is equal to
419 When the pname:provokingVertexMode is
425 provoking vertex for [eq]#p~i~# is [eq]#v~i~#.
430 When the pname:provokingVertexMode is
432 [eq]#p~i~# is [eq]#v~i+1~#.
441 When the primitive topology is ename:VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
447 The number of primitives generated is equal to
451 When the pname:provokingVertexMode is
457 provoking vertex for [eq]#p~i~# is [eq]#v~3i~#.
462 When the pname:provokingVertexMode is
464 [eq]#p~i~# is [eq]#v~3i+2~#.
473 When the primitive topology is ename:VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP,
474 one triangle primitive is defined by each vertex and the two vertices that
479 The number of primitives generated is equal to
483 When the pname:provokingVertexMode is
489 provoking vertex for [eq]#p~i~# is [eq]#v~i~#.
494 When the pname:provokingVertexMode is
496 [eq]#p~i~# is [eq]#v~i+2~#.
504 The ordering of the vertices in each successive triangle is reversed, so
505 that the winding order is consistent throughout the strip.
512 When the primitive topology is ename:VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN,
518 The number of primitives generated is equal to
522 When the pname:provokingVertexMode is
528 provoking vertex for [eq]#p~i~# is [eq]#v~i+1~#.
533 When the pname:provokingVertexMode is
535 [eq]#p~i~# is [eq]#v~i+2~#.
544 If the `apiext:VK_KHR_portability_subset` extension is enabled, and
545 slink:VkPhysicalDevicePortabilitySubsetFeaturesKHR::pname:triangleFans is
555 When the primitive topology is
562 A line primitive is described by the second and third vertices of the total
566 The number of primitives generated is equal to
570 When the pname:provokingVertexMode is
576 provoking vertex for [eq]#p~i~# is [eq]#v~4i+1~#.
581 When the pname:provokingVertexMode is
583 [eq]#p~i~# is [eq]#v~4i+2~#.
592 When the primitive topology is
594 with adjacency is defined by each vertex and the following vertex, according
599 A line primitive is described by the second and third vertices of the total
603 The number of primitives generated is equal to
607 When the pname:provokingVertexMode is
613 provoking vertex for [eq]#p~i~# is [eq]#v~i+1~#.
618 When the pname:provokingVertexMode is
620 [eq]#p~i~# is [eq]#v~i+2~#.
629 When the primitive topology is
637 A triangle primitive is described by the first, third, and fifth vertices of
641 The number of primitives generated is equal to
645 When the pname:provokingVertexMode is
651 provoking vertex for [eq]#p~i~# is [eq]#v~6i~#.
656 When the pname:provokingVertexMode is
658 [eq]#p~i~# is [eq]#v~6i+4~#.
667 When the primitive topology is
669 primitive with adjacency is defined by each vertex and the following 5
672 The number of primitives generated, [eq]#n#, is equal to [eq]#{lfloor}max(0,
675 If [eq]#n=1#, the primitive is defined as:
680 to where it is in the strip:
693 A triangle primitive is described by the first, third, and fifth vertices of
700 The ordering of the vertices in each successive triangle is altered so that
701 the winding order is consistent throughout the strip.
705 When the pname:provokingVertexMode is
711 provoking vertex for [eq]#p~i~# is always [eq]#v~2i~#.
716 When the pname:provokingVertexMode is
718 [eq]#p~i~# is always [eq]#v~2i+4~#.
727 When the primitive topology is ename:VK_PRIMITIVE_TOPOLOGY_PATCH_LIST, each
733 where [eq]#m# is equal to
737 and as such no provoking vertex is defined for patch primitives.
738 The number of primitives generated is equal to
752 Primitive order is initially determined in the following way:
766 ** For draws using mesh shaders, the order is provided by <<mesh-ordering,
770 ** For draws using cluster culling shaders, the order is provided by
777 . If tessellation shading is active, by an implementation-dependent order
780 . If geometry shading is active, by the order new primitives are generated
782 . If the <<primsrast-polygonmode,polygon mode>> is not
790 Primitive order is later used to define <<primsrast-order, rasterization
800 If the draw includes multiple instances, then the set of primitives is sent
803 It is implementation-dependent whether vertex shading occurs on vertices
810 How these values are generated is defined below, with each command.
816 The sequential index is generated automatically by the device (see
862 * pname:commandBuffer is the command buffer into which the command is
864 * pname:buffer is the buffer being bound.
865 * pname:offset is the starting offset in bytes within pname:buffer used in
867 * pname:indexType is a elink:VkIndexType value specifying the size of the
887 * pname:commandBuffer is the command buffer into which the command is
889 * pname:buffer is the buffer being bound.
890 * pname:offset is the starting offset in bytes within pname:buffer used in
892 * pname:size is the size in bytes of index data bound from pname:buffer.
893 * pname:indexType is a elink:VkIndexType value specifying the size of the
898 If pname:size is ename:VK_WHOLE_SIZE then the bound size is from
905 If pname:size is not ename:VK_WHOLE_SIZE, pname:size must: be a multiple
908 If pname:size is not ename:VK_WHOLE_SIZE, the sum of pname:offset and
954 * pname:commandBuffer is the command buffer into which the command is
956 * pname:vertexCount is the number of vertices to draw.
957 * pname:instanceCount is the number of instances to draw.
958 * pname:firstVertex is the index of the first vertex to draw.
959 * pname:firstInstance is the instance ID of the first instance to draw.
961 When the command is executed, primitives are assembled using the current
987 * pname:commandBuffer is the command buffer into which the command is
989 * pname:indexCount is the number of vertices to draw.
990 * pname:instanceCount is the number of instances to draw.
991 * pname:firstIndex is the base index within the index buffer.
992 * pname:vertexOffset is the value added to the vertex index before
994 * pname:firstInstance is the instance ID of the first instance to draw.
996 When the command is executed, primitives are assembled using the current
999 The index buffer is treated as an array of tightly packed unsigned integers
1005 The first vertex index is at an offset of [eq]#pname:firstIndex {times}
1007 pname:offset is the offset specified by fname:vkCmdBindIndexBuffer
1009 and code:indexSize is the byte size of the type specified by
1014 extended to 32 bits (if the code:indexType is
1048 * pname:commandBuffer is the command buffer into which the command is
1050 * pname:drawCount is the number of draws to execute, and can: be zero.
1051 * pname:pVertexInfo is a pointer to an array of slink:VkMultiDrawInfoEXT
1053 * pname:instanceCount is the number of instances per draw.
1054 * pname:firstInstance is the instance ID of the first instance in each
1056 * pname:stride is the byte stride between consecutive elements of
1059 The number of draws recorded is pname:drawCount, with each draw reading,
1077 If pname:drawCount is greater than zero, pname:pVertexInfo must: be a
1096 * pname:commandBuffer is the command buffer into which the command is
1098 * pname:drawCount is the number of draws to execute, and can: be zero.
1099 * pname:pIndexInfo is a pointer to an array of
1101 * pname:instanceCount is the number of instances per draw.
1102 * pname:firstInstance is the instance ID of the first instance in each
1104 * pname:stride is the byte stride between consecutive elements of
1106 * pname:pVertexOffset is `NULL` or a pointer to the value added to the
1108 When specified, sname:VkMultiDrawIndexedInfoEXT::pname:offset is
1111 The number of draws recorded is pname:drawCount, with each draw reading,
1118 If pname:pVertexOffset is `NULL`, a pname:vertexOffset is also read from
1120 is used.
1135 If pname:drawCount is greater than zero, pname:pIndexInfo must: be a
1147 The sname:VkMultiDrawInfoEXT structure is defined as:
1151 * pname:firstVertex is the first vertex to draw.
1152 * pname:vertexCount is the number of vertices to draw.
1162 The sname:VkMultiDrawIndexedInfoEXT structure is defined as:
1166 * pname:firstIndex is the first index to draw.
1167 * pname:indexCount is the number of vertices to draw.
1168 * pname:vertexOffset is the value added to the vertex index before
1189 * pname:commandBuffer is the command buffer into which the command is
1191 * pname:buffer is the buffer containing draw parameters.
1192 * pname:offset is the byte offset into pname:buffer where parameters
1194 * pname:drawCount is the number of draws to execute, and can: be zero.
1195 * pname:stride is the byte stride between successive sets of draw
1205 If pname:drawCount is less than or equal to one, pname:stride is ignored.
1214 If pname:drawCount is greater than `1`, pname:stride must: be a multiple
1218 If pname:drawCount is equal to `1`, [eq]#(pname:offset {plus}
1222 If pname:drawCount is greater than `1`, [eq]#(pname:stride {times}
1233 The sname:VkDrawIndirectCommand structure is defined as:
1237 * pname:vertexCount is the number of vertices to draw.
1238 * pname:instanceCount is the number of instances to draw.
1239 * pname:firstVertex is the index of the first vertex to draw.
1240 * pname:firstInstance is the instance ID of the first instance to draw.
1253 pname:drawIndirectFirstInstance>> feature is not enabled,
1285 * pname:commandBuffer is the command buffer into which the command is
1287 * pname:buffer is the buffer containing draw parameters.
1288 * pname:offset is the byte offset into pname:buffer where parameters
1290 * pname:countBuffer is the buffer containing the draw count.
1291 * pname:countBufferOffset is the byte offset into pname:countBuffer where
1295 The actual number of executed draw calls is the minimum of the count
1297 * pname:stride is the byte stride between successive sets of draw
1301 except that the draw count is read by the device from a buffer during
1316 If pname:maxDrawCount is greater than or equal to `1`,
1321 If the count stored in pname:countBuffer is equal to `1`,
1325 If the count stored in pname:countBuffer is greater than `1`,
1344 * pname:commandBuffer is the command buffer into which the command is
1346 * pname:buffer is the buffer containing draw parameters.
1347 * pname:offset is the byte offset into pname:buffer where parameters
1349 * pname:drawCount is the number of draws to execute, and can: be zero.
1350 * pname:stride is the byte stride between successive sets of draw
1361 If pname:drawCount is less than or equal to one, pname:stride is ignored.
1371 If pname:drawCount is greater than `1`, pname:stride must: be a multiple
1375 If pname:drawCount is equal to `1`, [eq]#(pname:offset {plus}
1379 If pname:drawCount is greater than `1`, [eq]#(pname:stride {times}
1392 The sname:VkDrawIndexedIndirectCommand structure is defined as:
1396 * pname:indexCount is the number of vertices to draw.
1397 * pname:instanceCount is the number of instances to draw.
1398 * pname:firstIndex is the base index within the index buffer.
1399 * pname:vertexOffset is the value added to the vertex index before
1401 * pname:firstInstance is the instance ID of the first instance to draw.
1415 pname:drawIndirectFirstInstance>> feature is not enabled,
1447 * pname:commandBuffer is the command buffer into which the command is
1449 * pname:buffer is the buffer containing draw parameters.
1450 * pname:offset is the byte offset into pname:buffer where parameters
1452 * pname:countBuffer is the buffer containing the draw count.
1453 * pname:countBufferOffset is the byte offset into pname:countBuffer where
1457 The actual number of executed draw calls is the minimum of the count
1459 * pname:stride is the byte stride between successive sets of draw
1463 flink:vkCmdDrawIndexedIndirect except that the draw count is read by the
1479 If pname:maxDrawCount is greater than or equal to `1`,
1484 If count stored in pname:countBuffer is equal to `1`, [eq]#(pname:offset
1488 If count stored in pname:countBuffer is greater than `1`,
1503 It is possible to draw vertex data that was previously captured during
1506 A pipeline barrier is required between using the buffers as transform
1508 feedback buffers are visible when the data is read as vertex attributes.
1509 The source access is ename:VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT and
1510 the destination access is ename:VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT for the
1516 A pipeline barrier is required between using the counter buffer for
1518 where the source access is
1520 access is ename:VK_ACCESS_INDIRECT_COMMAND_READ_BIT for the pipeline stages
1524 …EXT',desc='Draw primitives with indirect parameters where the vertex count is derived from the cou…
1528 To record a non-indexed draw call, where the vertex count is based on a byte
1533 * pname:commandBuffer is the command buffer into which the command is
1535 * pname:instanceCount is the number of instances to draw.
1536 * pname:firstInstance is the instance ID of the first instance to draw.
1537 * pname:counterBuffer is the buffer handle from where the byte count is
1539 * pname:counterBufferOffset is the offset into the buffer used to read the
1540 byte count, which is used to calculate the vertex count for this draw
1542 * pname:counterOffset is subtracted from the byte count read from the
1544 * pname:vertexStride is the stride in bytes between each element of the
1545 vertex data that is used to calculate the vertex count from the counter
1547 This value is typically the same value that was used in the graphics
1551 When the command is executed, primitives are assembled in the same way as
1552 done with flink:vkCmdDraw except the pname:vertexCount is calculated based
1557 The effective pname:vertexCount is calculated as follows:
1565 The effective pname:firstVertex is zero.
1581 If pname:counterBuffer is non-sparse then it must: be bound completely
1607 flink:vkCmdClearAttachments within a conditional rendering block which is
1613 After beginning conditional rendering, it is considered _active_ within the
1614 command buffer it was called until it is ended with
1618 When conditional rendering is active, a primary command buffer can: execute
1620 pname:inheritedConditionalRendering>> feature is enabled.
1621 For a secondary command buffer to be executed while conditional rendering is
1637 * pname:commandBuffer is the command buffer into which this command will
1639 * pname:pConditionalRenderingBegin is a pointer to a
1655 The sname:VkConditionalRenderingBeginInfoEXT structure is defined as:
1659 * pname:sType is a elink:VkStructureType value identifying this structure.
1660 * pname:pNext is `NULL` or a pointer to a structure extending this
1662 * pname:buffer is a buffer containing the predicate for conditional
1664 * pname:offset is the byte offset into pname:buffer where the predicate is
1666 * pname:flags is a bitmask of tlink:VkConditionalRenderingFlagsEXT
1669 If the 32-bit value at pname:offset in pname:buffer memory is zero, then the
1672 rendering is active, the rendering commands may: be discarded in an
1681 If pname:buffer is non-sparse then it must: be bound completely and
1706 That is, if the 32-bit predicate read from pname:buffer memory at
1707 pname:offset is zero, the rendering commands are not discarded, and if
1715 tname:VkConditionalRenderingFlagsEXT is a bitmask type for setting a mask of
1725 * pname:commandBuffer is the command buffer into which this command will