Commit Graph

413 Commits

Author SHA1 Message Date
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
Jon Leech deabecf729
Merge pull request #693 from krOoze/dev_inst_ext_dependencies
Refine extension dependencies
2018-04-21 02:46:37 -07:00
Tobin Ehlis 3f58f9e18f scripts:Account for extnumber key to fix warnings
With the addition of the 'extnumber' key update comparison to skip over
the extnumber as well as extname in order to avoid a bunch of
irrelevant warnings.
2018-04-17 13:18:20 -06:00
Petr Kraus 0c47a7c5b1 Random VK_ANDROID_external_memory_android_hardware_buffer cleanup 2018-04-16 20:55:55 +02:00
Petr Kraus ec4632fa37 Fix leftover $ inline latexmath 2018-04-16 01:56:17 +02:00
Jon Leech 5300d9f05e Change log for April 15, 2018 Vulkan 1.1.73 spec update:
* Update release number to 73.

Github Issues:

  * Refine swapchain association with surface for slink:VkSwapchainKHR, with
    matching valid usage statements for slink:VkSwapchainCreateInfoKHR and
    discussion following the <<swapchain-wsi-image-create-info>> table
    (public issue 637).
  * Re-remove several valid usage statements from slink:VkImageCreateInfo
    that had previously been removed at the time that
    ename:VK_IMAGE_CREATE_EXTENDED_USAGE_BIT was introduced. These
    statements had incorrectly been restored due to an glitch while merging
    from the old `1.0` branch to the current `master` branch (public issue
    683).

Internal Issues:

  * Fix reference page generation and configure build to generate reference
    pages 1.1 with all extensions, rather than core only, as was the case
    for the 1.0 ref pages (internal issues 484, 1056, 1205).
  * Require that
    slink:VkMemoryDedicatedRequirements::pname:prefersDedicateAllocation is
    ename:VK_TRUE when
    slink:VkMemoryDedicatedRequirements::pname:requiresDedicateAllocation is
    ename:VK_TRUE (internal issue 1222).
  * Fix Ruby extension code so `diff_html` Makefile target works (internal
    issue 1230).
  * Update `genRelease` script to generate 1.1 + all extensions reference
    pages - but not the single-page HTML / PDF versions, which are even
    larger than the API spec (internal issue 1245).

Other Issues:

  * Add missing attributes to `vk.xml` for `VK_ANDROID_native_buffer`.
  * Specify that the slink:VkAttachmentDescription::pname:format member is
    the format of the image *view* that will be used for the attachment.
  * Use core sname:VkPhysicalDeviceFeatures2 in the `structextends` `vk.xml`
    attribute for sname:VkPhysicalDeviceDescriptorIndexingFeaturesEXT and
    sname:VkPhysicalDeviceDescriptorIndexingPropertiesEXT, rather than the
    KHR equivalent it was promoted from.
  * Fix the "`Fragment Input Attachment Interface`" glossary entry to match
    the specification body.
  * Clarify the interaction of sRGB images used as storage or texel buffers
    with <<textures-output-format-conversion, Texel Output Format
    Conversion>>.
  * Moved three valid usage statements from
    slink:VkRenderPassMultiviewCreateInfo up to
    slink:VkRenderPassCreateInfo, and added a new valid usage statement for
    slink:VkRenderPassInputAttachmentAspectCreateInfo.
  * Added valid usage statements for slink:VkBufferMemoryBarrier and
    slink:VkImageMemoryBarrier reflecting the global requirement that
    "`non-sparse resources must be bound to memory before being recorded to
    command`".

New Extensions:
2018-04-15 03:32:07 -07:00
Jon Leech d0a5cfde01
Merge pull request #637 from krOoze/fix_swapchain_association
Refine swapchain association with surface
2018-04-14 21:25:39 -07:00
Petr Kraus 9ab65c76de Update gitignore 2018-04-10 01:10:03 +02:00
Petr Kraus b6aea0ffaf Refine extension dependencies
- requires impls to honor resolution in #659
- addresses some confusion in Vulkan-LoaderAndValidationLayers/#2366
- require impls to support dependencies
2018-04-09 14:52:32 +02:00
Petr Kraus bb80024be5 Correct mem VU ifdef scope in VkBindImageMemoryInfo
- previously VU exluded if 1.1 or VK_KHR_device_group,
  but if swapchain ext. not defined memory param should
  be valid too =>
  now excluded iff VK_KHR_swapchain is defined too
2018-04-06 19:18:20 +02:00
Petr Kraus 5c2f456426 Refine swapchain association with surface
- make **must** statement a proper VU
- fix sentence saying only one swapchain can be associated
- fix languge saying **must** not instead of **cannot**
- clarify all the cases when swapcahin cannot be created
2018-04-05 15:24:17 +02:00
Jon Leech e1c0e426f3 Fix Makefile PATCHVERSION to 72, and finish cleaning up after the
dirtree reorganization, changing paths in build scripts and other
spec-adjacent material.
2018-04-05 05:07:37 -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
Jon Leech f34f2d3c21
Merge pull request #665 from krOoze/fix_broken_links
Fix some broken links
2018-04-04 22:19:23 -07:00
Jon Leech c4bf001c65
Merge pull request #675 from krOoze/add_missing_sparse_image_vu
Add missing sparse VUs to VkImageCreateInfo
2018-04-04 22:18:18 -07:00
Jon Leech e4b2b1c729
Merge pull request #681 from krOoze/fix_cannot
Fix "can not"
2018-04-04 22:17:27 -07:00
Jon Leech cc43fa7359
Merge pull request #689 from krOoze/typos
Fix some typos
2018-04-04 22:15:50 -07:00
Jon Leech 77abbd0e77
Merge pull request #691 from ascent12/master
Fix typo: Change 'FENCE_FD' to 'SYNC_FD'
2018-04-04 22:14:46 -07:00
Jon Leech 9c0bae9896
Merge pull request #685 from krOoze/duplicate_present_layout_note
Remove duplicate present layout note
2018-04-04 22:13:36 -07:00