mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-01-21 03:40:21 +00:00
5d10fc3089
* Bump API patch number and header version number to 9 for this update. Github Issues: * Fix memory type preorder definition and clarify example list and source code for slink:VkMemoryRequirements and slink:VkMemoryHeap (public issue 26). * Ensure slink:VkAllocationCallbacks are properly defined (public issue 73). * Clarify the WSI extension language by switching from the fuzzier "ownership" language to more-consistent "acquire" language (public issue 117). * Add language allowing allocation and freeing of memory scoped to the duration of any API command in the <<memory-allocation,Memory Allocation>> section (public issue 136). * Clarify the explicit location assignment always overrides the inherited location in the <<interfaces-iointerfaces-locations,Location Assignment>> section, even for the first member of a block (public issue 141). * Fixed references to slink:VkCommandBufferInheritanceInfo::pname:pipelineStatistics (public issue 158). * Fix name of slink:VkBufferCopy::pname:size field in validity language for flink:vkCmdCopyBuffer (public issue 162). Internal Issues: * Update GL_KHR_vulkan_glsl specification to clarify disallowance of spec-const arrays in initializers (internal issue 248). * Clarify <<interfaces-iointerfaces-matching,Interface Matching>> section to state that user-defined variable interface must match too (internal issue 250).
68 lines
5.3 KiB
Plaintext
68 lines
5.3 KiB
Plaintext
// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry
|
|
ifndef::doctype-manpage[]
|
|
.Valid Usage
|
|
********************************************************************************
|
|
endif::doctype-manpage[]
|
|
ifdef::doctype-manpage[]
|
|
Valid Usage
|
|
-----------
|
|
endif::doctype-manpage[]
|
|
* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle
|
|
* pname:pCommandBuffers must: be a pointer to an array of pname:commandBufferCount valid sname:VkCommandBuffer handles
|
|
* pname:commandBuffer must: be in the recording state
|
|
* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support transfer, graphics or compute operations
|
|
* pname:commandBuffer must: be a primary sname:VkCommandBuffer
|
|
* pname:commandBufferCount must: be greater than `0`
|
|
* Each of pname:commandBuffer and the elements of pname:pCommandBuffers must: have been created, allocated or retrieved from the same sname:VkDevice
|
|
* pname:commandBuffer must: have been created with a pname:level of ename:VK_COMMAND_BUFFER_LEVEL_PRIMARY
|
|
* Any given element of pname:pCommandBuffers must: have been created with a pname:level of ename:VK_COMMAND_BUFFER_LEVEL_SECONDARY
|
|
* Any given element of pname:pCommandBuffers mustnot: be already pending execution in pname:commandBuffer, or appear twice in pname:pCommandBuffers, unless it was created with the ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag
|
|
* Any given element of pname:pCommandBuffers mustnot: be already pending execution in any other sname:VkCommandBuffer, unless it was created with the ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag
|
|
* Any given element of pname:pCommandBuffers must: be in the executable state
|
|
* If fname:vkCmdExecuteCommands is being called within a render pass instance, that render pass instance must: have been begun with the pname:contents parameter of fname:vkCmdBeginRenderPass set to ename:VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS
|
|
* If fname:vkCmdExecuteCommands is being called within a render pass instance, any given element of pname:pCommandBuffers must: have been recorded with the ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT
|
|
* If fname:vkCmdExecuteCommands is being called within a render pass instance, any given element of pname:pCommandBuffers must: have been recorded with the pname:subpass member of the pname:inheritanceInfo structure set to the index of the subpass which the given command buffer will be executed in
|
|
* If fname:vkCmdExecuteCommands is being called within a render pass instance, any given element of pname:pCommandBuffers must: have been recorded with a render pass that is compatible with the current render pass - see <<renderpass-compatibility>>
|
|
* If fname:vkCmdExecuteCommands is being called within a render pass instance, and any given element of pname:pCommandBuffers was recorded with the pname:framebuffer member of the sname:VkCommandBufferInheritanceInfo structure not equal to sname:VK_NULL_HANDLE, that sname:VkFramebuffer must: be compatible with the sname:VkFramebuffer used in the current render pass instance
|
|
* If the <<features-features-inheritedQueries,inherited queries>> feature is not enabled, pname:commandBuffer mustnot: have any queries <<queries-operation-active,active>>
|
|
* If pname:commandBuffer has a ename:VK_QUERY_TYPE_OCCLUSION query <<queries-operation-active,active>>, then each element of pname:pCommandBuffers must: have been recorded with sname:VkCommandBufferBeginInfo::pname:occlusionQueryEnable set to ename:VK_TRUE
|
|
* If pname:commandBuffer has a ename:VK_QUERY_TYPE_OCCLUSION query <<queries-operation-active,active>>, then each element of pname:pCommandBuffers must: have been recorded with sname:VkCommandBufferBeginInfo::pname:queryFlags having all bits set that are set for the query
|
|
* If pname:commandBuffer has a ename:VK_QUERY_TYPE_PIPELINE_STATISTICS query <<queries-operation-active,active>>, then each element of pname:pCommandBuffers must: have been recorded with sname:VkCommandBufferInheritanceInfo::pname:pipelineStatistics having all bits set that are set in the sname:VkQueryPool the query uses
|
|
* Any given element of pname:pCommandBuffers mustnot: begin any query types that are <<queries-operation-active,active>> in pname:commandBuffer
|
|
ifndef::doctype-manpage[]
|
|
********************************************************************************
|
|
endif::doctype-manpage[]
|
|
|
|
ifndef::doctype-manpage[]
|
|
.Host Synchronization
|
|
********************************************************************************
|
|
endif::doctype-manpage[]
|
|
ifdef::doctype-manpage[]
|
|
Host Synchronization
|
|
--------------------
|
|
endif::doctype-manpage[]
|
|
* Host access to pname:commandBuffer must: be externally synchronized
|
|
ifndef::doctype-manpage[]
|
|
********************************************************************************
|
|
endif::doctype-manpage[]
|
|
|
|
ifndef::doctype-manpage[]
|
|
.Command Properties
|
|
********************************************************************************
|
|
endif::doctype-manpage[]
|
|
ifdef::doctype-manpage[]
|
|
Command Properties
|
|
------------------
|
|
endif::doctype-manpage[]
|
|
[options="header", width="100%"]
|
|
|=====================
|
|
|Command Buffer Levels|Render Pass Scope|Supported Queue Types
|
|
|Primary|Both|TRANSFER +
|
|
GRAPHICS +
|
|
COMPUTE
|
|
|=====================
|
|
ifndef::doctype-manpage[]
|
|
********************************************************************************
|
|
endif::doctype-manpage[]
|
|
|