926 lines
42 KiB
Plaintext
926 lines
42 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 can't 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's 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 don't 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. Don't 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 don't
|
|
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 mustnot: 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've
|
|
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 branch, and of
|
|
ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT in the
|
|
VK_EXT_debug_report branch (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's 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
|
|
weren't relevant to (or supported on) the OS. Also, removed
|
|
"Khronos-provided" since the Android loader isn't (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
|
|
wasn't listed in the error codes.
|
|
* Fix "correponds" typo in member definitions for
|
|
slink:VkSubpassDescription.
|