Commit Graph

19 Commits

Author SHA1 Message Date
Jon Leech 56e0289318 Change log for January 05, 2019 Vulkan 1.1.97 spec update:
* Update release number to 97.

Public Issues:

  * Add a special case to the <<renderpass-compatibility, Render Pass
    Compatibility>> rules allowing single-subpass renderpasses to be
    compatible even if they have different resolve attachment references
    (public issue 835).
  * Fix the miss shader binding table record address rule in the
    <<shader-binding-table-indexing-rules, Miss Shaders>> section to index
    by code:missIndex, not code:sbtOffset (public issue 875).

Internal Issues:

  * Add a missing anchor to the elink:VkSamplerCreateFlagBits language
    (internal issue 1483).
  * Add missing implicit valid usage include for slink:VkHdrMetadataEXT and
    corresponding `noautovalidity` attributes in `vk.xml` for the
    externally-defined metadata properties (internal issue 1514).
  * Remove restrictions on the `mask` parameter of SPIR-V's
    code:OpGroupNonUniformXor in the <<spirvenv-module-validation,
    Validation Rules within a Module>> appendix (internal merge request
    2971).
  * Restore `noautovalidity` attribute for
    slink:VkPipelineViewportWScalingStateCreateInfoNV::pname:pViewportWScalings
    in `vk.xml` (internal merge request 2975).
  * Update copyright dates on Khronos-copyrighted files to 2019 (internal
    merge request 2980).

New Extensions:

  * `VK_KHR_depth_stencil_resolve`
  * `VK_EXT_buffer_device_address`
  * `VK_EXT_memory_budget`
  * `VK_EXT_memory_priority`
  * `VK_EXT_validation_features`
2019-01-05 19:40:12 -08:00
Jon Leech c24b84795f Change log for November 25, 2018 Vulkan 1.1.94 spec update:
* Update release number to 94.

Public Issues:

  * Use the terms "`texel block`" and "`texel block size`" instead of "`data
    element`" and "`element size`", and define "`element`" as an array slot.
    In addition to the terminology changes, retitled the <<texel-block-size,
    Representation and Texel Block Size>> section and added texel block size
    / no. of texels/block information to the
    <<features-formats-compatibility, Compatible Formats>> table. There is
    some additional work underway to make sure the compatibility language
    makes sense for all of uncompressed, compressed, and multiplanar formats
    (public issue 763).
  * Cleanup `VK_NV_ray_tracing` language (public issues 858, 859).

Internal Issues:

  * Specify in <<shaders-invocationgroups, Invocation and Derivative
    Groups>> and <<textures-output-format-conversion, Texel Output Format
    Conversion>> that derivative groups are quads when code:SubgroupSize >=
    4 (internal issue 1390).
  * Make the type of slink:VkDescriptorUpdateTemplateCreateInfo::pNext
    `const` following pattern for the other stext:Vk*CreateInfo structures
    (internal issue 1459).
  * Specify that flink:vkCmdClearAttachments executes as a drawing command,
    rather than a transfer command (internal issue 1463).
  * Update `VK_NV_ray_tracing` to use code:InstanceId instead of
    code:InstanceIndex.

New Extensions:

  * `VK_KHR_swapchain_mutable_format`
  * `VK_EXT_fragment_density_map`
2018-11-25 23:27:30 -08:00
Jon Leech 256a1ef661 Change log for November 18, 2018 Vulkan 1.1.93 spec update:
* Update release number to 93.

Public Issues:

  * Add spec language for ename:VK_INDEX_TYPE_NONE_NV and fix up
    slink:VkAccelerationStructureTypeNV (public issue 848).
  * Add missing suffix in description of slink:VkSubpassDescription2KHR
    parameters (public pull request 851).
  * Fix miscellaneous typos (public pull request 855).
  * Add driver ID for Pastel (public pull request 856).
  * Add missing include directive for slink:VkMemoryWin32HandlePropertiesKHR
    implicit valid usage statements (public pull request 857).

Internal Issues:

  * Restrict the storage classes permitted for SPIR-V atomics to what is
    actually supported, in the <<spirvenv-module-validation, Validation
    Rules within a Module>> section (internal issue 1123).
  * Add a missing Valid Usage statement to slink:VkRenderPassCreateInfo for
    the case pname:stencilLoadOp == ename:VK_LOAD_OP_CLEAR, pname:layout ==
    ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL (internal issue
    1408).
  * Modify optimize-pdf script and Makefile to retain non-optimized original
    PDF on errors (internal issue 1435).
  * Add <<spirvenv-module-validation, SPIR-V validation rules>> stating that
    only the listed code:BuiltIn decorations are permitted, and only when
    relevante features and extensions are enabled (internal issue 1449).
  * Remove some duplicated Valid Usage IDs created via cut & paste error
    (internal issue 1455).
  * Build HTML output for extension reference pages (internal issue 1461).
  ** Improve genRef.py handling of aliases defined inside other refpages.
  ** Emit aliases in pygenerator.py.
  ** Add XML noautovalidity flag for VkRenderPassCreateFlags until there
     are some corresponding FlagBits defined.
  ** Corrected types= attribute on some refpage blocks to 'flags'
  ** Added refpage blocks for some missing types detected by CI tests.
  * Fixed many Valid Usage statement issues in slink:VkRenderPassCreateInfo,
    slink:VkSubpassDescription, slink:VkSubpassDescription2KHR,
    slink:VkSubpassDependency2KHR, flink:vkCmdBeginRenderPass,
    flink:vkCmdBeginRenderPass2KHR, and slink:VkRenderPassBeginInfo
    discovered while adding `VK_KHR_create_renderpass2` to the validation
    layers.

New Extensions:

  * `VK_EXT_scalar_block_layout`
  * `VK_EXT_separate_stencil_usage`
2018-11-18 02:55:14 -08:00
MrVallentin e20fdd83c4 Fixed repeated words 2018-11-01 17:51:07 +01:00
Jon Leech 911a764694 Change log for October 7, 2018 Vulkan 1.1.87 spec update:
* Update release number to 87.

Public Issues:

  * Merge flink:vkCmdPipelineBarrier self-dependency barrier VUs referring
    to the same subpass dependency (public pull request 756).
  * Describe default value of `"optional"` attribute in the registry schema
    document (public issue 769)
  * Fix links in <<VK_NVX_raytracing>> extension (public pull request 805).
  * Mark the <<VK_KHR_mir_surface>> extension obsolete (see public issue 814
    - does not close this, however).
  * Fix missing endif in Image Creation block (public issue 817).

Internal Issues:

  * Clarify that the compressed texture formats corresponding to
    <<features-features-textureCompressionETC2>>,
    <<features-features-textureCompressionASTC_LDR>>, and
    <<features-features-textureCompressionBC>> is not contingent on the
    feature bits, and may be supported even if the features are not enabled
    (internal issue 663).
  * Clarify that code:FragStencilRefEXT is output only in the
    <<interfaces-builtin-variables, Built-In Variables>> section (internal
    issue 1173).
  * Identify and correct many overly-aggressive uses of "`undefined`", and
    narrow them down, where straightforward to do so. Mark such resolved
    uses of "`undefined`" with the custom undefined: macro. Add a new
    <<writing-undefined, Describing Undefined Behavior>> section (internal
    issue 1267).
  * Don't require code:inline_uniform_block descriptors to be populated
    before use in the flink:vkAllocateDescriptorSets section (internal issue
    1380).
  * Allow suppressing inline SVG images by controlling this with an
    attribute set in the Makefile, rather than the explicit [%inline]
    directive (internal issue 1391).
  * Mark 'Khronos' as a registered trademark in several places, now that it
    is one.
  * Fix typo in the <<VK_KHR_shader_atomic_int64>> appendix using the GLSL
    naming of the compare exchange op when referring to the SPIR-V op.
  * Specify in the flink:vkGetPhysicalDeviceQueueFamilyProperties section
    that all implementations must support at least one queue family, and
    that every queue family must contain at least one queue.
  * Make slink:VkPipelineDynamicStateCreateInfo::pname:dynamicStateCount,
    slink:VkSampleLocationsInfoEXT::pname:sampleLocationsPerPixel, and
    slink:VkSampleLocationsInfoEXT::pname:sampleLocationsCount optional, to
    fix bogus implicit valid usage checks that were causing failures in the
    conformance tests.
  * Fix vendor tag in reserved extension 237 constants. Does not affect
    anything since it's just a placeholder, but this should avoid further
    comments.
  * Minor markup fixes in some extension appendices.

New Extensions:

  * `<<VK_FUCHSIA_imagepipe_surface>>`
2018-10-07 06:10:21 -07:00
Jon Leech 7ea62a02a9 Change log for September 29, 2018 Vulkan 1.1.86 spec update:
* Update release number to 86.

Internal Issues:

  * Add new <<resources-image-creation-limits, Image Creation Limits>>
    section and reference that from valid usage statements, reducing
    combinatorial complexity of extension-dependent VUs. Also fixes some
    underspecified limits (such as pname:maxMipLevels) in the VUs for
    slink:VkImageCreateInfo when
    slink:VkExternalMemoryImageCreateInfo::pname:externalMemoryHandles
    contains multiple bits, and fixes incorrectly (and underspecified)
    limits when an Android external format is used (internal issue 1370).
  * Remove unused "`Fragment Area Granularity`" glossary entry accidentally
    introduced in the 1.1.85 update.

New Extensions:

  * `VK_KHR_driver_properties`
  * `VK_KHR_shader_atomic_int64`
  * The specification sources contain text for another extension,
    `VK_EXT_image_drm_format_modifier`, but this extension is not yet
    complete, and is marked disabled in `vk.xml`. The extension will be
    enabled, and become part of the spec, only when the authors decide it is
    ready.
2018-09-29 03:23:41 -07:00
Jon Leech 9858c1e89e Change log for September 19, 2018 Vulkan 1.1.85 spec update:
* Update release number to 85.

Public Issues:

  * Add self-dependency ename:VK_DEPENDENCY_BY_REGION_BIT valid usage
    statements for slink:VkSubpassDependency(public pull request 778).
  * Apply fix from pull request 742 to slink:VkSubpassDependency and
    slink:VkSubpassDependency2 (public pull request 779).
  * Specify the units of slink:VkBufferImageCopy::pname:bufferRowLength and
    pname:bufferImageHeight as texels (public pull request 781).
  * Better specify promoted parameter mapping in the
    `<<VK_KHR_create_renderpass2>>` appendix (public pull request 782).

Internal Issues:

  * Only include the <<fundamentals-validusage-versions, Valid Usage for
    Newer Core Versions>> section in Vulkan 1.1 or later (internal issue
    1381).

Other Issues:

  * Clean up redundant valid usage language for the
    `VK_ANDROID_external_memory_android_hardware_buffer` extension
    interaction with slink:VkImageCreateInfo.
  * Fix error in a flag name within valid usage statements for
    slink:VkMemoryAllocateInfo.
  * Clarify that memory types are not totally ordered in
    slink:VkPhysicalDeviceMemoryProperties.
  * For slink:VkWriteDescriptorSetInlineUniformBlockEXT, set
    structextends="VkWriteDescriptorSet" in `vk.xml`, and make
    slink:VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::pname:pBindingFlags
    optional.
  * Add documentation of 'provisional' XML attribute to registry.txt.

New Extensions:

  * `VK_NV_compute_shader_derivatives`
  * `VK_NV_corner_sampled_image`
  * `VK_NV_fragment_shader_barycentric`
  * `VK_NV_mesh_shader`
  * `VK_NV_representative_fragment_test`
  * `VK_NV_scissor_exclusive`
  * `VK_NV_shader_image_footprint`
  * `VK_NV_shading_rate_image`
  * `VK_NVX_raytracing`
2018-09-15 18:35:16 -07:00
MarkCallow 5cf880295c Specify the units of buffer{RowLength,imageHeight}. Issue 752. 2018-08-28 16:20:04 -07:00
William Henning 969fb50f31 Remove doubly typed word typos 2018-08-06 20:19:01 -06:00
William Henning 74fc29a0d6 Fix several more "a" vs "an" typos 2018-08-06 16:59:12 -06:00
Jon Leech ff0c233908 Change log for July 30, 2018 Vulkan 1.1.82 spec update:
* Update release number to 82.

Public Issues:

  * Add flink:vkDestroyPipelineLayout valid usage statement that the layout
    must not have been used with command buffers still in the recording
    state (public issue 730).
  * Correct \<unused> tag for elink:VkResult in `vk.xml` (public merge
    request 746).

Internal Issues:

  * Add a valid usage statement to flink:vkQueueSubmit, and similar language
    to the definitions of <<synchronization-queue-transfers-acquire, acquire
    operations>> requiring that an acquire operation follow a previous
    release of the same subresource (internal issue 1290).
  * Add <<resources-image-format-features,Image Format Features>> and
    <<resources-image-view-format-features,Image View Format Features>>
    sections that precisely define the slink:VkFormatFeatures supported by
    images and image views, and rewrite valid usage statements to reference
    these sections instead of duplicating language (internal issue 1310).
  * Reword and consolidate synchronization valid usage statements for
    flink:vkCmdPipelineBarrier such that they correctly account for mutiple
    possible self-dependencies (internal issue 1322).
  * Change order of <<Standard sample locations>> for 2xMSAA (internal issue
    1347).
  * Add definitions of "`<<Correctly Rounded>>`" and "`<<ULP>>`" in the
    SPIR-V environment appendix, and "`Units in the Last Place (ULP)`" in
    the glossary.

New Extensions:

  * `VK_NV_device_diagnostic_checkpoints`
2018-07-30 03:20:00 -07:00
Jon Leech 6377124f37 Change log for July 23, 2018 Vulkan 1.1.81 spec update:
* Update release number to 81.

Public Issues:

  * Fix missing "`valid`" phrasing in some obscure cases (public pull
    request 605).
  * Replace improper use of cannot: referring to the implementation in the
    description of the
    <<features-limits-maxUpdateAfterBindDescriptorsInAllPools,
    pname:maxUpdateAfterBindDescriptorsInAllPools>> limit (public pull
    request 738).
  * Reorder description of bits in elink:VkPipelineStageFlagBits and the
    <<synchronization-pipeline-stages-supported, Supported pipeline stage
    flags>> table to match their definition order (public pull request 740).
  * Add description of ename:VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
    to elink:VkBufferUsageFlagBits (public pull request 741).
  * Fix value usage statement for slink:VkSubpassDependency stage mask
    parameters (public pull request 742).
  * Fix visible markup in registry schema document (public pull request
    #745).

Internal Issues:

  * Make the <<geometry-invocations, geometry shader invocation
    description>> and <<shaders-geometry-execution, Geometry Shader
    Execution>> descriptions consistent with other pipeline stages (internal
    issue 1325).
  * Mark the `VK_NV_glsl_shader` extension as deprecated.
  * Adjust the per-instance vertex attribute offset formula specified by
    `VK_EXT_vertex_attribute_divisor` for
    slink:VkVertexInputBindingDivisorDescriptionEXT so that the interaction
    between pname:firstInstance and pname:divisor matches the OpenGL
    convention (internal issue 1333).
2018-07-23 02:15:08 -07:00
Petr Kraus 86de8ac805 Fix missing "valid" in some obscure cases
- update script to detect better structs that do not need "valid"
- update vk.xml and schema to say `noautovalidity` as a hint to the
script
- fix missing const in VkValidationFlagsEXT
- update some cases that were probably avoiding the bug
2018-07-09 22:59:20 +02:00
Petr Kraus d84e6a27ca Random VK_ANDROID_external_memory_android_hardware_buffer cleanup 2018-06-08 19:44:29 +02:00
Jon Leech e665b9e691 Change log for May 16, 2018 Vulkan 1.1.75 spec update:
* Update release number to 75.

Github Issues:

  * Use Github handles (e.g. @handle) for contact information in vk.xml,
    when available (partial fix for public issue 630).
  * Add size invariance guarantee to slink:VkMemoryRequirements for
    buffer/image memory requirements (public issue 661).
  * Correct scope (conditional constructs) in valid usage statement for
    slink:VkBindImageMemoryInfo (public pull request 684).
  * Clean up minor markup issues and typos in the
    `VK_ANDROID_external_memory_android_hardware_buffer` extension appendix
    (public pull request 698).
  * Modify registry processing script to avoid irrelevant warnings of benign
    enumerant redefinitions (public pull request 705).
  * Fix some duplicate words and some misspelled "`stagess`" (public pull
    request 712)

Internal Issues:

  * Enable continuous integration tests on the internal Khronos gitlab
    server by adding a .gitlab-ci.yml file. Note: this does not implement CI
    on the public Github repository (internal issue 408).
  * Add link from description of depth clamping in the <<fragops-depth,
    depth test>> section to the
    slink:VkPipelineRasterizationStateCreateInfo::pname:depthClampEnable
    parameter which enables it, making it easily searchable / findable
    (internal issue 1125).
  * Clarify that arrays of arrays of descriptors are not allowed in the
    <<interfaces-resources-descset, Descriptor Set Interface>> and
    <<interfaces-resources-setandbinding, DescriptorSet and Binding
    Assignment>> sections (internal issue 1192).
  * Comment out some redundant nested asciidoctor conditionals in the
    slink:VkImageViewCreateInfo valid usage block, and explain in all cases
    why the redundant conditional exist and are commented out (internal
    issue 1231).
  * Move a valid usage statement from slink:VkCommandPoolCreateInfo to the
    parent flink:vkCreateCommandPool, where the device queue is known
    (internal issue 1233).
  * Add new slink:VkBaseInStructure and slink:VkBaseOutStructure types which
    can be used by extensions and implementations for handling Vulkan
    sType/pNext style structures in a more generic way (internal issue
    1265).
  * Clarify that
    slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
    only applies to external-format images. Add references to this in valid
    usage statements that previously only referred to
    slink:VkFormatProperties (internal issue 1244).
  * Fix the description of elink:VkPipelineCreateFlagBits enumerant
    ename:VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT to match the
    name (internal issue 1279).
  * Add a NOTE to the <<interfaces-resources-setandbinding, DescriptorSet
    and Binding Assignment>> section making it clear that variables sharing
    a storage class may use identical descriptor set and bindings.
    Specifically state the sometimes misunderstood ability to have one or
    more differently typed image descriptors sharing a descriptor set and
    binding (internal SPIR-V issue 264).
  * Make DynamicIndexing features and capabilities also control the
    uniformity of the descriptor used in memory access instructions in the
    <<interfaces-resources-descset, Descriptor Set Interface>> section. This
    makes them also apply to variable_pointer usage, which can bypass the
    array indexing operation (internal SPIR-V issue 289).

Other Issues:

  * Correct flink:vkCmdBlitImage limitations on cubic blits to be 2D only,
    not 3D.
  * Update valid usage statements for slink:VkRenderPassCreateInfo and
    slink:VkInputAttachmentAspectReference.
  * Move YCbCr-related VU statements from slink:VkDescriptorImageInfo to
    slink:VkWriteDescriptorSet, where all needed information is known, and
    remove redundant statements.
  * Move SPIR-V restriction that images be of either sampled or storage
    types from the <<interfaces-resources-descset, Descriptor Set
    Interface>> section to the <<spirvenv-module-validation, Validation
    Rules within a Module>> section of the SPIR-V appendix.
2018-05-17 02:38:41 -07:00
William Henning 9ffd5321b2 Fixed small typos 2018-05-04 14:55:05 -06:00
Jon Leech c51545d33f Change log for April 21, 2018 Vulkan 1.1.74 spec update:
* Update release number to 74.

Github Issues:

  * Clarify which buffer locations are accessed in
    flink:vkCmdCopyBufferToImage valid usage statements (public issue 676).
  * Refine description of <<extended-functionality-extensions-dependencies,
    extension dependencies>>, related NOTE in the
    <<extended-functionality-extensions, Extensions>> section, and
    "`Required Extensions`" glossary term (public pull request 693).
  * Add support for specifying required Vulkan core version in `vk.xml` and
    the extension metadoc generator (public issue 696).
  * Update .gitignore for directory reorganization (public pull request
    699).
  * Fix typo (public pull request 703).

Internal Issues:

  * Update valid usage of slink:VkClearRect::pname:layerCount (internal
    issue 1241).

Other Issues:

  * Fix typo in <<NV_geometry_shader_passthrough>> issues list.
2018-04-21 03:16:01 -07:00
Jon Leech 26f0bdbf1e Change log for March 5, 2018 Vulkan 1.1.72 spec update:
* Update release number to 72.

Github Issues:

  * Restructure the repository to put the specification `Makefile` and
    associated spec source material at the top level, `vk.xml` and
    associated scripts material in `xml/`, and generated include and source
    files in `include/vulkan/` and `src/ext_loader/`, respectively (public
    issue 436).
  * Add missing bullet point markup to flink:vkCmdCopyImage valid usage
    statement, so it gets a VUID assigned (public issue 627).
  * Fix broken links in a couple of extension appendices (public pull
    request 665).
  * Add the \<platform> tag to the index in section 4.1 of the registry
    schema documentation, and add the protect= attribute of \<extension>
    tags to the comments in `registry.rnc` (public issues 673, 678).
  * Add missing valid usage statements for sparse image interactions to
    flink:VkImageCreateInfo (public pull request 675).
  * Fix improper usage and grammar of "`can: not`" (public pull request
    681).
  * Remove duplicate spec language and NOTE on present layout between the
    flink:vkAcquireNextImageKHR and flink:vkAcquireNextImage2KHR commands
    (public pull request 685).
  * Fix some typos and markup issues (public pull request 689; public issues
    642, 667, 687).
  * Fix typo etext:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FENCE_FD_BIT ->
    ename:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT in the
    <<external-semaphore-handle-types-compatibility, External semaphore
    handle types compatibility>> table (public pull request 691).

Internal Issues:

  * Remove the need for the "`noautovalidity`" attribute on extension
    structures in `vk.xml`. It is now implied by the "`structextends`"
    attribute instead (internal issue 942).
  * Replace uses of "`currently bound`" with "`bound`", since "`currently`"
    is redundant and distracting, and add a corresponding rule to the style
    guide (internal issue 993).
  * Fixed subtle issues with the last updates to flink:vkAcquireNextImageKHR
    language that had resulted in ambiguities (internal issue 1178).
  * Make it clear that only one query of a given type is allowed at a time
    by reordering valid usage statements for flink:vkCmdBeginQuery and
    flink:vkCmdEndQuery, and removing redundant ones (internal issue 1213).
  * Swapped OL1 and OL3 in `tessparamUL.svg` to match previous version, and
    fixed where "`(no edge)`" appears (internal issue 1215).

Other Issues:

  * Fixed a minor problem with the valid usage statement extraction script,
    and corresponding markup in the spec source.

New Extensions:

  * `VK_AMD_shader_core_properties`
  * `VK_EXT_descriptor_indexing`
  * `VK_NV_shader_subgroup_partitioned`
2018-04-05 04:24:56 -07:00
Jon Leech 9a8314cd41 Restructure the repository to put the specification Makefile and
associated material at the top level, vk.xml and associated material in
xml/, and generated include and source files in include/vulkan/ and
src/ext_loader/, respectively (public issue 436).
2018-04-04 23:08:43 -07:00