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

73 lines
4.8 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:srcImage must: be a valid sname:VkImage handle
* pname:srcImageLayout must: be a valid elink:VkImageLayout value
* pname:dstImage must: be a valid sname:VkImage handle
* pname:dstImageLayout must: be a valid elink:VkImageLayout value
* pname:pRegions must: be a pointer to an array of pname:regionCount valid sname:VkImageBlit structures
* pname:filter must: be a valid elink:VkFilter 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
* The value of pname:regionCount must: be greater than `0`
* Each of pname:commandBuffer, pname:srcImage and pname:dstImage must: have been created, allocated or retrieved from the same sname:VkDevice
* The source region specified by a given element of pname:pRegions must: be a region that is contained within pname:srcImage
* The destination region specified by a given element of pname:pRegions must: be a region that is contained within pname:dstImage
* The union of all source regions, and the union of all destination regions, specified by the elements of pname:pRegions, mustnot: overlap in memory
* pname:srcImage must: use a format that supports ename:VK_FORMAT_FEATURE_BLIT_SRC_BIT, which is indicated by sname:VkFormatProperties::pname:linearTilingFeatures (for linear tiled images) or sname:VkFormatProperties::pname:optimalTilingFeatures (for optimally tiled images) - as returned by fname:vkGetPhysicalDeviceFormatProperties
* pname:srcImage must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
* pname:srcImageLayout must: specify the layout of the subresources of pname:srcImage specified in pname:pRegions at the time this command is executed on a sname:VkDevice
* pname:srcImageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL
* pname:dstImage must: use a format that supports ename:VK_FORMAT_FEATURE_BLIT_DST_BIT, which is indicated by sname:VkFormatProperties::pname:linearTilingFeatures (for linear tiled images) or sname:VkFormatProperties::pname:optimalTilingFeatures (for optimally tiled images) - as returned by fname:vkGetPhysicalDeviceFormatProperties
* pname:dstImage must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag
* pname:dstImageLayout must: specify the layout of the subresources of pname:dstImage specified in pname:pRegions at the time this command is executed on a sname:VkDevice
* pname:dstImageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL
* The sample count of pname:srcImage and pname:dstImage must: both be equal to ename:VK_SAMPLE_COUNT_1_BIT
* If either of pname:srcImage or pname:dstImage was created with a signed integer elink:VkFormat, the other must: also have been created with a signed integer elink:VkFormat
* If either of pname:srcImage or pname:dstImage was created with an unsigned integer elink:VkFormat, the other must: also have been created with an unsigned integer elink:VkFormat
* If either of pname:srcImage or pname:dstImage was created with a depth/stencil format, the other must: have exactly the same format
* If pname:srcImage was created with a depth/stencil format, pname:filter must: be ename:VK_FILTER_NEAREST
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 +
Secondary|Outside|GRAPHICS
|=====================
ifndef::doctype-manpage[]
********************************************************************************
endif::doctype-manpage[]