Vulkan-Docs/doc/specs/vulkan/validity/structs/VkImageMemoryBarrier.txt
Jon Leech 3b32b240f6 Change log for April 15, 2016 Vulkan 1.0.10 spec update:
* Bump API patch number and header version number to 10 for this
    update.

Github Issues:

  * Slightly tweak the <<memory-allocation,Host Memory>> allocator language
    so that an application wrapping the standard C alloc/free/realloc
    functions is still correct - the previous language was too strong with
    regards to freeing memory. Also made certain scenarios clearer - an
    implementation may now continue without error if an allocation failed
    and it is able to continue correctly (public issue 21).
  * Require that etext:VK_*_CREATE_SPARSE_BINDING_BIT is set when the
    corresponding etext:VK_*_CREATE_SPARSE_RESIDENCY_BIT is used, in the
    <<sparsememory-miptail,Mip Tail Regions>> section and related commands
    flink:vkCreateBuffer and flink:vkCreateImage (public issue 84).
  * Update the <<features,Features, Limits, and Formats>> chapter to clarify
    interactions between optional features and dynamic state for the
    pname:depthBiasClamp and pname:wideLines features (public issue 89).
  * Describe the code:WorkgroupSize builtin in the
    <<interfaces-builtin-variables,Built-In Variables>> section, and update
    the <<compute-shaders,Compute Shaders>> section to further clarify how
    to set the number of workgroups to execute in a compute shader (public
    issue 145).
  * Use the term *image subresource* everywhere instead of *subresource*,
    except for the special case of *host-accessible subresource*, which may
    be either an image subresource or buffer range (public issue 120)
  * Add a note to the <<features,Features, Limits, and Formats>> section
    about extensibility of structures (Public issue 165).
  * Fix return code flink:vkAcquireNextImageKHR when the timeout parameter
    is 0 to ename:VK_NOT_READY instead of ename:VK_TIMEOUT (public issue
    170).
  * Fix typo in slink:VkLayerProperties::pname:apiVersion field (public
    issue 172).

Internal Issues:

  * Fix a few minor internally-detected typos.
  * Minor formatting tweaks to pseudocode in the <<resources,Resource
    Creation>> chapter (internal issue 179).
  * Fix typo in the definition of point sampling for
    elink:VkCullModeFlagBits (internal issue 268).
2016-04-14 01:58:49 -07:00

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 image 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[]