35 lines
3.4 KiB
Plaintext
35 lines
3.4 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:sType must: be ename:VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER
|
|
* pname:pNext must: be `NULL`
|
|
* pname:srcAccessMask must: be a valid combination of elink:VkAccessFlagBits values
|
|
* pname:dstAccessMask must: be a valid combination of elink:VkAccessFlagBits values
|
|
* pname:oldLayout must: be a valid elink:VkImageLayout value
|
|
* pname:newLayout must: be a valid elink:VkImageLayout value
|
|
* pname:image must: be a valid sname:VkImage handle
|
|
* pname:subresourceRange must: be a valid sname:VkImageSubresourceRange structure
|
|
* pname:oldLayout must: be ename:VK_IMAGE_LAYOUT_UNDEFINED, ename:VK_IMAGE_LAYOUT_PREINITIALIZED or the current layout of the image region affected by the barrier
|
|
* pname:newLayout mustnot: be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED
|
|
* If pname:image was created with a sharing mode of ename:VK_SHARING_MODE_CONCURRENT, pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex must: both be ename:VK_QUEUE_FAMILY_IGNORED
|
|
* If pname:image was created with a sharing mode of ename:VK_SHARING_MODE_EXCLUSIVE, pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex must: either both be ename:VK_QUEUE_FAMILY_IGNORED, or both be a valid queue family (see <<devsandqueues-queueprops>>)
|
|
* If pname:image was created with a sharing mode of ename:VK_SHARING_MODE_EXCLUSIVE, and pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex are valid queue families, at least one of them must: be the same as the family of the queue that will execute this barrier
|
|
* pname:subresourceRange must: be a valid subresource range for the image (see <<resources-image-views>>)
|
|
* If pname:image has a depth/stencil format with both depth and stencil components, then pname:aspectMask member of pname:subresourceRange must: include both ename:VK_IMAGE_ASPECT_DEPTH_BIT and ename:VK_IMAGE_ASPECT_STENCIL_BIT
|
|
* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT set
|
|
* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set
|
|
* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set
|
|
* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_SAMPLED_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT set
|
|
* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT set
|
|
* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT set
|
|
ifndef::doctype-manpage[]
|
|
********************************************************************************
|
|
endif::doctype-manpage[]
|
|
|