1741 lines
80 KiB
Plaintext
1741 lines
80 KiB
Plaintext
Update Log for the Vulkan-Docs repository on Github. This just
|
|
summarizes the periodic public updates, not individual commits to the
|
|
tree. For the most part, commits on Github are done as single large
|
|
patches at the release point, collecting together the resolution of many
|
|
Khronos internal and public issues.
|
|
|
|
-----------------------------------------------------
|
|
|
|
February 16, 2016 - Vulkan 1.0 initial public release
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 25, 2015 Vulkan 1.0.4 spec update:
|
|
|
|
* Bump API patch number from 3 to 4 for the first public update to the
|
|
spec. Add patch number to the spec title (this will be done
|
|
automatically from XML, later).
|
|
* Fixes for numerous editorial issues. Regularize descriptions of
|
|
variable-length array queries. Properly tag enumerants so they come
|
|
out in the right font (many were mislabeled in usage tags in vk.xml,
|
|
or not tagged). Spelling and markup corrections (public issue 4).
|
|
* Fix typos and clearly separate description of different types of
|
|
memory areas (public issue 5).
|
|
* Use standards-compliant preprocessor guard symbols on headers
|
|
(public issue 7).
|
|
* Note that Github users cannot currently set labels on issues, and
|
|
recommend a fallback approach (public issue 15).
|
|
* Use latexmath prefix on len= attributes (public issue 29).
|
|
* Make flink:vkCmdUpdateBuffer pname:dataSize limit consistent (public
|
|
issue 65).
|
|
* Add VK_KHR_mirror_clamp_to_edge extension to core API branch, as an
|
|
optional feature not introducing new commands or enums (internal
|
|
issue 104).
|
|
* Cleanup invariance language inherited from the GL specification to
|
|
not refer to nonexistent (GL-specific) state (internal issue 111).
|
|
* Modify the flink:vkCmdDrawIndexed pname:vertexOffset definition to
|
|
not be the "base offset within the index buffer" but rather the
|
|
"value added to the vertex index before indexing into the vertex
|
|
buffer" (internal issue 118).
|
|
* Fix drawing chapter in the "Programmable Primitive Shading" section
|
|
where it described categories of drawing commands. It referenced
|
|
flink:vkCmdDrawIndexed twice. Replace the second reference with
|
|
flink:vkCmdDrawIndexedIndirect (internal issue 119).
|
|
* Typo fixed in <<sparsememory-examples-advanced,Advanced Sparse
|
|
Resources>> sparse memory example (internal issue 122).
|
|
* Add flink:VkDisplayPlaneAlphaFlagsKHR to <require> section of
|
|
VK_KHR_display extension (internal issue 125)
|
|
* Add missing optional="false,true" to
|
|
flink:vkGetImageSparseMemoryRequirements
|
|
pname:pSparseMemoryRequirementCount parameter (internal issue 132)
|
|
* Rename ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT to
|
|
ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
|
|
(internal issue 133)
|
|
* Fix a handful of broken cross-references in the
|
|
<<samplers,Samplers>> chapter (internal issue 134).
|
|
* Fix "Input Attachement" GLSL example to use correct syntax (internal
|
|
issue 135).
|
|
* Update XML schema and documentation to accomodate recently added
|
|
attributes for validity. Add some introductory material describing
|
|
design choices and pointing to the public repository to file issues.
|
|
* Put include of validity in the core spec extensions chapter on its
|
|
own line, so that asciidoc is happy.
|
|
* Fix vertexOffset language to specify that it is the value added to
|
|
the vertex index before indexing into the vertex buffer, not the
|
|
base offset within the index buffer.
|
|
* Fix error in the description of flink:vkCmdNextSubpass.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 4, 2016 Vulkan 1.0.5 spec update:
|
|
|
|
* Bump API patch number to 5 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Correctly describe slink:VkPhysicalDeviceProperties pname:deviceName
|
|
member as a string, not a pointer to a string. Also one typo fix for
|
|
"hetereogeneous" (public issue 4).
|
|
* Replace maynot: macro with may: not, and "may: or maynot:" with
|
|
"may:" (public issue 4).
|
|
* Clarify that redundantly setting the state of a fence or event has
|
|
no effect (public issue 4).
|
|
* Minor fixes to ref pages to track descriptions of memory bits that
|
|
changed in the core spec. Fix name of a member in the description of
|
|
sname:sname:VkPipelineMultisampleStateCreateInfo (public issues 8,
|
|
13).
|
|
* Remove redundant validity statement for
|
|
sname:VkGraphicsPipelineCreateInfo::pname:stageCount (public issue
|
|
14).
|
|
* Fix typos in chapters 7-9 (public issue 14).
|
|
* Clarify the example demonstrating the behavior of
|
|
code:OpMemoryBarrier in the
|
|
<<shaders-execution-memory-ordering,shader memory acces
|
|
ordering>> section (public issue 16).
|
|
* Specify that freeing mapped memory implicitly unmaps the memory in
|
|
the description of flink:vkFreeMemory (public issue 17).
|
|
* Forbid allocation callbacks from calling into the API in the
|
|
<<memory-allocation,memory allocation>> section (public issue
|
|
20).
|
|
* Add missing validity rules about size being greater than 0 and
|
|
offset being less than size of object. Fix
|
|
flink:VkMappedMemoryRange's misinterpretation of offset (public
|
|
issues 27, 31).
|
|
* Add validity rule disallowing overlapping source/destination
|
|
descriptors in flink:VkCopyDescriptorSet (public issue 32).
|
|
* Clarify that array and matrix stride has to be a multiple of the
|
|
base alignment of the array or matrix in the
|
|
<<interfaces-resources-layout,Offset and Stride Assignment>>
|
|
section (public issue 38).
|
|
* Correct parenthesis floor nesting error in equation for
|
|
<<textures-RGB-sexp,RGB to shared exponent conversion>>.
|
|
Clarify case of when exp' is forced to 0, avoiding log2(0) undefined
|
|
problem (public issue 40).
|
|
* Remove redundant statement from the code:FragDepth description in
|
|
the <<interfaces-builtin-variables,Built-In Variables>>
|
|
section (public issue 47).
|
|
* Define the clamping of the
|
|
<<textures-level-of-detail-operation,bias added to the scale
|
|
factor>> by linking to the slink:VkPhysicalDevice feature
|
|
pname:maxSamplerLodBias (public issue 64).
|
|
* Fix typo "optimal linear resources" and clarify the set of resources
|
|
<<features-limits-bufferImageGranularity,the
|
|
pname:bufferImageGranularity resource>> applies to (public issue
|
|
67).
|
|
* Replace 'descriptor accessed by a pipeline' language for
|
|
sname:VkDescriptorSetAllocateInfo with more precise phrasing about
|
|
binding a descriptor set before a command that invokes work using
|
|
that set (public issue 69).
|
|
* tstripadj.svg contained an Inkscape tag which caused Firefox and IE
|
|
11 to fail to render it, and was illegal SVG. Generating Plain SVG
|
|
from the Inkscape SVG source fixes this (public issue 70).
|
|
* Fix validity for sname:VkVertexInputBindingDescription and
|
|
sname:VkVertexInputAttributeDescription numbers (public issue 72).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify the meaning of
|
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in
|
|
elink:VkFormatFeatureFlagBits with respect to depth compare
|
|
(internal issue 107).
|
|
* Added a note explaining that ename:VK_QUEUE_TRANSFER_BIT may or may
|
|
not be reported for a queue family that already supports
|
|
ename:VK_QUEUE_GRAPHICS_BIT or ename:VK_QUEUE_COMPUTE_BIT as the
|
|
former is a strict subset of the latter ones (internal issue 116).
|
|
* Add validity language for sname:VkDescriptorSetAllocateInfo about
|
|
exceeding the descriptor pool capacity (internal issue 140).
|
|
* Add ename:VK_INCOMPLETE success code for
|
|
flink:vkEnumeratePhysicalDevices query (internal issue 163).
|
|
|
|
Other Commits:
|
|
|
|
* Add the VK_NV_glsl_shader extension definitions to the API.
|
|
* Update GL_KHR_vulkan_glsl with 1) origin_upper_left as default 2)
|
|
specialization array constant semantics.
|
|
* Corrected/updated Data Format Specification date.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 10, 2016 Vulkan 1.0.6 spec update:
|
|
|
|
* Bump API patch number and header version number to 6 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Define 'invocation group' for compute and graphics shaders. Cleanup
|
|
definition and use of 'workgroup', and add glossary entries (public
|
|
issue 1).
|
|
* Various minor editorial fixes (public issue 33).
|
|
* Clarify locations for block members in the
|
|
<<interfaces-iointerfaces-locations,Location Assignment>>
|
|
section (public issue 45).
|
|
* Editorial fixes for <<commandbuffer-allocation,Command Buffer
|
|
Allocation>> section (public issues 54, 59).
|
|
* Clarify behavior of depth test in the <<fragops-depth,Depth Test>>
|
|
section (public issues 80, 81).
|
|
* Remove discussion of return codes from
|
|
flink:vkGetPhysicalDeviceSparseImageFormatProperties and
|
|
flink:vkGetImageSparseMemoryRequirements, which do not return values
|
|
(public issue 82).
|
|
* Allow flink:vkCmdDrawIndirect and flink:vkCmdDrawIndexedIndirect
|
|
pname:drawCount of 0, as well as 1, when the multiDrawIndirect
|
|
feature is not supported (public issue 88).
|
|
* Remove confusing wording in the <<features-limits,Limits>>
|
|
section describing the slink:VkPhysicalDeviceLimits
|
|
pname:minTexelBufferOffsetAlignment,
|
|
pname:minUniformBufferOffsetAlignment, and
|
|
pname:minStorageBufferOffsetAlignment members as both minimums and
|
|
maximums (public issue 91).
|
|
* Clarified that only the RGB components should be affected in places
|
|
where sRGB is referred to in the spec, such as ASTC formats. Minor
|
|
re-wording to avoid "color space" when actively incorrect, now that
|
|
we refer to the Data Format Spec which actually makes a distinction
|
|
between color space and transfer function (public issue 94).
|
|
* Treat pname:pPropertyCount == 0 consistently in
|
|
flink:vkEnumerateInstanceLayerProperties and
|
|
flink:vkEnumerateDeviceLayerProperties (public issue 99)
|
|
* Cleanup minor editorial issues in chapters 14-17 (public issue 100).
|
|
* Clarify definition of flink:vkEnumerateInstanceExtensionProperties
|
|
and flink:vkEnumerateDeviceExtensionProperties (public issue 101).
|
|
* Define the flink:vkEnumerateInstanceExtensionProperties and
|
|
flink:vkEnumerateDeviceExtensionProperties pname:pLayerName
|
|
parameter to be a pointer to a null-terminated UTF-8 string (public
|
|
issue 101).
|
|
* Rearrange "Missing information" references in mandatory format
|
|
tables (public issue 101).
|
|
* Clarify that the enumerated extensions returned by
|
|
flink:vkEnumerateInstanceExtensionProperties and
|
|
flink:vkEnumerateDeviceExtensionProperties will only include
|
|
extensions provided by the platform or extensions implemented in
|
|
implicitly enabled layers (public issue 101).
|
|
* Miscellaneous editorial fixes. Include the Vulkan spec patch number
|
|
in the PDF title. Fix label on <<fig-non-strict-lines,Non
|
|
strict lines>> diagram. Use more easily distinguished symbols in
|
|
tables in the <<features-required-format-support,Required
|
|
Format Support>> section. Do not require FQDNs used as layer names be
|
|
encoded in lower case if not possible, in the
|
|
<<extensions-naming-conventions, Extension and Layer Naming
|
|
Conventions>> section (public issues 101, 119, 121).
|
|
|
|
Internal Issues:
|
|
|
|
* Fixed excessive spacing in tables in XHTML (internal issue 18).
|
|
* Clarify that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
|
|
applies to secondary command buffers. Previously spec only referred
|
|
to the members of pname:pCommandBuffers being affected by this bit.
|
|
Added a separate slink:VkSubmitInfo Valid Usage restriction
|
|
specifying that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
|
|
also applies to any secondary command buffers that are recorded into
|
|
the primary command buffers in pname:pCommandBuffers (internal issue
|
|
106).
|
|
* Clarify that slink:VkDeviceCreateInfo::pname:pEnabledFeatures can be
|
|
NULL (internal issue 117).
|
|
* Remove "the value of" where it is redundant (e.g. speaking of an API
|
|
parameter, struct member, or SPIR-V variable, but not when speaking
|
|
of color components) (internal issue 175).
|
|
* Forced patch version to always be 0 in the header. Add a
|
|
"VK_API_VERSION_<major>_<minor>" macro for people to use to do the
|
|
right thing. Add a VK_HEADER_VERSION which captures the header
|
|
release number independent of the spec patch number (internal issue
|
|
176).
|
|
* Correct description of
|
|
slink:VkPipelineShaderStageCreateInfo::pname:pName to "a pointer to
|
|
a null-terminated UTF-8 string" (internal issue 197).
|
|
|
|
Other Commits:
|
|
|
|
* Updated DataFormat spec reference to the new date for revision 5 of
|
|
that spec.
|
|
* Fixed KEEP option (to retain LaTeX intermediate files) in the
|
|
Makefile to be included when edited there, as well as set on the
|
|
command line.
|
|
* Reserve and add "VK_IMG_filter_cubic" to the registry, and implement
|
|
script functionality to add and remove validity from existing
|
|
functions. Includes schema and readme changes.
|
|
* Update GL_KHR_vulkan_glsl so push_constants do not have descriptor
|
|
sets.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 25, 2016 Vulkan 1.0.7 spec update:
|
|
|
|
* Bump API patch number and header version number to 7 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix slink:VkSpecializationMapEntry example to avoid C/C++ strict
|
|
aliasing issues (public issue 14).
|
|
* Clarify the meaning of "matching" in flink:vkCmdBindDescriptorSets
|
|
validity language (public issue 33).
|
|
* Add stub reference pages so xrefs to not-yet-written pages do not
|
|
generate 404 errors. However, the actual content of these pages
|
|
still needs to be filled in as time allows (public issue 44, but
|
|
does not close that issue out).
|
|
* Remove incorrect validity statement for
|
|
flink:vkGetImageSparseMemoryRequirements (public issue 85).
|
|
* Reword the
|
|
<<features-limits-bufferImageGranularity,bufferImageGranularity>>
|
|
feature in terms of "aliasing", and clarify that it applies to
|
|
bindings in the same memory object (public issue 90).
|
|
* Clarify the relationship of the slink:VkPhysicalDeviceLimits
|
|
pname:maxViewportDimensions and pname:viewportBoundsRange limits
|
|
(public issue 92).
|
|
* Specify sparse unbound texture replacement in the
|
|
<<textures-texel-replacement,Texel Replacement>> section
|
|
independently of robust buffer access language (public issue 100).
|
|
* Add the <<fundamentals-architecture-model,Architecture Model>>
|
|
section to explain architecture constraints Vulkan has chosen to
|
|
accept in order to enable portable and performant code (public issue
|
|
122).
|
|
* State that an object must not be destroyed until *all* (not *any*)
|
|
uses of that object have completed (public issue 123).
|
|
* Minor editorial cleanup (public issues 129, 134, 146, 148).
|
|
* Add validity language for layer and extension names to
|
|
slink:VkDeviceCreateInfo matching that used for
|
|
slink:VkInstanceCreateInfo (public issue 130).
|
|
* Clean up terminology for the case when the bits set in one bitmask
|
|
are a subset of the bits set in another bitmask (public issue 138).
|
|
* Document that input attachments are UniformConstant not Input, in
|
|
the <<interfaces-inputattachment,Fragment Input Attachment
|
|
Interface>> section (public glslang bug 169).
|
|
|
|
Internal Issues:
|
|
|
|
* Add max enum values to "flag bits" enums (internal issue 136).
|
|
* Clarify language around the various uses of the term "block" in the
|
|
<<appendix-compressedtex-bc,Block Compressed Image Formats>> section
|
|
(internal issue 202).
|
|
* Removed "expand" dependency from <enums> groups in vk.xml and added
|
|
auto-generation code in the scripts to infer it instead, to ensure
|
|
consistency. This caused renaming of sname:VkColorSpaceKHR and
|
|
sname:VkPresentModeKHR etext:BEGIN_RANGE (etc.) tokens, but those
|
|
tokens are metadata, not part of the API, and the Vulkan WG is OK
|
|
with this change. This change adds ranges to two additional enums
|
|
that were missing them due to not defining the "expand" attribute
|
|
(internal issue 217).
|
|
* Tweak makefile to generate ref page nroff (.3) files in the right
|
|
output directory, working around an a2x limitation (internal issue
|
|
223).
|
|
|
|
Other Commits:
|
|
|
|
* Add validity requirements for flink:vkCmdCopyQueryPoolResults
|
|
pname:dstBuffer parameter.
|
|
* Fix ref page build to generate .3 targets in the right output
|
|
directory.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 1, 2016 Vulkan 1.0.8 spec update:
|
|
|
|
* Bump API patch number and header version number to 8 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Specify in the validity language for flink:vkBeginCommandBuffer that
|
|
pname:commandBuffer must not currently be pending execution (public
|
|
issue 96).
|
|
* Describe depth comparison using the correct temporary variable names
|
|
in the <<textures-depth-compare-operation,Depth Compare Operation>>
|
|
section (public issue 100).
|
|
* Clarify the order of descriptor update operations in the
|
|
flink:vkUpdateDescriptorSets command (public issue 115).
|
|
* Specify in the VK_KHR_swapchain extension that
|
|
flink:vkAcquireNextImageKHR's pname:semaphore and pname:fence
|
|
parameters cannot both be sname:VK_NULL_HANDLE (partly addresses,
|
|
but does not fully close, public issue 117 / internal issue 246).
|
|
* Change reference to the "lifetime" of a Vulkan command to
|
|
"duration", and define the "duration" term (public issue 135).
|
|
* Added valid usage language for slink:VkImageLayout to require both
|
|
pname:height and pname:depth to be 1 for 1D images and pname:depth
|
|
to be 1 for 2D images (public issue 137).
|
|
* Fix SPIR-V example code in the
|
|
<<descriptorsets-inputattachment,Input Attachment>> section to
|
|
properly decorate the code:InputAttachmentIndex (public issue 139).
|
|
* Fix reference to nonexistent pname:imageInfo in the description of
|
|
flink:VkWriteDescriptorSet to refer to pname:pImageInfo (public
|
|
issue 140).
|
|
|
|
Internal Issues:
|
|
|
|
* Link to the fixed-function vertex chapter from the drawing chapter
|
|
(internal issue 110)
|
|
* Fix typo in slink:VkImageCreateInfo validity language:
|
|
ptext:maxExtent.sampleCounts -> pname:sampleCounts (internal issue
|
|
249).
|
|
* Explain why the non-core token etext:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR
|
|
is used in the example in the
|
|
<<synchronization-semaphores,Semaphores>> section (internal issue
|
|
251).
|
|
* Attempt to clarify in the VK_KHR_android_surface extension's
|
|
<<platformQuerySupport_android,Android Platform Support>> section
|
|
that there is no Android-specific WSI query, and why (internal issue
|
|
252).
|
|
|
|
Other Commits:
|
|
|
|
* Add missing language about ename:VK_INCOMPLETE being returned from
|
|
array queries when the passed array is too short, in the
|
|
VK_KHR_display, VK_KHR_swapchain, and VK_KHR_surface extensions.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 8, 2016 Vulkan 1.0.9 spec update:
|
|
|
|
* Bump API patch number and header version number to 9 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix memory type preorder definition and clarify example list and source
|
|
code for slink:VkMemoryRequirements and slink:VkMemoryHeap (public issue
|
|
26).
|
|
* Ensure slink:VkAllocationCallbacks are properly defined (public issue
|
|
73).
|
|
* Clarify the WSI extension language by switching from the fuzzier
|
|
"ownership" language to more-consistent "acquire" language (public issue
|
|
117).
|
|
* Add language allowing allocation and freeing of memory scoped to the
|
|
duration of any API command in the <<memory-allocation,Memory
|
|
Allocation>> section (public issue 136).
|
|
* Clarify the explicit location assignment always overrides the inherited
|
|
location in the <<interfaces-iointerfaces-locations,Location
|
|
Assignment>> section, even for the first member of a block (public issue
|
|
141).
|
|
* Fixed references to
|
|
slink:VkCommandBufferInheritanceInfo::pname:pipelineStatistics (public
|
|
issue 158).
|
|
* Fix name of slink:VkBufferCopy::pname:size field in validity language
|
|
for flink:vkCmdCopyBuffer (public issue 162).
|
|
|
|
Internal Issues:
|
|
|
|
* Update GL_KHR_vulkan_glsl specification to clarify disallowance of
|
|
spec-const arrays in initializers (internal issue 248).
|
|
* Clarify <<interfaces-iointerfaces-matching,Interface Matching>> section
|
|
to state that user-defined variable interface must match too (internal
|
|
issue 250).
|
|
|
|
-----------------------------------------------------
|
|
|
|
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).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 22, 2016 Vulkan 1.0.11 spec update:
|
|
|
|
* Bump API patch number and header version number to 11 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify the WSI extension language by switching from the fuzzier
|
|
"ownership" language to more-consistent "acquire" language (public
|
|
issue 117).
|
|
* Clarify that memory barriers apply to all commands in the dependency
|
|
chains in the flink:vkGetRenderAreaGranularity command and the
|
|
<<synchronization-execution-and-memory-dependencies,Execution And
|
|
Memory Dependencies>> section (public issue 132).
|
|
* Clarify that a queue family is a set of queues in the
|
|
<<fundamentals-execmodel,Execution Model>> section (public issue
|
|
166).
|
|
* Removed requirement from valid usage language that
|
|
VkPresentInfoKHR::waitSemaphoreCount must be greater than 0 (public
|
|
issue 171).
|
|
* Fix broken internal links, describe structures consistently, use
|
|
consistent style for SPIR-V codewords, and tag normative terms that
|
|
were missing asciidoc tags (public issue 183 and ancillary
|
|
markup/normative language fixes).
|
|
* Fix typos for slink:VkPhysicalDeviceLimits member names in
|
|
slink:VkImageCreateInfo validity language (public issue 184).
|
|
|
|
Internal Issues:
|
|
|
|
* Document that the requested patch version number specified as part
|
|
of slink:VkApplicationInfo::pname:apiVersion is ignored when
|
|
creating an instance (internal issue 176).
|
|
* Clarify handling of extension structs in the
|
|
<<fundamentals-validusageValid Usage>> section (internal issue 254).
|
|
* Update required slink:VkImageFormatProperties::pname:maxMipLevels to
|
|
be limited to the maximum allowed mipmap pyramid size corresponding
|
|
to the actual maximum supported size for the format (internal issue
|
|
256).
|
|
* Modify the <<features-extentperimagetype,Allowed Extent Values Based
|
|
On Image Type>> section so the allowed maximum extent is the maximum
|
|
image dimension supported for each dimension of the type of texture
|
|
being queried (internal issue 257).
|
|
* Clarify in the <<spirvenv-module-validation,Validation Rules within
|
|
a Module>> section that at least one of the code:LocalSize execution
|
|
mode or code:WorkgroupSize decoration is required for each compute
|
|
shader entry point in a shader module (internal issue 279).
|
|
* Add validity rules for formats in flink:vkCmdClearColorImage and
|
|
flink:vkCmdClearDepthStencilImage (internal issue 283).
|
|
* Clarify that slink:VkImageFormatProperties::pname:maxResourceSize is
|
|
an upper bound, and that it may not be possible to create an image
|
|
anywhere near that size (internal issue 284).
|
|
|
|
Other Commits:
|
|
|
|
* Fix various minor markup errors reported by validation scripts.
|
|
* Change copyright from Khronos Free Use License to Apache 2.0 license
|
|
on relevant script/XML/header files. This does not affect the
|
|
specification source copyright.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 29, 2016 Vulkan 1.0.12 spec update:
|
|
|
|
* Bump API patch number and header version number to 12 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Change valid usage statements intended to be "sub-points" to
|
|
be actual sub-points (public issue 66).
|
|
* Replace double negation in description of
|
|
slink:VkRenderPassBeginInfo::pname:pClearValues (based on public
|
|
merge 142).
|
|
* Cleanup minor typos in spec, ref pages and XML, including those
|
|
proposed in public pull requests 144, 150, 151, 167, 168, 181, and
|
|
186.
|
|
* Use *strict subset* in describing the partial order of memory
|
|
property types for slink:VkMemoryType, and update the style guide
|
|
accordingly (public issue 190).
|
|
* Fix various "a image" -> "an image" typos (public issue 191).
|
|
* Note in the <<fundamentals-validusage,Valid Usage>> and
|
|
<<extensions-interactions,Extension Interactions>> sections that
|
|
structures defined by extensions which may be passed in structure
|
|
chains using the ptext:pNext member must include initial
|
|
ptext:sType and ptext:pNext members (public issue 192).
|
|
|
|
Internal Issues:
|
|
|
|
* Remove duplicate language from the description of the pname:fence
|
|
parameter to flink:vkQueueSubmit and improve validity language
|
|
(internal issue 91).
|
|
* Added documentation for "optional" attribute to XML readme.tex/pdf
|
|
(internal issue 149).
|
|
* Clarify the host-side data validity rules and behavior of
|
|
flink:vkFlushMappedMemoryRanges and
|
|
flink:vkInvalidateMappedMemoryRanges (internal issue 266).
|
|
|
|
Other Commits:
|
|
|
|
* Added clarification to flink:vkCmdFillBuffer regarding the use of
|
|
ename:VK_WHOLE_SIZE.
|
|
* Fixed and documented implementation of "validextensionstructs"
|
|
attribute. in XML processing scripts and readme.tex/pdf.
|
|
* Add missing validity statements to flink:vkResetEvent and
|
|
flink:vkCmdResetEvent.
|
|
* Fix validity for the
|
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag.
|
|
Correct all the draw/dispatch commands to mention optimally tiled
|
|
images as well as linear tiled images, and say image VIEWS instead
|
|
of images. Add validity statement to flink:vkCmdBlitImage
|
|
* Replace the {apiname} macro with hardcoded "Vulkan", now that we have
|
|
committed to that name.
|
|
* Add the VK_AMD_rasterization_order extension to vk.xml.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 13, 2016 Vulkan 1.0.13 spec update:
|
|
|
|
* Bump API patch number and header version number to 13 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Improve the description of ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the
|
|
VK_KHR_surface extension (public issue 174).
|
|
* Clarify use of etext:*_SIMULTANEOUS_USE_BIT for secondary command
|
|
buffers (public issue 182).
|
|
* Fix typos in VK_KHR_wayland_surface extension where code:wl_device was
|
|
used instead of code:wl_display (public issue 193).
|
|
* Replaced {apiname} with ``Vulkan'' in XML validity statements (public
|
|
issue 199).
|
|
* Fix dead links for WSI handle types (public issue 200).
|
|
* Use "signaled" instead of "signalled" spelling everywhere (public issue
|
|
201).
|
|
* Move readme.pdf target directory for XML schema documentation into the
|
|
target generation directory, instead of leaving it checked into the spec
|
|
source tree (public issue 203).
|
|
* Fix duplicate 'which which' typo in description of
|
|
elink:VkCommandPoolResetFlagBits (public issue 204).
|
|
* Move the <<Programmable Primitive Shading>> section up one level, out of
|
|
the <<drawing-primitive-topologies,Primitive Topologies>> section
|
|
(public issue 209).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify in the <<pipelines-cache,Pipeline Cache>> section that
|
|
implementations should not manage the size of pipeline cache (internal
|
|
issue 192).
|
|
* Deprecate the concept of device layers and associated commands (internal
|
|
issue 255).
|
|
* Remove ename:VK_INCOMPLETE from the list of possible result codes of
|
|
flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR (internal issue 314).
|
|
* Add missing std140/std430 rule: the base alignment of a member following
|
|
a structure is a multiple of the structure's base alignment (internal
|
|
issue 321).
|
|
* Fixes naming of the single elink:VkColorSpaceKHR enum from
|
|
ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR to
|
|
ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR in XML/header and the
|
|
VK_KHR_swapchain and VK_KHR_surface extensions to match the style of the
|
|
typename (space and color are two words, not one) (internal issue 322).
|
|
* Make it clear that code:LocalInvocationID should only be applied to an
|
|
input variable and normalize the language describing
|
|
code:LocalInvocationID to the language for other compute shader
|
|
variables in the <<interfaces-builtin-variables,Built-in Variables>>
|
|
section, and add normative language (internal issue 323).
|
|
* Clarify in the <<fundamentals-returncodes,Return Codes>> section that
|
|
the result pointer may be modified for specific commands, even if a
|
|
runtime error is returned (internal issue 324).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 20, 2016 Vulkan 1.0.14 spec update:
|
|
|
|
* Bump API patch number and header version number to 14 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix validity language for sname:VkCommandBufferAllocateInfo to
|
|
impose range limits on pname:commandBufferCount (public issue 178).
|
|
* Fix validity language for flink:vkCmdExecuteCommands to refer to the
|
|
correct structure names (public issue 179).
|
|
* Fix two copy-and-paste errors in the WSI queries, where the wrong
|
|
term was used for what was being returned (public issue 206).
|
|
* Add a note in the documentation of
|
|
flink:vkGetPhysicalDeviceSurfaceFormatsKHR, about what it means if
|
|
ename:VK_FORMAT_UNDEFINED is returned (public issue 207).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify the usage and correct the name for the bitmask referenced in
|
|
<<queries-pipestats,Pipeline Statistics Queries>> (internal issue
|
|
334).
|
|
|
|
Other Commits:
|
|
|
|
* Fix the names of decorations listed in the
|
|
<<interfaces-builtin-variables,Built-in Variables>> section such
|
|
that they match the SPIR-V specification.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 27, 2016 Vulkan 1.0.15 spec update:
|
|
|
|
* Bump API patch number and header version number to 15 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Fixed the <<glossary,Glossary>> entry for Fragment Input Attachment
|
|
Interface to specify code:UniformConstant storage class (public issue
|
|
156).
|
|
* Disallow lazily allocated memory for buffers in the description of
|
|
slink:VkMemoryRequirements::pname:memoryTypeBits (public issue 196).
|
|
* Add numbered figure captions (public issue 219).
|
|
* Fix output variable names in the <<fundamentals-fpfixedconv,Conversion
|
|
from Floating-Point to Normalized Fixed-Point>> section and related
|
|
minor normative language and markup cleanup (public issue 220).
|
|
|
|
Internal Issues:
|
|
|
|
* Fix reference to nonexistent etext:VK_IMAGE_LAYOUT_TRANSFER_{SRC,DST}BIT
|
|
to the actual etext:VK_IMAGE_LAYOUT{SRC,DST}_OPTIMAL (internal issue
|
|
296).
|
|
* Update the <<sparsememory-sparse-memory-aliasing,Sparse Resource
|
|
Implementation Guidelines>> to refer to the correct feature names
|
|
(internal issue 305).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 10, 2016 Vulkan 1.0.16 spec update:
|
|
|
|
* Bump API patch number and header version number to 16 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify that integer border values are meant to be 0/1, and that
|
|
integer texture lookups are sign-extended in the
|
|
<<textures-format-conversion,Format Conversion>> and
|
|
<<textures-texel-replacement,Texel Replacement>> sections (public
|
|
issue 52).
|
|
* Add logic to generate spec boilerplate without using the 'git'
|
|
command-line client, needed when building from a tarball or another
|
|
source of the Vulkan tree rather than a cloned git repo. Remove
|
|
boilerplate as part of 'clean' target (public issue 195).
|
|
* Document that color writes and clears to unused attachments have no
|
|
effect for slink:VkClearAttachment and
|
|
elink:VkColorComponentFlagBits (public issue 198).
|
|
* Fixed flink:vkCmdExecuteCommands validity statement for
|
|
sname:VkCommandBufferInheritanceInfo::pname:framebuffer. If used, it
|
|
must match the framebuffer in the current renderpass instance
|
|
(public issue 226).
|
|
* Added valid usage language to require for all functions that set
|
|
dynamic state that the currently bound graphics pipeline has the
|
|
corresponding dynamic state enabled (public issue 235).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify for flink:vkEnumerateInstanceExtensionProperties, in the
|
|
<<extended-functionality-instance-extensions-and-devices, Instance
|
|
Extensions and Device Extensions>> section, and in the
|
|
<<glossary,Glossary>> section when functionality should be exposed
|
|
as an instance extension, as a device extension, or as both
|
|
(internal issue 109).
|
|
* Place WorkgroupSize in alphabetical order in the
|
|
<<interfaces-builtin-variables,Built-in Variables>> section
|
|
(internal issue 323).
|
|
* Corrects valid usage in vkEndRenderPass to only affect primary
|
|
render passes, as secondaries may be entirely within a render pass,
|
|
and should be able to be ended (previous language disallowed that)
|
|
(internal issue 338).
|
|
* Fix relational operator from <= to >= in the
|
|
<<features-extentperimagetype,Allowed Extent Values>> section
|
|
(internal issue 343).
|
|
* Disallow recursion under SPIR-V entry points in the
|
|
<<spirvenv-module-validation,Validation Rules within a Module>>
|
|
section (internal SPIR-V issue 37).
|
|
|
|
Other Commits:
|
|
|
|
* Use standard Python ElementTree package instead of lxml.etree in
|
|
header / validation layer / include autogeneration from XML,
|
|
reducing platform dependencies.
|
|
|
|
-----------------------------------------------------
|
|
|
|
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, and of
|
|
ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT in the
|
|
VK_EXT_debug_report extension (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.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 24, 2016 Vulkan 1.0.18 spec update:
|
|
|
|
* Bump API patch number and header version number to 18 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Added "queue operation" terminology, and modified spec to actually
|
|
use this terminology (public issue 155). The act of submitting a
|
|
piece of work to a queue now generates "operations" for the queue to
|
|
execute, including operations to wait on/signal semaphores and
|
|
fences. Synchronization waits on these operations, making execution
|
|
dependency chains more obvious for semaphores and fences (though
|
|
additional work is still needed here). These changes include:
|
|
** Overview of "queue submission" commands in chapter
|
|
<<devsandqueues-submission>>.
|
|
** Updated descriptions for fence and semaphore waits and signals in
|
|
the synchronization chapter <<synchronization-semaphores-waiting>>,
|
|
<<synchronization-semaphores-signaling>> and
|
|
<<synchronization-fences-waiting>>.
|
|
** Clarifications to semaphore and fence operation within queue
|
|
submission functions.
|
|
** New glossary terms.
|
|
** Moved device idle and queue wait idle to synchronization chapter in
|
|
order to describe them in terms of other synchronization
|
|
primitives.
|
|
** Clarifications to semaphore and fence operation allowed removal of
|
|
the "implicit ordering guarantees" section, as this information is
|
|
now wholly covered where these primitives are described.
|
|
*** The "host writes" section of this is still there for now - in its
|
|
own section. This could probably be merged into other sections
|
|
later.
|
|
*** Modified fundamentals chapter on queue ordering to make sense in
|
|
context of the new changes, and avoid duplication.
|
|
<<fundamentals-queueoperation>>
|
|
* Added "aspect" and "component" definitions to the glossary, and made
|
|
sure these terms are referenced correctly (public issue 163).
|
|
* Update valid usage for ftext:vkGet*ProcAddr to only include
|
|
conditions that must be met to get a valid result. In particular,
|
|
it is okay to call flink:vkGetDeviceProcAddr with any string and will
|
|
get a code:NULL if that string is not a core Vulkan function or an
|
|
enabled extension function (addresses but does not fully close
|
|
public issue 214).
|
|
* Change the WSI extension dependencies to refer to version 1.0 of the
|
|
Vulkan API, instead of the pre-1.0-release internal revisions
|
|
numbers (public issue 238).
|
|
* Specified that <<interfaces-fragmentoutput,undeclared fragment
|
|
shader outputs>> result in undefined values input to the blending
|
|
unit or color attachment (public issue 240).
|
|
* Fix latexmath:[$\leq$] operators turning into Unicode left arrow symbols
|
|
(public issue 245).
|
|
|
|
Internal Issues:
|
|
|
|
* Better documented that the registry XML "optional" tag for values
|
|
only applies when that value is the size of an array (internal issue
|
|
335).
|
|
* Add a stronger definition for the valid usages of
|
|
VkSpecializationMapEntry.size in the
|
|
<<pipelines-specialization-constants,Specialization Constants>>
|
|
section (internal issue 345).
|
|
* Change code:OpName to code:OpDecorate (along with appropriate
|
|
syntax) for vertex shader built-ins (internal issue 368).
|
|
* Add missing ref pages (those which are not currently stubs) to
|
|
apispec.txt for the single-page version of the ref pages (internal
|
|
issue 378).
|
|
|
|
Other Commits:
|
|
|
|
* Fix example in the <<descriptorsets,Descriptor Sets>> section to use
|
|
M, N, and I, describing set, binding, and index, consistently
|
|
throughout the example code.
|
|
|
|
-----------------------------------------------------
|
|
|
|
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
|
|
were not relevant to (or supported on) the OS. Also, removed
|
|
"Khronos-provided" since the Android loader is not (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
|
|
was not listed in the error codes.
|
|
* Fix "correponds" typo in member definitions for
|
|
slink:VkSubpassDescription.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 8, 2016 Vulkan 1.0.20 spec update:
|
|
|
|
* Bump API patch number and header version number to 20 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Replaced existing reference pages by text automatically extracted from
|
|
the specification source, or generated from vk.xml in some cases. This
|
|
is not a complete solution for the reference pages, but puts them in a
|
|
much better state. The ref pages (only) are now placed under a CC BY
|
|
open source license, which is more current than the obsolete license
|
|
previously used. Various minor tweaks to the Specification sources were
|
|
made to enable this, and a new ``API Boilerplate'' chapter added to
|
|
include definitions of all the entities in the API and +vulkan.h+ which
|
|
were not already described in some form in the document.
|
|
|
|
Further improvements to the pages should not edit them directly, but
|
|
instead concentrate on the specification source from which the ref pages
|
|
are being extracted (public issues 44, 55, 160; internal issue 389).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 15, 2016 Vulkan 1.0.21 spec update:
|
|
|
|
* Bump API patch number and header version number to 21 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify how <<features-supported-sample-counts,sample count queries>>
|
|
relate to the limits in slink:VkPhysicalDeviceLimits. (public issue
|
|
185).
|
|
* Clarify in the <<interfaces-iointerfaces,Shader Input and Output
|
|
Interfaces>> section that shader output variables have undefined values
|
|
until the shader writes to them (public issue 240).
|
|
* Specify the implicit value of image parameters that cannot be set in
|
|
slink:VkSwapchainCreateInfo::pname:flags, pname:imageType,
|
|
pname:mipLevels, pname:samples, pname:tiling, and pname:initialLayout
|
|
(public issue 243).
|
|
* Make use of code:NULL and code:VK_NULL_HANDLE consistent in the
|
|
VK_KHR_swapchain extension (public issue 276).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify that presenting an image to a display surface swapchain applies
|
|
the display surface's mode, and that destroying a display surface
|
|
swapchain may reset the display's mode, in the VK_KHR_display_swapchain
|
|
extension (internal issue 247).
|
|
* Better describe what a slink:VkSurfaceKHR is, and that creating one does
|
|
not set a mode, in the VK_KHR_display extension. This is a round-about
|
|
way of pointing out that mode setting is not covered by the extension,
|
|
but rather is performed as a side effect of presentation (internal issue
|
|
247).
|
|
* Add more valid usage statements to flink:vkQueuePresentKHR command when
|
|
the VK_KHR_display_swapchain extension is present (internal issue
|
|
247).
|
|
* Add more includes to the VK_KHR_swapchain extension to better document
|
|
interactions with VK_KHR_display_swapchain (internal issue 247).
|
|
* Clarify restrictions on location aliasing in the
|
|
<<fxvertex,Fixed-Function Vertex Processing>> section (internal issue
|
|
370).
|
|
* Add mathematical description of blitting to flink:vkCmdBlitImage, and
|
|
link it to the <<textures,Image Operations>> chapter. Use mathematical
|
|
notation for ranges of texel coordinates in the <<textures,Image
|
|
Operations>> chapter. Fixed miscellaneous validity statements for
|
|
flink:vkCmdBlit and slink:VkImageBlit (internal issue 382).
|
|
|
|
Other Commits:
|
|
|
|
* Added a valid usage rule to flink:VkGraphicsPipelineCreateInfo that the
|
|
ename:VK_PRIMITIVE_TOPOLOGY_PATCH_LIST topology must only be used when
|
|
tessellation shaders are used.
|
|
* Expand the style guide into a formal "Procedures and Conventions"
|
|
document. Add a API Naming Conventions section, move most of the API
|
|
Specification Appendix C (Layers and Extensions) content into the new
|
|
document, and define the resulting procedures as mandatory (where
|
|
relevant). This more clearly separates use vs. specification of Vulkan
|
|
APIs.
|
|
* Update vk_platform.h to handle 32-bit ARMv8 binaries.
|
|
* Various minor cleanups to the Makefile and build process.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 22, 2016 Vulkan 1.0.22 spec update:
|
|
|
|
* Bump API patch number and header version number to 22 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Translate the subpass self-dependency language into concrete
|
|
validity statements, and added a validity statement about the
|
|
restrictions on layout parameters (public issue 267).
|
|
* Add validity requirement that
|
|
slink:VkAttachmentDescription::pname:finalLayout and
|
|
slink:VkAttachmentReference::pname:layout must not be
|
|
ename:VK_IMAGE_LAYOUT_UNDEFINED or
|
|
ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268).
|
|
* Clarify that slink:VkSubpassDescription::pname:pResolveAttachments
|
|
layouts are used. Make language consistent with other attachment
|
|
arrays (public issue 270).
|
|
* Changed 64-bit definition for
|
|
dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in
|
|
+vk.xml+ and the resulting +vulkan.h+ (public issue 282).
|
|
* Add missing error return code for
|
|
flink:vkEnumerateInstanceExtensionProperties and
|
|
flink:vkEnumerateDeviceExtensionProperties (public issue 285)
|
|
* Fix several cases of stext::VkStructName.memberName markup to
|
|
stext::VkStructName::pname:memberName, to match other usage in the
|
|
spec, and describe this markup in the style guide (public issue
|
|
286).
|
|
* Modified validity language generation script to avoid redundant
|
|
common ancestor language if covered by generic parent language, and
|
|
used `Both' instead of `Each' when appropriate (public issue 288).
|
|
|
|
Internal Issues:
|
|
|
|
* Add language about behavior of flink:vkAllocateDescriptorSets when
|
|
allocation fails due to fragmentation, a new error
|
|
ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation
|
|
(internal issue 309).
|
|
* For the features of code:PointSize, code:ClipDistance, and
|
|
code:CullDistance, the SPIR-V capability is required to be declared
|
|
on use (read or write) rather than on decoration (internal issue
|
|
359).
|
|
* Have desktop versions of GLSL respect precision qualification
|
|
(code:mediump and code:lowp) when compiling for Vulkan. These will
|
|
get translated to SPIR-V's code:RelaxedPrecision decoration as they
|
|
do with OpenGL ES versions of GLSL (ESSL). The default precision of
|
|
all types is code:highp when using a desktop version (internal issue
|
|
360).
|
|
* Add validity statement for slink:VkImageCreateInfo specifying that
|
|
multisampled images must be two-dimensional, optimally tiled, and
|
|
with a single mipmap level (internal issue 369).
|
|
* Add validity statements to slink:VkImageViewCreateInfo disallowing
|
|
creation of images or image views with no supported features. Made
|
|
some slink:VkImageViewCreateInfo validity statements more precise
|
|
and consistent. Added a Note to the <<features,features>> chapter
|
|
about formats with no features (internal issue 371).
|
|
* Remove +manpages+ from default build targets. Nroff outputs
|
|
containing imbedded latexmath will not render properly. Fixing this
|
|
is a lot of work for limited use cases (internal issue 401).
|
|
|
|
Other Commits:
|
|
|
|
* Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity
|
|
statement to be based on attachment indices rather than the number
|
|
of cleared attachments
|
|
(Vulkan-LoaderAndValidationLayers/issues/601).
|
|
* Convert registry documentation from LaTeX to asciidoc source and
|
|
rename from +src/spec/readme.tex+ to +src/spec/registry.txt+.
|
|
* Fix lack of Oxford commas in validity language.
|
|
* Lots of cleanup of generator scripts and Makefiles to move extension
|
|
list for generator into the script arguments instead of the body of
|
|
genvk.py, and express better dependencies between XML, scripts, and
|
|
generated files.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 5, 2016 Vulkan 1.0.23 spec update:
|
|
|
|
* Bump API patch number and header version number to 23 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add explicit valid value attributes to pname:sType members in vk.xml
|
|
(public issue 34).
|
|
* Clarify usage of flink:vkGetInstanceProcAddr and
|
|
flink:vkGetDeviceProcAddr (public issue 225).
|
|
* Fix a copy-and-paste error in the description of
|
|
pname:pSwapchainImageCount saying that it was the count of ``format
|
|
pairs'' instead of ``swapchain images'' (public issue 292).
|
|
* flink:vkCmdExecuteCommandBuffers requires all command buffers to be
|
|
allocated from command pools created for the same queue family (public
|
|
issue 296).
|
|
* Remove bogus +optional+ attribute for
|
|
flink:vkEnumerateDeviceLayerProperties::pname:physicalDevice from vk.xml
|
|
(public issue 301).
|
|
* Clean up the <<resources-image-views-compatibility,image and image view
|
|
compatibility table>> reference and contents. Use full enumerant names.
|
|
Refer to pname:layerCount in the ``view parameters'' column instead of
|
|
pname:arrayLayers. Require N >= 1 for the cube array subview row, not
|
|
just arrayLayers >= 6 N (public issue 304).
|
|
* Modify description of <<resources-memory-aliasing,memory aliasing>> to
|
|
be consistent with the description of
|
|
<<resources-bufferimagegranularity,buffer image granularity>> (public
|
|
issue 307).
|
|
|
|
Internal Issues:
|
|
|
|
* Describe remaining +vk_platform.h+ macros in the <<boilerplate,API
|
|
Boilerplate>> appendix (internal issue 6).
|
|
* Clarify
|
|
<<features-features-robustBufferAccess,pname:robustBufferAccess>>
|
|
feature behavior; what memory can be accessed, how bounds checking is
|
|
performed, and allowing for vectorization (internal issue 332).
|
|
* Document markup for automatic extraction of reference pages from the
|
|
spec sources in the style guide (internal issue 395).
|
|
* Allow flink:vkCreateDisplayModeKHR to return
|
|
ename:VK_ERROR_INITIALIZAION_FAILED_KHR if the user requests mode
|
|
parameters that the specified display does not support (internal issue
|
|
411).
|
|
* Remove atomic counters (atomic_uint style) from KHR_vulkan_glsl, and
|
|
more clearly remove the subroutine keyword alongside it (internal issue
|
|
421).
|
|
* Clarify behavior of flink:vkCmdBindDescriptorSets for descriptor sets
|
|
not contained in the layout (internal issue 427).
|
|
|
|
Other Commits:
|
|
|
|
* Change the order in which members of sname:VkAttachmentDescription and
|
|
sname:VkPipelineInputAssemblyStateCreateInfo are described to match
|
|
their order in the structures.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 12, 2016 Vulkan 1.0.24 spec update:
|
|
|
|
* Bump API patch number and header version number to 24 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix type mismatch in swapchain image equivalency table (public issue
|
|
289).
|
|
* Fix a copy-and-paste error in the description of
|
|
flink:vkGetSwapchainImagesKHR::pname:pSwapchainImages, that said it
|
|
was an array of ``sname:VkSwapchainImageKHR structures'' instead of
|
|
an array of ``sname:VkImage handles'' (public issue 292).
|
|
* Specify that ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT is only valid
|
|
for ename:VK_IMAGE_TYPE_2D images (public issue 293).
|
|
* Add a valid usage statement to flink:vkCmdExecuteCommands saying
|
|
that when called outside a render pass instance, the secondary
|
|
command buffers must not have been created with the
|
|
ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT (public issue
|
|
297).
|
|
* Fix description of +VK_NO_STDINT_H+ in the
|
|
<<boilerplate-platform-macros,platform macros>> section (public
|
|
issue 314).
|
|
|
|
Internal Issues:
|
|
|
|
* Normalize the language for the remaining built-in variables in the
|
|
<<interfaces-builtin-variables,Built-In Variables>> section. Fix
|
|
code:FrontFacing and code:HelperInvocation, as they should be of
|
|
code:boolean type rather than code:integer (internal issue 323).
|
|
* Clarify that when ename:VK_WHOLE_SIZE is used for a buffer
|
|
descriptor range, the effective range must still be within the max
|
|
buffer range (internal issue 426).
|
|
* Clarify that command buffers and descriptor sets are allocated
|
|
rather than created. Also clarify when the recording state of a
|
|
command buffer is relevant (internal issue 434).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 26, 2016 Vulkan 1.0.25 spec update:
|
|
|
|
* Bump API patch number and header version number to 25 for this update.
|
|
* Structurally change the specification so that multiple extensions are
|
|
included in the +1.0+ git branch, and specifications will include or not
|
|
include those extensions at build time based on options passed to the
|
|
Makefile. See +doc/specs/vulkan/README.html+ and the ``Layers and
|
|
Extensions'' section of the ``Vulkan Documentation and Extensions''
|
|
document for more information on this change.
|
|
* Register and publish new extensions in the single-branch form:
|
|
** +VK_NV_external_memory_capabilities+
|
|
** +VK_NV_external_memory+
|
|
** +VK_NV_external_memory_win32+
|
|
** +VK_NV_win32_keyed_mutex+
|
|
|
|
Github Issues:
|
|
|
|
* Clarify description of GetInstanceProcAddr and GetDeviceProcAddr (public
|
|
issue 212).
|
|
* Add SPIR-V <<textures-operation-validation, instruction validation>> for
|
|
single-sampled images (public issue 316).
|
|
* Fix spelling of ``tesselation'' in a few places and note it as an
|
|
exception to the American spelling rules convention (public issue
|
|
327).
|
|
* Fix Makefile to create output directory for ``styleguide''
|
|
target (public issue 329).
|
|
* Fix numerous minor issues with incorrectly tags on enumerant names and
|
|
table titles (public issue 330).
|
|
* Generate specversion.txt date in UTC time and RFC 2822 format
|
|
(public issue 335).
|
|
* Convert link to the SPIR-V Specification for
|
|
flink:VkShaderModuleCreateInfo into an internal link to the normative
|
|
reference (public issue 336).
|
|
* Add ename:VK_ERROR_OUT_OF_MEMORY error code to
|
|
flink:vkCreateDebugReportCallbackEXT (public issue 337).
|
|
|
|
Internal Issues:
|
|
|
|
* Update style guide regarding use of code:NULL and dname:VK_NULL_HANDLE
|
|
(internal issue 393).
|
|
* Change the definition of latexmath:[$q$] in the
|
|
<<textures-image-level-selection,texture image level selection>> section
|
|
to be the index of the maximum defined level for the view, not the
|
|
number of levels in the view (internal issue 406).
|
|
* Allow developers to override dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE
|
|
with their own binary-compatible definition (internal issue 439).
|
|
* Fix +vk_platform.h+ conditional logic causing compile failure with some
|
|
Android compilers (internal issue 441).
|
|
* Implement the single-branch model as described above (internal issue
|
|
461).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 6, 2016 Vulkan 1.0.26 spec update:
|
|
|
|
* Bump API patch number and header version number to 26 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Bring sample code in the +VK_KHR_surface+ and +VK_KHR_swapchain+
|
|
extension summary appendices up to date, and note they will be replaced
|
|
with pointers to the LunarG SDK examples in the future (public issue
|
|
279).
|
|
* Add a new <<fundamentals-commandsyntax-results-lifetime,Lifetime of
|
|
Retrieved Results>> section specifying that ftext:vkGet* and
|
|
ftext:VkEnumerate* results are invariant unless otherwise specified, and
|
|
specify behavior for individual commands which are not invariant (public
|
|
issue 280).
|
|
* Remove conflicting definition of
|
|
slink:VkDisplayPlaneCapabilitiesKHR::pname:maxSrcPosition and clean up
|
|
language of the remaining definition (public issue 351).
|
|
* Fix many minor spelling errors and add rules to the style guide to
|
|
prevent recurrences (public issue 352).
|
|
|
|
Internal Issues:
|
|
|
|
* Remove redundant descriptions of the etext:VK_USE_PLATFORM_* macros from
|
|
the <<wsi,Window System Integration>> chapter in favor of the
|
|
description in the <<boilerplate-wsi-header,Window System-Specific
|
|
Header Control>> appendix (internal issue 6).
|
|
* Replace misleading 'can: be destroyed when not X' with more correct
|
|
'must: not be destroyed while X' in the
|
|
<<fundamentals-objectmodel-lifetime,Object Lifetime>> section. Disallow
|
|
destroying a pipeline layout while a command buffer using it is
|
|
recording (internal issue 241).
|
|
* Clarify that ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT is valid for
|
|
all images used as attachments in elink:VkImageUsageFlagBits and the
|
|
slink:VkImageLayout validity language (internal issue 320).
|
|
* Note that <<extended-functionality-layers,Layers>> may wrap object
|
|
handles, but that this is a generally discouraged. A link to additional
|
|
information in the documentation for layer authors is provided (issue
|
|
398)
|
|
* Replace the mustnot: and shouldnot: macros with equivalent must: not and
|
|
should: not to get rid of non-English words while still highlighting
|
|
normative language (internal issue 407).
|
|
* Disallow creating multisampled images with
|
|
ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT in the slink:VkImageLayout
|
|
validity language and the <<features-supported-sample-counts,Supported
|
|
Sample Counts>> section (internal issue 445).
|
|
* Fix typo so that flink:vkCmdDrawIndexedIndirect is defined in terms of
|
|
flink:vkCmdDrawIndexed rather than flink:vkCmdDrawIndirect (internal
|
|
issue 446).
|
|
* Reorganize the per-extension information sections to all be in the
|
|
<<extensions,Layers & Extensions>> appendix. Also fix a typo in
|
|
+VK_IMG_filter_cubic+ which incorrectly identified it as a +KHR+
|
|
extension (internal issue 461).
|
|
|
|
Other Issues:
|
|
|
|
* Use asciidoc markup instead of latexmath to simplify diagrams in the
|
|
<<features-formats-non-packed,byte mapping tables>> for color formats.
|
|
* Fix a markup problem with the wildcarded enumerant names in a NOTE in
|
|
the <<textures-texel-replacement,Texel Replacement>> section.
|
|
* Fix missing attributes in the XML interface for
|
|
elink:VkExternalMemoryHandleTypeFlagBitsNV and
|
|
elink:VkExternalMemoryFeatureFlagBitsNV (KhronosGroup/Vulkan-Hpp issue
|
|
25)
|
|
* Cleanup reference page builds so only core pages are built for releases.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 16, 2016 Vulkan 1.0.27 spec update:
|
|
|
|
* Bump API patch number and header version number to 27 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Weaken flink:vkGetPipelineCacheData invariance conditions; previous
|
|
conditions were stronger than agreed and can't be guaranteed (public
|
|
issue 280).
|
|
* Add link to "Vulkan Loader Specification and Architecture Overview"
|
|
document to Normative References section (public issue 359).
|
|
|
|
Internal Issues:
|
|
|
|
* Be more clear in the <<interfaces-resources-layout-std140, uniform
|
|
buffer layout>> section that block offsets can be out of order
|
|
(internal issue 396).
|
|
* Document that extension authors should add support for their extensions
|
|
to the validation layers (internal issue 398).
|
|
* Clarify that the valid range of depth clear values should be limited
|
|
to the 0..1 range and that copies to depth aspect must also be in this
|
|
range (internal issue 412).
|
|
* Specify ``a'' vs. ``an'' use in the style guide (internal issue 432).
|
|
* Increase the maximum pname:nonCoherentAtomSize value in the
|
|
<<features-limits-required,Required Limits>> section from 128 to 256
|
|
(internal issue 435).
|
|
* Fix vk_platform.h for compiler errors on some Android platforms
|
|
(internal issue 441).
|
|
* Clarify that slink:VkPhysicalDeviceFeatures::pname:pEnabledFeatures ==
|
|
`NULL` disables all features, including the "required" feature
|
|
pname:robustBufferAccess (internal issue 479).
|
|
|
|
Other Issues:
|
|
|
|
* Expand style guide and make it more self-consistent.
|
|
* Use ISO 8601 date format everywhere.
|
|
* Emphasise the correct way of using
|
|
slink:VkSurfaceCapabilitiesKHR::pname:maxImageCount.
|
|
* Added +VK_EXT_validation_flags+ extension for validation flag mechanism.
|
|
* Fix an <<credits,author credit>> to include their current employer.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 23, 2016 Vulkan 1.0.28 spec update:
|
|
|
|
* Bump API patch number and header version number to 28 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Minor spelling and typography cleanup, add definitions of
|
|
ename:VK_FALSE and ename:VK_TRUE as just what their names say
|
|
(public issues 220, 318, 325, 365; internal issues 451, 496)
|
|
* Clarify that the pname:maxDescriptorSet limits in the
|
|
<<features-limits-required,Required Limits>> table are n *
|
|
maxPerStage limit (where n=number of supported stages) (public issue
|
|
254).
|
|
* Minor cleanup to <<boilerplate-platform-macros,Platform-Specific
|
|
Macro Definitions>> appendix (public issue 314).
|
|
* Add valid usage statement to slink:VkPipelineLayoutCreateInfo
|
|
disallowing multiple push constant ranges for the same shader stage
|
|
(public issue 340).
|
|
* Clarify the elink:VkSharingMode description of what executing the
|
|
"same" barriers means in case of ownership transfer (public issue
|
|
347).
|
|
* Rename copyright.txt and add COPYING.md to try and reduce confusion
|
|
about applicable copyrights (public issue 350).
|
|
* Extend the table in the <<boilerplate-wsi-header, Window System-Specific
|
|
Header Control>> section to describe the external headers included when
|
|
each etext:VK_USE_PLATFORM_* macro is defined (public issue 376).
|
|
|
|
Internal Issues:
|
|
|
|
* Add "Revision History" to the PDF outputs following the table of
|
|
contents, to match HTML outputs (internal issue 43).
|
|
* Clarified that flink:vkMapMemory may fail due to virtual address
|
|
space limitations (internal issue 346).
|
|
* Add +refBody+ comment markup for ref page autoextraction when required
|
|
(internal issue 400).
|
|
* Document proper use of "mipmap" and "mip" in the style guide API
|
|
naming rules, matching the spelling rules (internal issue 471).
|
|
* Tweak the <<extensions,Layers and Extensions>> appendix to note that
|
|
the Specification may be built with arbitrary combinations of
|
|
extensions (internal issue 483).
|
|
* Remove incorrect statement allowing
|
|
slink:VkClearAttachment::pname:colorAttachment to be >=
|
|
slink:VkSubpassDescription::pname:colorAttachmentCount (internal
|
|
issue 488).
|
|
* The <<features-limits-viewportboundsrange,viewportBoundsRange>> is
|
|
expressed in terms of the pname:maxViewportDimensions but this is
|
|
actually two values. Clarify that it's based on the larger of the two
|
|
(if they differ) (internal issue 499).
|
|
|
|
Other Issues:
|
|
|
|
* Reflowed text of the entire spec using the 'reflow' Makefile target, to
|
|
(hopefully) reduce future internal git churn as edits are made and
|
|
extensions added in return for one-time pain. This has no perceptible
|
|
effect on the spec outputs, but considerable changes on the asciidoc
|
|
source (internal issue 367).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 30, 2016 Vulkan 1.0.29 spec update:
|
|
|
|
* Bump API patch number and header version number to 29 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Remove redundant constraint on
|
|
slink:VkCommandBufferInheritanceInfo::pname:queryFlags (public issue
|
|
224).
|
|
* Fix typo and remove link in Note in the
|
|
<<extended-functionality-instance-extensions-and-devices, Instance
|
|
Extensions and Device Extensions>> section (public issue 359).
|
|
* Fix erroneous validation statement for the pname:layout member of
|
|
slink:VkComputePipelineCreateInfo (public issue 362).
|
|
|
|
Internal Issues:
|
|
|
|
* Restore long figure captions using asciidoc sidebar blocks, due to
|
|
restrictions of asciidoc syntax (internal issue 101).
|
|
* Replace most latexmath equations with comparable markup in straight
|
|
asciidoc, which significantly improves time required to fully load and
|
|
process the HTML forms of the Specification. There are known minor font
|
|
and alignment inconsistencies with MathJax and PDF rendering of
|
|
latexmath equations. Please do not file github issues about these. We
|
|
are aware of the inconsistencies and will make refinements over time,
|
|
while the performance improvements are compelling in at least some major
|
|
browsers (internal issue 313).
|
|
* Move handcoded validity statements from +vk.xml+ into the Specification
|
|
body, easing work in the single-branch model. Specify the distinction
|
|
between these explicit statements, and the implicit validity statements
|
|
inferred from vk.xml. Validity statements now appear in two blocks for
|
|
each command and structure - handcoded "Valid Usage" and the implicit
|
|
"Valid Usage (Implicit)" (internal issue 392).
|
|
* Add the +returnedonly="false"+ attribute to WSI output structures,
|
|
removing incorrectly generated implicit validity statements for
|
|
slink:VkDisplayPropertiesKHR, slink:VkDisplayPlanePropertiesKHR,
|
|
slink:VkDisplayModePropertiesKHR, slink:VkDisplayPlaneCapabilitiesKHR,
|
|
slink:VkSurfaceCapabilitiesKHR, and slink:VkSurfaceFormatKHR structures
|
|
(internal issue 486).
|
|
* Update slink:VkImageLayout to require the
|
|
ename:VK_IMAGE_USAGE_SAMPLED_BIT be set for sampled depth/stencil images
|
|
(internal issue 487).
|
|
* Use an explicit format specifier string for the date command invocation
|
|
in the +Makefile+ instead of the shorthand -R option, which doesn't work
|
|
on BSD and MaxOS X date commands (internal issue 500).
|
|
|
|
Other Issues:
|
|
|
|
* Use the terms ``allocation scope'' and ``extension scope'' instead of
|
|
just ``scope'', and add them to the glossary.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 7, 2016 Vulkan 1.0.30 spec update:
|
|
|
|
* Bump API patch number and header version number to 30 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Document missing pname:sType and pname:pNext parameters for
|
|
slink:VkCommandBufferInheritanceInfo (public issue 224).
|
|
* As promised, we are removing the example code, from the appendix, for
|
|
the VK_KHR_surface and VK_KHR_swapchain extensions. The cube demo
|
|
(shipped in the official Khronos SDK) has been updated, and is the
|
|
example code that we want people to look at for how to use these two
|
|
extensions (public issues 279, 308, and 311).
|
|
* Clarify the formats for which the slink:VkClearColorValue pname:float32
|
|
member is used. Also clean up related language for flink:vkCmdBlitImage
|
|
(public issue 369).
|
|
* Reword the <<invariance, Invariance>> appendix chapter to better match
|
|
Vulkan terminology (public issue 372).
|
|
|
|
Internal Issues:
|
|
|
|
* Update slink:VkMemoryRequirements to not require a host_visible memory
|
|
type exists that can be bound to sparse buffers (internal issue 494).
|
|
* Modify the <<features-supported-sample-counts,Supported Sample Counts>>
|
|
language to allow multisampled depth-stencil images (internal issue
|
|
521).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 14, 2016 Vulkan 1.0.31 spec update:
|
|
|
|
* Bump API patch number and header version number to 31 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarifying wording of slink:VkGraphicsPipelineCreateInfo parameters and
|
|
adding Valid Usage statements on render pass compatibility to the
|
|
<<drawing,drawing commands>> (public issue 375).
|
|
* Replace 'texel size' with 'element size', and add a definition to the
|
|
glossary (public issue 382).
|
|
* Clarify the description of ename:VK_ERROR_NATIVE_WINDOW_IN_USE_KHR to
|
|
make it accurate, but still generic (non-exhaustive). Remove two Valid
|
|
Usage statements describing error situations that will return
|
|
ename:VK_ERROR_NATIVE_WINDOW_IN_USE_KHR (public issue 387).
|
|
* Fix refBegin tag for elink:VkDebugReportFlagBitsEXT (public issue 392).
|
|
* The <<interfaces-builtin-variables,built-in variable>> code:PrimitiveId
|
|
in a fragment shader needs the code:Input storage class (public issue
|
|
393).
|
|
|
|
Internal Issues:
|
|
|
|
* Unused ({y,z} and {height,depth} for 1D, z and depth for 2D) offsets
|
|
must be 0 and unused extents must be 1. Added basic offset and extent
|
|
valid usage for slink:VkImageResolve to match that of slink:VkImageCopy
|
|
(internal issue 413).
|
|
* Describe what flink:vkGetPhysicalDeviceImageFormatProperties returns for
|
|
pname:sampleCounts when for pname:usage only includes transfer-related
|
|
flags (internal issue 478).
|
|
* Remove mention of
|
|
slink:VkPhysicalDeviceLimits::pname:maxImageArrayLayers from the valid
|
|
usage for slink:VkImageCreateInfo::pname:arrayLayers (internal issue
|
|
520).
|
|
* Tag usages of ``dynamically uniform'' as glossary terms and add a
|
|
glossary entry pointing to the SPIR-V Specification's definition of the
|
|
term (internal issue 531).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 25, 2016 Vulkan 1.0.32 spec update:
|
|
|
|
* Bump API patch number and header version number to 32 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add automatic visibility operations to the presentation engineE when
|
|
doing a queue present in flink:vkAcquireNextImageKHR. Removed all
|
|
references to MEMORY_READ that referenced WSI - they no longer make
|
|
sense (some aspects of public issues 128, 131, 132, 261, and 298).
|
|
* Document valid non-boolean +externsync+ attribute values for <param>
|
|
tags in +vk.xml+ (public issue 265).
|
|
* Add valid usage to slink:VkImageCreateInfo requiring that
|
|
pname:arrayLayers be 1 for images of type ename:VK_IMAGE_TYPE_3D
|
|
(public issue 319).
|
|
* Add missing captions to figures in the <<textures,Image Operations>>
|
|
chapter (public issue 334).
|
|
* Clarify WSI interaction with exclusive sharing mode (public issue
|
|
344).
|
|
* Added explicit language clarifying the allowed queue usage of
|
|
resources created with ename:VK_SHARING_MODE_CONCURRENT (public
|
|
issue 386).
|
|
* Require that the
|
|
slink:VkDescriptorSetLayoutCreateInfo::pname:binding members of the
|
|
pname:pBindings array passed to
|
|
flink:vkDescriptorSetLayoutCreateInfo all be distinct (public issue
|
|
391).
|
|
|
|
Internal Issues:
|
|
|
|
* Remove empty validity blocks from +vk.xml+ and suppressed broken
|
|
validity statements and added missing statements to explicit
|
|
validity. Doesn't affect output, other than some statements
|
|
appearing in another block now (internal issue 513).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 11, 2016 Vulkan 1.0.33 spec update:
|
|
|
|
* Bump API patch number and header version number to 33 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Added implicit external synchronization parameters to
|
|
vkBegin/EndCommandBuffer, and fixed missing command pool host
|
|
synchronization from per-command lists (public issue 398).
|
|
* Started using git tags including the spec release number, such as
|
|
'v1.0.32-core', instead of tags including the date of release, such as
|
|
'v1.0-core-20161025' (public issue 405).
|
|
|
|
Internal Issues:
|
|
|
|
* Add validity constraint for
|
|
slink:VkImportMemoryWin32HandleInfoNV::pname:handle (internal issue
|
|
#480).
|
|
* Add scripts to compare two Vulkan HTML specifications, derived from W3
|
|
htmldiff service (internal issue 525).
|
|
* Relax requirement that memoryTypeBits can't depend on format, to allow
|
|
it to differ only for depth/stencil formats (internal issue 544).
|
|
* Add a new generator script to create a simple extension loader for
|
|
Vulkan based on +vk.xml+ (internal issue 558).
|
|
* Add the overlooked requirement that buffer and image memory
|
|
alignment requirements must be a power of two in the
|
|
<<resources-association,Resource Memory Association>> section
|
|
(internal issue 569).
|
|
|
|
Other Issues:
|
|
|
|
* Add a naming rule to the style guide for members of extension structures
|
|
defining array lengths which are the same as array lengths of the core
|
|
structure they are chained from.
|
|
* Add a new generator to create a simple extension loader in
|
|
+src/ext_loader/vulkan_ext.[ch]+ from +vk.xml+. This code can be
|
|
included in your project, and is expected to be packaged in the Vulkan
|
|
SDK provided by LunarG in the future.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 18, 2016 Vulkan 1.0.34 spec update:
|
|
|
|
* Bump API patch number and header version number to 34 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Allow vkUpdateDescriptorSets overflow to skip empty bindings. Clarify
|
|
that unused bindings have a descriptorCount of zero. Improve some valid
|
|
usage for vkUpdateDescriptorSets (public issue 256).
|
|
* Require that slink:VkImageSubresourceRange always define a non-empty
|
|
range of the resource (public issue 303).
|
|
* Added valid usage for slink:VkPresentInfoKHR on the layout of presented
|
|
images (public issue 397).
|
|
|
|
Internal Issues:
|
|
|
|
* Add dependency in src/spec/Makefile so specversion.txt is regenerated
|
|
when needed (internal issue 462).
|
|
* Shorten the table of contents in the single-page ref page HTML output.
|
|
Still working on the PDF (internal issue 536).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
|
|
|
|
* Bump API patch number and header version number to 35 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Document in the <<memory-device-hostaccess,Host Access>> section that
|
|
mapping and unmapping does not invalidate or flush the mapped memory
|
|
(public issues 27, 126).
|
|
* Redefine the entire <<synchronization>> chapter in terms of consistent
|
|
and well defined terminology, that's called out at the start of the
|
|
chapter. This terminology is applied equally to all synchronization
|
|
types, including subpass dependencies, submissions, and much of the
|
|
implicit ordering stuff dotted around the spec. Key terms are laid out
|
|
in the <<synchronization-dependencies,Execution and Memory
|
|
Dependencies>> section at the top of the rewritten chapter (public
|
|
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
|
|
* Specify order of submission for batches in the
|
|
<<vkQueueSubmit,vkQueueSubmit>> and
|
|
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
|
|
* Add valid usage statements to each of the WSI extension sections
|
|
indicating that the WSI-specific structure parameters must be valid, and
|
|
remove automatically generated valid usage statements now covered by the
|
|
manual sections (public issue 383).
|
|
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
|
|
issue 390).
|
|
|
|
Internal Issues:
|
|
|
|
* Update +vk.xml+ to make previously explicit valid usage statements for
|
|
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
|
|
(internal issue 553).
|
|
* Add valid usage statement for slink:VkCreateImageInfo preventing
|
|
creation of 1D sparse images (internal issue 573).
|
|
* Fix Python scripts to always read/write files in utf-8 encoding, and a
|
|
logic error in reflib.py which could cause a fatal error for
|
|
malstructured asciidoc (internal issues 578, 586).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for December 1, 2016 Vulkan 1.0.36 spec update:
|
|
|
|
* Bump API patch number and header version number to 36 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix "recorded with" terminology in the valid usage language for the
|
|
flink:vkCmdExecuteCommands::pname:pCommandBuffers parameter (public
|
|
issue 390).
|
|
* Modify +genvk.py+ to support specifying extensions to remove from output
|
|
generators, allowing the extension loader +vulkan_ext.c+ to be created
|
|
without WSI extensions which are statically exported by the Vulkan
|
|
loader (public issue 412).
|
|
* Added validation language for slink:VkSubpassDependency and in the
|
|
<<synchronization-access-types-supported,supported access types>>
|
|
section to catch access masks that include bits which are not supported
|
|
by pipeline stages in the stage masks (partially addresses
|
|
github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/1006 ).
|
|
|
|
Internal Issues:
|
|
|
|
* Added validation language for flink:vkCmdWaitEvents,
|
|
flink:vkQueueSubmit, flink:VkRenderPassCreateInfo, and in the
|
|
<<synchronization-pipeline-stages-supported>> section to prevent
|
|
recording stage dependencies that aren't supported on the queue
|
|
(internal issue 516).
|
|
* Make a few changes that generalize spec language for use with possible
|
|
future extensions by adding glossary terms and generalizing ``feature''
|
|
to ``feature or extension'' where relevant (internal issues 448, 590).
|
|
* Added "pipeline type" attribute to +vk.xml+ for relevant commands and
|
|
utilize it in automatic generation of the Command Properties table
|
|
(internal issue 517).
|
|
* Specify that WSI implementations must provide both UNORM and sRGB
|
|
formats in the description of slink:VkColorSpaceKHR (internal issue
|
|
529).
|
|
* Remove nesting of explicit valid usage statements where it is not
|
|
meaningful (internal issue 583).
|
|
|
|
Other Issues:
|
|
|
|
* Add validity language requiring that
|
|
slink:VkPushConstantRange::pname:offset be a multiple of 4, as stated in
|
|
the spec language.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for December 10, 2016 Vulkan 1.0.37 spec update:
|
|
|
|
* Bump API patch number and header version number to 37 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add usability guarantees on the values returned by
|
|
flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR in the
|
|
slink:VkSurfaceCapabilitiesKHR structure and by
|
|
flink:vkGetPhysicalDeviceSurfaceFormatsKHR in the
|
|
pname:pSurfaceFormatCount parameter (public issue 385).
|
|
* Add elink:VkDebugReportObjectTypeEXT enumerants for new object types
|
|
introduced by new extensions (public issue 408).
|
|
* Add +VK_NVX_device_generated_commands+ etext:ACCESS bits and define how
|
|
they are used (public issue 415).
|
|
* Fix indentation for slink:VkDebugReportCallbackCreateInfoEXT member
|
|
descriptions (public issue 419).
|
|
|
|
Internal Issues:
|
|
|
|
* Expand requirements memory binding of non-sparse images and buffers from
|
|
the <<resources-association,Resource Memory Association>> section into
|
|
valid usage statements for all of the applicable API calls (internal
|
|
issue 508).
|
|
* Explicitly state that valid usage of flink:vkCreateImage requires that
|
|
flink:vkGetPhysicalDeviceImageFormatProperties would return
|
|
ename:VK_SUCCESS for the requested image configuration (internal issue
|
|
598).
|