Commit Graph

332 Commits

Author SHA1 Message Date
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 d5fc0a72f3
Merge pull request #746 from krOoze/bad_xml_unused
Delete wrong <unused> tag
2018-07-30 02:01:28 -07:00
Petr Kraus 9d11e22ab6 Fix metadoc script showing non-selected extensions
mostly comments
`doc += content` -> `doc += innerdoc ` does the fix
2018-07-23 15:40:30 +02:00
Petr Kraus d8f9adb77a Update wrong VkResult <unused> tag 2018-07-23 12:44:38 +02: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
Jon Leech 0c50f0e8b0
Merge pull request #605 from krOoze/fix_missing_valid
Fix missing "valid" in some obscure cases
2018-07-23 01:11:46 -07:00
Jon Leech f041cd79e7
Merge pull request #740 from krOoze/reorder_barrier_flags
Reorder stage and access flags to match their definition order
2018-07-23 00:56:23 -07:00
Jon Leech 729500018f
Merge pull request #745 from krOoze/markup_schema
Fix visible markup in schema doc
2018-07-23 00:54:18 -07:00
Jon Leech b3d63f6326
Merge pull request #738 from krOoze/bad_cannot_ind_pool
Fix cannot referring to impl in maxUpdateAfterBindDescriptorsInAllPools
2018-07-23 00:49:05 -07:00
Jon Leech 504113cbc1
Merge pull request #741 from krOoze/add_cond_usage_bit_desc
Add VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT description
2018-07-23 00:43:19 -07:00
Jon Leech 6284e052d6
Merge pull request #742 from krOoze/fix_ifdef_in_vu
Fix VkSubpassDependency self-dependency stage VU
2018-07-23 00:41:47 -07:00
Petr Kraus daecfe8006 Fix visible markup in schema doc 2018-07-20 19:23:18 +02:00
Petr Kraus 5a1de0c1de Allow multiple flag bits in subpass self-dependency 2018-07-17 16:10:52 +02:00
Petr Kraus 5c3af4b338 Fix ifdef inside VU entry in VkSubpassDependency 2018-07-17 16:10:39 +02:00
Petr Kraus efb25b267a Add VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT description 2018-07-12 18:24:35 +02:00
Petr Kraus a67969af1f Reorder stage and access flags to match their definition order 2018-07-12 17:43:23 +02:00
Petr Kraus a21ac56a81 Fix cannot referring to impl in maxUpdateAfterBindDescriptorsInAllPools 2018-07-10 15:14:40 +02: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
Jon Leech 831e2d4525 Change log for July 7, 2018 Vulkan 1.1.80 spec update:
* Update release number to 80.

Public Issues:

  * Remove unused "`API Order`" term from glossary (public issue 657).
  * Dynamically generate the extension appendix includes based on
    information in `vk.xml`, including new metadata tags describing
    deprecated, obsoleted, and promoted extensions (public pull request
    690).

Internal Issues:

  * Add valid usage statements to flink:vkCmdBindDescriptorSets to keep
    offsets + range less than or equal to the buffer size (internal issue
    1174).

New Extensions:

  * `VK_EXT_conditional_render`
  * `VK_KHR_create_renderpass2` (public issue 736)
  * `VK_KHR_8bit_storage` (public issue 737)
2018-07-07 02:21:56 -07:00
Jon Leech 5ffcd3fa3e Remove partial IMG extension appendix, since IMG hasn't chosen to
publish a spec for that yet, and add a change log to the registry
documentation.
2018-07-07 01:49:34 -07:00
Jon Leech 32a9e2ea3b
Merge pull request #690 from krOoze/organize_extensions
Organize extension appendices
2018-07-07 01:47:23 -07:00
Jon Leech ff9357a4ba Change log for July 1, 2018 Vulkan 1.1.79 spec update:
* Update release number to 79.

Public Issues:

  * Add a note to the <<features-required-format-support, Required Format
    Support>> section clarifying that the required formats don't depend on
    the used flags (public issue 671).
  * Add a valid usage statement for flink:vkUpdateDescriptors that was
    previously described for slink:VkImageSubresourceRange, but not as a
    valid usage statement (public issue 713).
  * Modify implicit valid usage generator script to not emit 'must: not be
    0' for a parameter that is a pointer to a flags field, such as
    pname:pPeerMemoryFeatures (public issue 729).

Internal Issues:

  * Add definitions of "`obsoleted`" and "`deprecated`", and modify the
    definition of "`promoted`" in the <<glossary, Glossary>> (internal issue
    988).
  * Add language for integer texel output conversions (the conversion is
    undefined) to the <<textures-output-format-conversion]] Texel Output
    Format Conversion>> section. Simplify and clarify the floating-point
    conversion language in the <<fundamentals-general, General
    Requirements>> section and the new <<fundamentals-fp-conversion,
    Floating-Point Format Conversions>> section, and remove obsolete
    language in the format-specific floating-point sections (internal issue
    1275).
  * Add the elink:VkVendorId enumerated type to the Vulkan API / XML /
    header, so reserved Khronos vendor IDs can be referred to symbolically
    by clients. Note that only Khronos vendor IDs (e.g. non-PCI vendor IDs)
    are defined (internal issue 1299).
  * Fix typo in the <<fig-non-strict-lines, Non strict lines>> table
    (internal issue 1315).
  * Clean up and simplify the
    <<features-formats-requiring-sampler-ycbcr-conversion, YCbCr format
    properties>> table and use symbols consistently with other tables. Add a
    column for the number of planes.
  * Add code:Float16 to the <<spirvenv-capabilities-table, List of optional
    SPIR-V capabilities>> for the `VK_AMD_gpu_shader_half_float` extension.
2018-07-01 21:26:49 -07:00
Jon Leech 07d059c798
Merge pull request #713 from KhronosGroup/tobin_descriptor_ds_image_vu
Add VU for depth/stencil image descriptor
2018-07-01 17:18:10 -07:00
Kai Ninomiya 4ba7c06e72 Use [%inline] for all SVGs
Provides a 12.6% size savings for vkspec.html
(697770 B -> 609679 B, gzipped), because:
(1) plaintext is smaller than base64-encoded plaintext, and
(2) base64 does not gzip as well as plaintext SVG.
2018-06-28 16:37:10 -07:00
Petr Kraus fe20b27df1 Document 'promotedto', 'deprecatedby' and 'obsoletedby' <extension> attributes 2018-06-27 14:27:56 +02:00
Petr Kraus cbb743537e Organize extension appendices
- hide from toc
- split into "current" extensions, and extensions that have been since
deprecated by a better alternative
- make core promotion list generated
- add information to extension appendix about possible better
alternatives
- split contacts to separate lines
- some general-purpose quality improvements to the script
2018-06-26 21:06:02 +02:00
Jon Leech 9582bcb54e Minor build fixes. 2018-06-18 03:24:40 -07:00
Jon Leech 933a3a3c4a Change log for June 18, 2018 Vulkan 1.1.78 spec update:
* Update release number to 78.

Public Issues:

  * Change markup so parameter descriptions include links to structures,
    instead of just their names (public issue 697).
  * Resume publishing updated Vulkan 1.0 + KHR extensions and Vulkan 1.0 +
    all extensions versions of the specification (public issue 722).
  * Reapply fixes from public pull request 698 for
    `VK_ANDROID_external_memory_android_hardware_buffer`, which accidentally
    were reverted at some point (public pull request 724).
  * Fix undefined format valid usage statements for slink:VkImageCreateInfo
    in the presence of the
    `VK_ANDROID_external_memory_android_hardware_buffer` extension (public
    pull request 725).
  * Miscellaneous markup consistency fixes (public pull request 728).

Internal Issues:

  * When building specifications containing vendor extensions, add terms to
    the Khronos spec copyright specifying that the result is not a ratified
    specification (internal issue 739).
  * Change the value of the
    pname:maxDescriptorSetUpdateAfterBindUniformBuffers minimum limit to 72
    (6 times pname:maxPerStageDescriptorUpdateAfterBindUniformBuffers) in
    the <<features-limits-required, Required Limits>> table (internal issue
    1300).

Other Issues:

  * Fix link to resource image view compatibility table in the valid usage
    statements for slink:VkImageFormatListCreateInfoKHR (internal pull
    request 2711).
2018-06-18 01:46:28 -07:00
Jon Leech 95da63ce68
Merge pull request #728 from krOoze/markup
Random markup fixes
2018-06-18 00:46:57 -07:00
Jon Leech 116c401cf4
Merge pull request #724 from krOoze/android_markup
Reapply #698: VK_ANDROID_external_memory_android_hardware_buffer markup cleanup
2018-06-18 00:03:55 -07:00
Jon Leech 0b2f3376c7
Merge pull request #725 from krOoze/fix_android_image_format_vu
Fix android buffer extension undefined format VUs
2018-06-18 00:00:33 -07:00
Petr Kraus 9adcc2f19f Random markup fixes 2018-06-11 21:04:31 +02:00
Jon Leech 0d5f92c7fa Change log for June 10, 2018 Vulkan 1.1.77 spec update:
* Update release number to 77.

Public Issues:

  * Remove redundant asciidoctor ifdef in slink:VkDeviceCreateInfo valid
    usage statement (public pull request 718).

Internal Issues:

  * Require that the returned slink:VkMemoryRequirements::pname:alignment
    reflect the minimum alignment requirements for the buffer's usages, and
    make dynamic offset alignment valid usage more explicit for
    flink:vkBindBufferMemory and flink:vkCmdBindDescriptorSets (internal
    issue 1170).
  * Explicitly state that objects of type code:OpTypeImage,
    code:OpTypeSampler, and code:OpTypeSampledImage must not be stored to in
    the <<spirvenv-module-validation, Validation Rules within a Module>>
    section (internal issue 1262).
  * Clarify rules about validating descriptor set/binding against storage
    class and descriptor type in the <<spirvenv-module-validation,
    Validation Rules within a Module>> section, and add an anchor for and
    references to the <<interfaces-resources-storage-class-correspondence,
    Shader Resource and Storage Class Correspondence>> table (internal issue
    1266).
  * Use correct spelling of SPIR-V decoration code:NonWritable in several
    places (internal issue 1298).

Other Issues:

  * Update specification links to files in the old
    KhronosGroup/Vulkan-LoaderAndValidationLayers repository with
    corresponding links into the new repositories that replace it.
  * Move validity requirement for slink:VkSamplerCreateInfo into the valid
    usage block instead of the body text, and give it a VUID.
  * Use the full name of the "`style guide`" in a reference in the
    description of slink:vkGetPhysicalDeviceProperties, update the
    <<vulkan-styleguide, link to that document>>, and use the the full name
    in the registry index page.
2018-06-10 19:43:40 -07:00
Jon Leech 1329718aba
Merge pull request #718 from krOoze/neg_vp_ext_extraneous_ifdef
Remove extraneous ifdef in VkDeviceCreateInfo VU
2018-06-08 18:06:14 -07:00
Petr Kraus ab99080c90 Fix android buffer extension undefined format VUs 2018-06-08 19:49:21 +02:00
Petr Kraus d84e6a27ca Random VK_ANDROID_external_memory_android_hardware_buffer cleanup 2018-06-08 19:44:29 +02:00
Jon Leech ee13fc355f Change log for May 25, 2018 Vulkan 1.1.76 spec update:
* Update release number to 76.

Internal Issues:

  * Add an exception clause to the license on `vk.xml`, enabling its use
    with GPL-based projects (internal issue 1017).
  * Remove the generated `vulkan_ext.[ch]` files, which are no longer
    supported. Add `src/ext_loader/README.md` explaining why, and update
    files in `xml/` to not generate them by default (internal issue 1268)

Other Issues:

  * Fix typos in valid usage statements for the
    ftext:vkDrawIndexedIndirectCount* commands, replacing
    sizeof(VkDrawIndirectComment) with sizeof(VkDrawIndexedIndirectCommand).
  * Modify the <<spirvenv-module-validation, Validation Rules within a
    Module>> section to require code:NonReadable or code:NonWriteable in
    SPIR-V code for images with an image format of code:Unknown if one of
    the requisite code:shaderImageReadWithoutFormat or
    code:shaderImageWriteWithoutFormat features is disabled.

New Extensions:

  * `VK_KHR_get_display_properties2`
  * `VK_KHR_draw_indirect_count`
2018-05-25 04:00:32 -07:00
Petr Kraus 91d4608363 Remove extraneous ifdef in VkDeviceCreateInfo VU 2018-05-22 10:33:39 +02:00
Jon Leech fae3873128 Add Exception Clause to vk.xml Apache 2 license, to enable Wine and
other OSS projects to use code they generate from vk.xml together with
GPL code.
2018-05-21 18:09:15 -07: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
Jon Leech 1e650ddd09
Merge pull request #698 from krOoze/android_markup
Random VK_ANDROID_external_memory_android_hardware_buffer cleanup
2018-05-15 03:53:12 -07:00
Jon Leech 459fe9e80d
Merge pull request #705 from KhronosGroup/tobin_reg_py_warning_fix
scripts:Account for extnumber key to fix warnings
2018-05-15 03:51:45 -07:00
Jon Leech 58535ce876
Merge pull request #712 from Whenning42/master
Fixed small typos
2018-05-15 03:48:34 -07:00
Jon Leech 1744549ac4
Merge pull request #684 from krOoze/missing_memory_vu
Correct mem VU ifdef scope in VkBindImageMemoryInfo
2018-05-15 03:46:26 -07:00
Tobin Ehlis 9396edf859 Add VU for depth/stencil image descriptor
There's a paragraph under VkImageSubresourceRange description that
contains this restriction but no VU under the vkUpdateDescriptors()
section. Adding the VU for clarity as the existing paragraph is easy
to miss.
2018-05-08 08:07:55 -06:00
William Henning 9ffd5321b2 Fixed small typos 2018-05-04 14:55:05 -06:00
Petr Kraus 07dca298c4 + some more 2018-05-03 04:23:06 +02: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 52a06ca3f6
Merge pull request #699 from krOoze/gitignore_out
Update gitignore
2018-04-21 02:48:09 -07:00
Jon Leech 533f985941
Merge pull request #703 from krOoze/fix_dollar_math
Fix leftover $ inline latexmath
2018-04-21 02:47:20 -07:00