Vulkan-Docs/doc/specs/vulkan/validity/protos/vkCmdBeginRenderPass.txt

57 lines
5.1 KiB
Plaintext
Raw Normal View History

2016-02-16 09:53:44 +00:00
// 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:pRenderPassBegin must: be a pointer to a valid sname:VkRenderPassBeginInfo structure
* pname:contents must: be a valid elink:VkSubpassContents value
* pname:commandBuffer must: be in the recording state
* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations
* This command must: only be called outside of a render pass instance
* pname:commandBuffer must: be a primary sname:VkCommandBuffer
Change log for June 17, 2016 Vulkan 1.0.17 spec update: * Bump API patch number and header version number to 17 for this update. Github Issues: * Update description of vertex shader reuse in <<shaders-vertex-execution>> (public issue 106). * Simplify validity language around pname:ppEnabledExtensionNames and pname:ppEnabledLayerNames (in the <<initialization-instances>> and <<devsandqueues-device-creation>> sections) (public issue 214). * Add missing validity rule to flink:vkCmdBeginRenderPass requiring compatibility between slink:VkAttachmentDescription pname:initalLayout members and the corresponding attached framebuffer images (public issue 233). * Fix Unicode arrows appearing in output instead of relational operators (public issue 239). * Correctly describe the required number of elements for code:TessLevelInner and code:TessLevelOuter arrays in the <<interfaces-builtin-variables,Built-In Variables>> section as two and four, respectively, instead of the other way around, and refer to this section from the <<tessellation,Tessellation>> chapter (public issue 246). Internal Issues: * Document deprecation of ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR in the VK_KHR_surface extension branch, and of ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT in the VK_EXT_debug_report branch (internal issue 328). * Added language to define what a valid usage statement is and should be, with a note about some apparent weirdnesses this might entail (internal issue 357). Other Commits: * Added missing ename:VK_ERROR_DEVICE_LOST error to flink:vkQueueBindSparse.
2016-06-17 22:39:39 +00:00
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT set
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_SAMPLED_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT set
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT set
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT set
Change log for July 1, 2016 Vulkan 1.0.19 spec update: * Bump API patch number and header version number to 19 for this update. Github Issues: * Clarified how flink:vkGetImageSubresourceLayout interacts with image layouts (public issue 247). * Remove ename:VK_IMAGE_LAYOUT_PREINITIALIZED from valid usage rule for slink:VkImageMemoryBarrier::pname:oldLayout. It is only valid if it is the current layout (public issue 248). * Modify valid usage for flink:vkBindBufferMemory so implementations are free to require a different backing memory size than the buffer size (public issue 251). * Clarify that filtering rules for flink:vkCmdBlitImage always apply, and are usually no-ops if the formats are the same (public issue 253). * Remove 'non-sparse' from description of flink:vkGetBufferMemoryRequirements and flink:vkGetImageMemoryRequirements (public issue 257). * Remove ename:VK_ERROR_LAYER_NOT_PRESENT error code from flink:vkCreateDevice (public issue 259). * Change "must not" to "should not" in constraint on when flink:vkAcquireNextImageKHR is called in the +VK_KHR_swapchain+ branch (public issue 262). * Change type of flink:vkCmdUpdateBuffer::pname:pData from basetype:uint32_t* to basetype:void* (public issue 263). * Change should: to must: in description of where additional segments are placed in the <<[tessellation-tessellator-spacing,Tessellator Spacing>> section (public issue 264). Internal Issues: * Normalize the language of all the compute shader built-ins in the <<interfaces-builtin-variables,Built-in Variables>> section (internal issue 323). * Remove definition of presentation engine internal queue lengths associated with ename:VK_PRESENT_MODE_FIFO_KHR and ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the <<Window System Integration,wsi>> chapter (internal issue 374). * The language of a Note was too broad, and implied that loaders for a given OS would statically export functions for WSI extensions that weren't relevant to (or supported on) the OS. Also, removed "Khronos-provided" since the Android loader isn't (internal issue 380) Other Commits: * Add ename:VK_INCOMPLETE to list of return values for flink:vkGetPipelineCacheData. Spec says this value is returnable, but it wasn't listed in the error codes. * Fix "correponds" typo in member definitions for slink:VkSubpassDescription.
2016-07-01 02:34:54 +00:00
* If any of the pname:initialLayout members of the sname:VkAttachmentDescription structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is not ename:VK_IMAGE_LAYOUT_UNDEFINED, then each such pname:initialLayout must: be equal to the current layout of the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin.
2016-02-16 09:53:44 +00:00
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|Outside|GRAPHICS
|=====================
ifndef::doctype-manpage[]
********************************************************************************
endif::doctype-manpage[]