Change log for February 10, 2019 Vulkan 1.1.100 spec update:

* Update release number to 100.

Public Issues:

  * Clarify that scoped modification order only relates to
    <<memory-model-atomic-operation, atomic writes>> (public pull request
    906).
  * Remove `readme.txt` reference from `xml/README.adoc` (public pull
    request 907).
  * Add missing slink:VkShaderResourceUsageAMD to the <<Vk_AMD_shader_info>>
    appendix (public pull request 908).
  * Fix markup for <<VK_EXT_filter_cubic>> appendix (public pull request
    911).
  * Fix typo "`attachment`" (public pull request 914).
  * Alias the enums for `VK_IMG_filter_cubic` properly to the corresponding
    `VK_EXT_filter_cubic` enums, so they appear in the corresponding
    enumerated types, instead of as #defines (Vulkan-Headers issue 40).

Internal Issues:

  * Remove nested conditionals in valid usage statements for
    slink:VkFramebufferCreateInfo and flink:vkCmdPipelineBarrier by
    duplicating statements along ifdef/ifndef paths for
    VK_KHR_depth_stencil_resolve (internal issue 1527).
  * Clarify allowed values of <<spirv-precision-operation, SPIR-V operations
    near infinity>>. For very large results of operations the allowed range
    of return values as defined in the spec didn't include the largest
    finite number. In some rounding modes (eg. RTZ) the largest finite
    number is the correctly rounded result, so it should be allowed.
  * Require descriptor types to match in slink:VkCopyDescriptorSet.
This commit is contained in:
Jon Leech 2019-02-10 22:18:29 -08:00
parent bc1025510e
commit fcf5980cf6
10 changed files with 93 additions and 37 deletions

View File

@ -8,6 +8,41 @@ public pull requests that have been accepted.
-----------------------------------------------------
Change log for February 10, 2019 Vulkan 1.1.100 spec update:
* Update release number to 100.
Public Issues:
* Clarify that scoped modification order only relates to
<<memory-model-atomic-operation, atomic writes>> (public pull request
906).
* Remove `readme.txt` reference from `xml/README.adoc` (public pull
request 907).
* Add missing slink:VkShaderResourceUsageAMD to the <<Vk_AMD_shader_info>>
appendix (public pull request 908).
* Fix markup for <<VK_EXT_filter_cubic>> appendix (public pull request
911).
* Fix typo "`attachment`" (public pull request 914).
* Alias the enums for `VK_IMG_filter_cubic` properly to the corresponding
`VK_EXT_filter_cubic` enums, so they appear in the corresponding
enumerated types, instead of as #defines (Vulkan-Headers issue 40).
Internal Issues:
* Remove nested conditionals in valid usage statements for
slink:VkFramebufferCreateInfo and flink:vkCmdPipelineBarrier by
duplicating statements along ifdef/ifndef paths for
VK_KHR_depth_stencil_resolve (internal issue 1527).
* Clarify allowed values of <<spirv-precision-operation, SPIR-V operations
near infinity>>. For very large results of operations the allowed range
of return values as defined in the spec didn't include the largest
finite number. In some rounding modes (eg. RTZ) the largest finite
number is the correctly rounded result, so it should be allowed.
* Require descriptor types to match in slink:VkCopyDescriptorSet.
-----------------------------------------------------
Change log for February 3, 2019 Vulkan 1.1.99 spec update:
* Update release number to 99.

View File

@ -115,7 +115,7 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output
NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 99
PATCHVERSION = 100
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
SPECREVISION = 1.1.$(PATCHVERSION)
else

View File

@ -189,9 +189,8 @@ other as if they were non-atomic operations.
[[memory-model-scoped-modification-order]]
== Scoped Modification Order
For a given atomic write A, all atomic writes that are
mutually-ordered with A occur in an order known as A's _scoped modification
order_.
For a given atomic write A, all atomic writes that are mutually-ordered with
A occur in an order known as A's _scoped modification order_.
A's scoped modification order relates no other operations.
NOTE: Invocations outside the instance of A's memory scope may: observe the

View File

@ -1038,7 +1038,7 @@ returned.
.ULP
Where an error bound of [eq]#n# ULP (units in the last place) is given, for
an operation with infinitely precise result #x# the value returned must be
an operation with infinitely precise result #x# the value returned must: be
in the range #[x - n * ulp(x), x + n * ulp(x)]#.
The function #ulp(x)# is defined as follows:
@ -1050,7 +1050,9 @@ between the two finite floating-point numbers nearest to #x#.
Where the range of allowed return values includes any value of magnitude
larger than that of the largest representable finite floating-point number,
operations may return an infinity of the appropriate sign.
operations may:, additionally, return either an infinity of the appropriate
sign or the finite number with the largest magnitude of the appropriate
sign.
If the infinitely precise result of the operation is not mathematically
defined then the value returned is undefined:.

View File

@ -3050,6 +3050,9 @@ endif::VK_EXT_inline_uniform_block[]
than or equal to the number of array elements in the descriptor set
binding specified by pname:dstBinding, and all applicable consecutive
bindings, as described by <<descriptorsets-updates-consecutive>>
* [[VUID-VkCopyDescriptorSet-dstBinding-02632]]
The type of pname:dstBinding within pname:dstSet must: be equal to the
type of pname:srcBinding within pname:srcSet
* [[VUID-VkCopyDescriptorSet-srcSet-00349]]
If pname:srcSet is equal to pname:dstSet, then the source and
destination ranges of descriptors must: not overlap, where the ranges

View File

@ -2344,14 +2344,18 @@ slink:VkPipelineMultisampleStateCreateInfo::pname:rasterizationSamples.
Each element of pname:pAttachments that is used as a color attachment or
resolve attachment by pname:renderPass must: have been created with a
pname:usage value including ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
* [[VUID-VkFramebufferCreateInfo-pAttachments-02603]]
* [[VUID-VkFramebufferCreateInfo-pAttachments-02633]]
Each element of pname:pAttachments that is used as a depth/stencil
ifdef::VK_KHR_depth_stencil_resolve[]
attachment or depth/stencil resolve
endif::VK_KHR_depth_stencil_resolve[]
attachment by pname:renderPass must: have been created with a
pname:usage value including
ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
ifdef::VK_KHR_depth_stencil_resolve[]
* [[VUID-VkFramebufferCreateInfo-pAttachments-02634]]
Each element of pname:pAttachments that is used as a depth/stencil
resolve attachment by pname:renderPass must: have been created with a
pname:usage value including
ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
endif::VK_KHR_depth_stencil_resolve[]
* [[VUID-VkFramebufferCreateInfo-pAttachments-00879]]
Each element of pname:pAttachments that is used as an input attachment
by pname:renderPass must: have been created with a pname:usage value

View File

@ -3661,32 +3661,47 @@ framebuffer-space>> pipeline stages is
* [[VUID-vkCmdPipelineBarrier-bufferMemoryBarrierCount-01178]]
If fname:vkCmdPipelineBarrier is called within a render pass instance,
pname:bufferMemoryBarrierCount must: be `0`
* [[VUID-vkCmdPipelineBarrier-image-01179]]
ifdef::VK_KHR_depth_stencil_resolve[]
* [[VUID-vkCmdPipelineBarrier-image-02635]]
If fname:vkCmdPipelineBarrier is called within a render pass instance,
the pname:image member of any element of pname:pImageMemoryBarriers
must: be equal to one of the elements of pname:pAttachments that the
current pname:framebuffer was created with, that is also referred to by
one of the elements of the pname:pColorAttachments,
pname:pResolveAttachments or pname:pDepthStencilAttachment members of
the sname:VkSubpassDescription instance
ifdef::VK_KHR_depth_stencil_resolve[]
or by the pname:pDepthStencilResolveAttachment member of the
sname:VkSubpassDescriptionDepthStencilResolveKHR structure
endif::VK_KHR_depth_stencil_resolve[]
that the current subpass was created with
* [[VUID-vkCmdPipelineBarrier-oldLayout-01180]]
the sname:VkSubpassDescription instance or by the
pname:pDepthStencilResolveAttachment member of the
sname:VkSubpassDescriptionDepthStencilResolveKHR structure that the
current subpass was created with
* [[VUID-vkCmdPipelineBarrier-oldLayout-02636]]
If fname:vkCmdPipelineBarrier is called within a render pass instance,
the pname:oldLayout and pname:newLayout members of any element of
pname:pImageMemoryBarriers must: be equal to the pname:layout member of
an element of the pname:pColorAttachments, pname:pResolveAttachments or
pname:pDepthStencilAttachment members of the sname:VkSubpassDescription
instance
ifdef::VK_KHR_depth_stencil_resolve[]
or by the pname:pDepthStencilResolveAttachment member of the
sname:VkSubpassDescriptionDepthStencilResolveKHR structure
instance or by the pname:pDepthStencilResolveAttachment member of the
sname:VkSubpassDescriptionDepthStencilResolveKHR structure that the
current subpass was created with, that refers to the same pname:image
endif::VK_KHR_depth_stencil_resolve[]
ifndef::VK_KHR_depth_stencil_resolve[]
* [[VUID-vkCmdPipelineBarrier-image-02637]]
If fname:vkCmdPipelineBarrier is called within a render pass instance,
the pname:image member of any element of pname:pImageMemoryBarriers
must: be equal to one of the elements of pname:pAttachments that the
current pname:framebuffer was created with, that is also referred to by
one of the elements of the pname:pColorAttachments,
pname:pResolveAttachments or pname:pDepthStencilAttachment members of
the sname:VkSubpassDescription instance that the current subpass was
created with
* [[VUID-vkCmdPipelineBarrier-oldLayout-02638]]
If fname:vkCmdPipelineBarrier is called within a render pass instance,
the pname:oldLayout and pname:newLayout members of any element of
pname:pImageMemoryBarriers must: be equal to the pname:layout member of
an element of the pname:pColorAttachments, pname:pResolveAttachments or
pname:pDepthStencilAttachment members of the sname:VkSubpassDescription
instance that the current subpass was created with, that refers to the
same pname:image
endif::VK_KHR_depth_stencil_resolve[]
that the current subpass was created with, that refers to the same
pname:image
* [[VUID-vkCmdPipelineBarrier-oldLayout-01181]]
If fname:vkCmdPipelineBarrier is called within a render pass instance,
the pname:oldLayout and pname:newLayout members of an element of

View File

@ -43,7 +43,7 @@ extern "C" {
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
// Version of this file
#define VK_HEADER_VERSION 99
#define VK_HEADER_VERSION 100
#define VK_NULL_HANDLE 0
@ -1143,7 +1143,8 @@ typedef enum VkDynamicState {
typedef enum VkFilter {
VK_FILTER_NEAREST = 0,
VK_FILTER_LINEAR = 1,
VK_FILTER_CUBIC_EXT = 1000015000,
VK_FILTER_CUBIC_IMG = 1000015000,
VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST,
VK_FILTER_END_RANGE = VK_FILTER_LINEAR,
VK_FILTER_RANGE_SIZE = (VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1),
@ -1343,7 +1344,7 @@ typedef enum VkFormatFeatureFlagBits {
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = 0x00010000,
VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
@ -1355,6 +1356,7 @@ typedef enum VkFormatFeatureFlagBits {
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkFormatFeatureFlagBits;
typedef VkFlags VkFormatFeatureFlags;
@ -6385,10 +6387,6 @@ VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
#define VK_IMG_filter_cubic 1
#define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
#define VK_FILTER_CUBIC_EXT 1000015000
#define VK_FILTER_CUBIC_IMG VK_FILTER_CUBIC_EXT
#define VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT 0x00002000
#define VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
#define VK_AMD_rasterization_order 1

View File

@ -1,2 +1,2 @@
# The value to start tagging VU statements at, unless overridden by -nextvu
startVUID = 2632
startVUID = 2639

View File

@ -146,7 +146,7 @@ server.
<type category="define">// Vulkan 1.1 version number
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
<type category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 99</type>
#define <name>VK_HEADER_VERSION</name> 100</type>
<type category="define">
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
@ -7883,10 +7883,8 @@ server.
<require>
<enum value="1" name="VK_IMG_FILTER_CUBIC_SPEC_VERSION"/>
<enum value="&quot;VK_IMG_filter_cubic&quot;" name="VK_IMG_FILTER_CUBIC_EXTENSION_NAME"/>
<enum offset="0" extends="VkFilter" name="VK_FILTER_CUBIC_EXT"/>
<enum bitpos="13" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT" comment="Format can be filtered with VK_FILTER_CUBIC_EXT when being sampled"/>
<enum name="VK_FILTER_CUBIC_IMG" alias="VK_FILTER_CUBIC_EXT"/>
<enum name="VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG" alias="VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT"/>
<enum offset="0" extends="VkFilter" name="VK_FILTER_CUBIC_IMG"/>
<enum bitpos="13" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG" comment="Format can be filtered with VK_FILTER_CUBIC_IMG when being sampled"/>
</require>
</extension>
<extension name="VK_AMD_extension_17" number="17" author="AMD" contact="Daniel Rakos @drakos-amd" supported="disabled">
@ -9781,6 +9779,8 @@ server.
<require>
<enum value="1" name="VK_EXT_FILTER_CUBIC_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_filter_cubic&quot;" name="VK_EXT_FILTER_CUBIC_EXTENSION_NAME"/>
<enum extends="VkFilter" name="VK_FILTER_CUBIC_EXT" alias="VK_FILTER_CUBIC_IMG"/>
<enum extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT" alias="VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT"/>
<type name="VkPhysicalDeviceImageViewImageFormatInfoEXT"/>