Commit Graph

395 Commits

Author SHA1 Message Date
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
Scott Anderson a7ff0a191d Change 'FENCE_FD' to 'SYNC_FD' 2018-03-26 14:20:18 +13:00
Petr Kraus e7f6199b8b Fix some typos
- defeat "is is" in `vkEnumerateInstanceVersion`
- correct markup doc about em-dash (leftover from #642)
- fix #667 (cmdbuffer initial state mangled sentence)
- fix #687 (`VkFormat::` instead `VkFormatProperties::`)
2018-03-23 17:42:44 +01:00
Petr Kraus 8222c6c185 Remove duplicate present layout note 2018-03-19 20:50:20 +01:00
Petr Kraus b8ab9625b1 Fix some broken links 2018-03-17 15:27:46 +01:00
Jon Leech e958791a01 Change log for March 16, 2018 Vulkan 1.1.71 spec update:
* First public update for Vulkan 1.1.

Github Issues:

  * Refer to standard sparse image block shape format tables explicitly in
    the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>>
    section (public issue 93).
  * Add the missing definition of the code:LocalInvocationIndex decoration
    in the <<interfaces-builtin-variables, Built-In Variables>> section
    (public issue 532).
  * Clarify dynamic state definition in the introduction to the <<pipelines,
    Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic
    State>> subsection (public issue 620).
  * Clarified deprecation statement in the `VK_AMD_negative_viewport_height`
    appendix (public issue 674).
  * Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX
    (public issue 677).

Internal Issues:

  * Remove description of <<primsrast-points, rasterization point size>>
    being taken from the tessellation control shader, since there are no
    circumstances under which you can have TCS without TES (internal issue
    522).
  * Define <<copies-images-format-size-compatibility, _size-compatible_
    image formats>> for flink:vkCmdCopyImage, add it to the glossary, and
    use that definition for slink:VkImageViewCreateInfo (internal issue
    771).
  * Change brief descriptions of enumerant names, and of parameters which
    are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for
    consistency, and add a markup style guide rule (internal issue 862).
  * Clarify how execution dependencies interact with
    <<synchronization-submission-order, submission order>> at numerous
    places in the <<renderpass, Render Pass>> and <<synchronization,
    Synchronization>> chapters (internal issue 1062).
  * Clarify statement in the <<interfaces-resources-setandbinding,
    DescriptorSet and Binding Assignment>> section that only interface
    variables statically used by the entry point used in a pipeline must be
    present in the descriptor set layout (internal issue 1172).
  * Flip sparse image diagrams with partially full mip levels vertically, to
    match graph origins of other image diagrams (internal issue 1176).
  * Update new SVG diagrams to have consistent style and base font size,
    increase consistency of primitive topology diagrams, and add a section
    to the style guide on creating and editing images in a consistent style
    (internal issue 1177).
  * Resolve problems with valid usage statement extraction by fixing
    existing VUID tags for interfaces promoted to version 1.1 and fixing
    conditional directives around
    VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184).
  * Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that
    were missed previously (internal issue 1185).
  * Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only
    work on code:Image operands with their code:Sampled operand set to 1. In
    other words, these operations are not defined to work with storage
    images (internal issue 1193).
  * Recycle extension slot for extension #82 in `vk.xml`. This extension was
    never published (internal issue 1195).
  * Add an issue to the `VK_KHR_maintenance1` appendix noting that zero
    height viewports are allowed when this extension is enabled (internal
    issue 1202).
  * Fix slink:VkDescriptorSetLayoutBinding description so that shader stages
    always use descriptor bindings, not the other way around (internal issue
    1206).
  * Fix field name for
    slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex
    (internal issue 1210).

Other Issues:

  * Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix.
  * Replace a few old refBegin/refEnd tags with open block markup around
    interfaces, and remove old KHX VUID tags that were breaking the valid
    usage statement extraction.
  * Fix error codes accidentally tagged as success codes in `vk.xml` for
    flink:vkGetSwapchainCounterEXT.
  * Added valid usage statements for ftext:vkBind*Memory2 input structures
    stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a
    couple of places.
  * Fix swapped descriptions of elink:VkDescriptorType enums
    ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and
    ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet).

New Extensions:

  * `VK_ANDROID_external_memory_android_hardware_buffer`
2018-03-17 04:04:05 -07:00
Petr Kraus eaef9db837 Fix "can not"
- 2x improper use per Terminology
- 2x just grammar
2018-03-16 17:39:05 +01:00
Petr Kraus b7b1952cc2 Add missing sparse VUs to VkImageCreateInfo 2018-03-10 01:07:49 +01:00
Jon Leech ce60b9c887 Change log for March 7, 2018 Vulkan 1.1.70 spec update:
* Vulkan 1.1 initial release. Bump API patch number and header version
    number to 70 for this update. The patch number will be used for both
    Vulkan 1.1 and Vulkan 1.0 updates, and continues to increment
    continuously from the previous Vulkan 1.0.69 update.

    NOTE: We are not publishing an updated 1.0.70 specification, or 1.1
    reference pages, along with 1.1.70. There are still minor issues to work
    out with those build targets. However, we will soon generate all three
    types of documents as part of the regular spec update cycle.

    NOTE: The GitHub KhronosGroup/Vulkan-Docs repository now maintains the
    current specification in the `master` branch. The `1.0` branch is out of
    date and will not be maintained, since we will be generating both 1.1
    and 1.0 specifications from the `master` branch in the future.

Github Issues:

  * Clarify how mapped memory ranges are flushed in
    flink:vkFlushMappedMemoryRanges (public issue 127).
  * Specify that <<synchronization-pipeline-stages, Pipeline Stages>> are a
    list of tasks that each command performs, rather than necessarily being
    discrete pieces of hardware that one task flows through. Add a
    "`synchronization command`" pipeline type which all synchronization
    command execute (it's just TOP + BOTTOM), with an explanatory note
    (public issue 554).

Internal Issues:

  * Regenerate all images used in the spec in Inkscape with a consistent
    look-and-feel, and adjust image size attributes so they're all legible,
    and not too large with respect to the spec body text (internal issue
    701).
  * Document in the <<extensions,extensions>> appendix and in the style
    guide that `KHX` extensions are no longer supported or used in the
    Vulkan 1.1 timeframe (internal issue 714).
  * Remove the leftover equations_temp directory after PDF build completes
    (internal issue 925).
  * Update the <<credits, Credits (Informative)>> appendix to include
    contributors to Vulkan 1.1, and to list them according to the API
    version(s) they contributed to (internal issue 987).
  * Add a NOTE to the introduction explaining that interfaces defined by
    extensions which were promoted to Vulkan 1.1 are now expressed as
    aliases of the Vulkan 1.1 type (internal issue 991).
  * Instrument spec source conditionals so spec can be built with 1.1
    features, extensions promoted to 1.1, or both (internal issues 992,
    998).
  * Modify the XML schema and tools to support explicit aliasing of types,
    structures, and commands, and use this to express the promotion of 1.0
    extensions to 1.1 core features, by making the extension interfaces
    aliases of the core features they were promoted to. Mark up promoted
    interfaces to allow still generating 1.0 + extension specifications
    (internal issue 991).
  * Platform names, along with corresponding preprocessor symbols to enable
    extensions specific to those platforms, are now reserved in vk.xml using
    the <platform> tag. Update the registry schema and schema specification
    to match (internal issue 1011).
  * Updated the <<textures-texel-replacement, Texel Replacement>> section to
    clarify that reads from invalid texels for image resources result in
    undefined values (internal issue 1014).
  * Modify description of patch version so it continues to increment across
    minor version changes (internal issue 1033).
  * Clarify and unify language describing physical device-level core and
    extension functionality in the <<fundamentals-validusage-extensions,
    Valid Usage for Extensions>>, <<fundamentals-validusage-versions, Valid
    Usage for Newer Core Versions>>, <<initialization-functionpointers
    Command Function Pointers>>, <<initialization-phys-dev-extensions,
    Extending Physical Device From Device Extensions>>
    <<extended-functionality-instance-extensions-and-devices, Instance
    Extensions and Device Extensions>> sections and for
    flink:vkGetPhysicalDeviceImageFormatProperties2. This documents that
    instance-level functionality is tied to the loader, and independent of
    the ICD; physical device-level functionality is tied to the ICD, and
    associated with device extensions; physical devices are treated more
    uniformly between core and extensions; and instance and physical
    versions can be different (internal issue 1048).
  * Updated the <<commandbuffers-lifecycle, Command Buffer Lifecycle>>
    section to clarify the ability for pending command buffers to transition
    to the invalid state after submission, and add a command buffer
    lifecycle diagram (internal issue 1050).
  * Clarify that some flink:VkDescriptorUpdateTemplateCreateInfo parameters
    are ignored when push descriptors are not supported (internal issue
    1054).
  * Specify that flink:vkCreateImage will return an error if the image is
    too large, in a NOTE in the slink:VkImageFormatProperties description
    (internal issue 1078).
  * Remove near-duplicate NOTEs about when to query function pointers
    dynamically in the <<initialization, Initialization>> chapter and
    replace by extending the NOTE in the <<fundamentals-abi, Application
    Binary Interface>> section (internal issue 1085).
  * Restore missing references to "`Sparse Resource Features`" in the
    flink:VkBufferCreateFlagBits description (internal issue 1086).
  * Tidy up definitions of descriptor types in the `GL_KHR_vulkan_glsl`
    specification, the <<descriptorsets, Resource Descriptors>> section and
    its subsections, and the <<interfaces-resources-descset, Descriptor Set
    Interface>> for consistency, reduction of duplicate information, and
    removal of GLSL correspondance/examples (internal issue 1090).
  * Correctly describe code:PrimitiveId as an Input for tessellation control
    and evaluation shaders, not an Output (internal issue 1109).
  * Relax the requirements on chroma offsets for nearest filtering in
    <<textures-implict-reconstruction, Implicit Reconstruction>> (internal
    issue 1116).

Other Issues:

  * Clarify the intended relationship between specification language and
    certain terms defined in the Khronos Intellectual Property Rights
    policy. Specific changes include:
  ** Rewrote IP/Copyright preamble and introduction to better agree with
     normative language both as laid out in the introduction, and the
     Khronos IPR policy.
  ** Added notion of fully informative sections, which are now tagged with
     "`(Informative)`" in their titles.
  ** Removed non-normative uses of the phrase "`not required`"
  ** Clarified the distinction between terms "`optional`" and "`not
     required:`" as they relate to the IPR Policy, and updated specification
     text to use terms consistent with the intent.
  ** Reduced additions to RFC 2119, and ensured the specification agreed
     with the leaner language.
  ** Removed the terms "`hardware`", "`software`", "`CPU`", and "`GPU`" from
     normative text.
  ** Moved several paragraphs that should not have been normative to
     informative notes.
  ** Clarified a number of definitions in the Glossary.
  ** Updated the document writing guide to match new terminology changes.
  * Explicitly state in the <<fundamentals-objectmodel-lifetime-acquire,
    application memory lifetime>> language that that for objects other than
    descriptor sets, a slink:VkDescriptorSetLayout object used in the
    creation of another object (such as slink:VkPipelineLayout or
    slink:VkDescriptorUpdateTemplateKHR) is only in use during the creation
    of that object and can be safely destroyed afterwards.
  * Updated the <<textures-scale-factor, Scale Factor Operation>> section to
    use the ratio of anisotropy, rather than the integer sample rate, to
    perform the LOD calculation. The spec still allows use of the sample
    rate as the value used to calculate the LOD, but no longer requires it.
  * Update `vulkan_ext.c` to include all platform-related definitions from
    the Vulkan platform headers, following the split of the headers into
    platform-specific and non-platform-specific files.
  * Fix bogus anchor name in the <<commandbuffers, Command Buffers>> chapter
    which accidentally duplicated an anchor in the pipelines chapter. There
    were no reference to this anchor, fortunately.
  * Add valid usage statement for slink:VkWriteDescriptorSet and
    slink:VkCopyDescriptorSet requiring that the slink:VkDescriptorSetLayout
    used to allocate the source and destination sets must not have been
    destroyed at the time flink:vkUpdateDescriptorSets is called.
  * Document mapping of subgroup barrier functions to SPIR-V, and clarify a
    place where subgroupBarrier sounds like it's execution-only in the
    standalone `GL_KHR_shader_subgroup` specification.
  * Use an HTML stylesheet derived from the Asciidoctor `colony` theme, with
    the default Arial font family replaced by the sans-serif Noto font
    family.
  * Numerous minor updates to README.adoc, build scripts, Makefiles, and
    registry and style guide specifications to support Vulkan 1.1 outputs,
    use them as defaults, and remove mention of `KHX` extensions, which are
    no longer supported.

New Extensions:

  * `VK_EXT_vertex_attrib_divisor`
2018-03-07 04:18:52 -08:00
Jon Leech ab08f0951e Change log for February 19, 2018 Vulkan 1.0.69 spec update:
* Bump API patch number and header version number to 69 for this update.

Github Issues:

  * Clean up description of synchronization for flink:vkAcquireNextImageKHR
    (public issue 626).
  * Move valid usage statements requiring offset and extent to respect image
    transfer granularity requirements of the queue family they are submitted
    against from slink:VkImageCopy and slink:VkBufferImageCopy to the
    corresponding flink:vkCmdCopyImage, flink:vkCmdCopyBufferToImage, and
    flink:vkCmdCopyImageToBuffer commands, where are relevant information is
    known (public issue 654).
  * Clarify that flink:vkGetDeviceProcAddr only supports device-level
    commands (public issue 655).

Internal Issues:

  * Associate each elink:VkDescriptorType with a type of descriptor, and
    link to descriptions of those types (internal issue 860).
  * Rework valid usage extraction script to better utilize and respond to
    spec markup, and fix some spec markup accordingly (internal issues 846,
    909, 945).
  * Rephrase flink:vkCmdPushConstants valid usage to allow overlapping push
    constant ranges in different shader stages (internal issue 1103).
  * Fix problem with diff_html target in extension.rb (internal issue 1104).
  * Modify valid usage statements for slink:VkClearDepthStencilValue,
    slink:VkGraphicsPipelineCreateInfo, slink:VkViewport, and
    flink:vkCmdSetDepthBounds, and the description of vkCmdSetDepthBias, to
    clarify that clamping is applied if and only if the
    `VK_EXT_depth_range_unrestricted` is not enabled (internal issue 1124),
    in versions of the specification built with that extension included.
  * Resolve contradictions and use of undefined "`per-sample shading`" term
    in the <<primsrast-sampleshading, Sample Shading>> and
    <<shaders-fragment-execution, Fragment Shader Execution>> sections; for
    the <<features-features-sampleRateShading, sampleRateShading feature>>;
    for code:FragCoord, code:SampleId, and code:SamplePosition; and for
    slink:sname:VkPipelineMultisampleStateCreateInfo (internal issue 1134).
  * Clarify the meaning of the ptext:maxDescriptorSet* limits in footnote 8
    of the <<features-limits-required,Required Limits>> table (internal
    issue 1139).
  * Fix broken NOTE markup in slink:VkSamplerCreateInfo.txt (internal issue
    1140).
  * Remove extend comparison language from valid usage statement for
    slink:VkImageCreateInfo, turning it into a simple validation of
    pname:mipLevels against pname:maxMipLevels (internal issue 1151).
  * Update valid usage statements for slink:VkImageCopy when the
    `VK_KHR_maintenance1` extension is enabled to allow multi-slice 2D <->
    3D copies when the pnaem:extent.depth parameter specifies the number of
    layers being copied, and matches the
    slink:VkImageSubresourceLayers.layerCount of the 2D image (internal
    issue 1152).
  * Rephrase memory / control barrier rules in the
    <<spirvenv-module-validation, Validation Rules within a Module>> section
    to avoid "`not use none`", which could be misconstrued to allow no
    synchronization semantics, and only storage class semantics (internal
    issue 1154).

Other Issues:

  * Move GLSL extension specifications to the KhronosGroup/GLSL repository
    on Github.
  * Add missing description of ename:VK_FILTER_CUBIC_IMG enum to
    slink:VkFilter.
  * Update description of code:PrimitiveId in the
    <<interfaces-builtin-variables,Built-In Variables>> section to clarify
    its behavior.
  * Disallow disjoint images from being used with dedicated-memory images in
    slink:VkMemoryDedicatedAllocateInfoKHR.
  * Update README to suggest older versions of "mathematical" and
    "ruby-gems" packages for use on Cygwin.
  * Fix typos

New Extensions:

  * `VK_AMD_buffer_marker`
2018-02-19 15:19:38 -08:00
Jon Leech 5769283448 Change log for January 15, 2018 Vulkan 1.0.68 spec update:
* Bump API patch number and header version number to 68 for this update.

Github Issues:

  * Added more details in the
    <<extended-functionality-extensions-compatibility, Extension
    Compatibility>> section, allowing explicit incompatibilities, and
    simplify corresponding language in the style guide, which now defers to
    the API Specification on this point (public issue 638).
  * Fix typo in description of slink:VkCommandBufferLevel::pname:level
    (public issue 651).
  * Only include extension-dependent valid usage statement for
    slink:VkImageSubresourceRange, and note that the extension names for
    header files described in the <<boilerplate-wsi-header, Window
    System-Specific Header Control>> section are only valid links, when the
    specification being viewed is built with the corresponding extensions
    enabled (public issue 652).

Internal Issues:

  * Add language to elink:VkResult specifying that when commands return an
    error, output parameter contents are undefined instead of unmodified
    (except for pname:sType and pname:pNext). Note that this is a behavior
    change. Add notes calling out slink:VkImageFormatProperties as an
    exception (internal issue 1118).
  * Add "`general-purpose`" to the style guide, and correct existing uses of
    "`general purpose`" as an adjective (internal issue 1121).
  * Add the ename:VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT token
    for the `VK_EXT_validation_cache` extension, following the same naming
    pattern as other tokens in the extension, but keep the old
    ename:VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT token around for
    backwards compatibility (internal issue 1126).

Other Issues:

  * Specify that flink:vkCmdSetDiscardRectangleEXT does not affect copies or
    clears, matching existing language for the scissor rectangle test.
  * Move the <<boilerplate-sType, pname:sType>> definition from the
    boilerplate appendix to the Fundamentals chapter, putting it together
    with the valid usage of pname:sType rather than having the definition
    split across two places.
  * Inline all of the etext:Vk*Flags definitions, moving each one from the
    boilerplate appendix to appear either after the corresponding
    etext:Vk*FlagBits value if one is defined, or after the first structure
    that includes them if not.
2018-01-15 05:29:25 -08:00
Jon Leech b7b1c3a65d Change log for January 5, 2018 Vulkan 1.0.67 spec update:
* Bump API patch number and header version number to 67 for this update.
  * Update copyright dates to 2018

Github Issues:

  * Fix texture lookup functions in `GL_KHR_vulkan_glsl` specification
    (public pull request 363).
  * Clarify the state waited semaphores are left in when a call to
    flink:vkQueuePresentKHR fails (public issue 572).
  * Cleanup descriptions of slink:VkObjectTablePushConstantEntryNVX and
    slink:VkObjectTableDescriptorSetEntryNVX (public issue 583)
  * Remove redundant flink:vkCmdSetDiscardRectangleEXT valid usage
    statements (public pull 586).
  * Make dynamic state array length valid usage statements implicit for
    flink:vkCmdSetViewportWScalingNV, flink:vkCmdSetDiscardRectangleEXT, and
    flink:vkCmdSetViewport (public pull 589).
  * Clarify meaning of window extent (0,0) in slink:VkSwapchainKHR for the
    Windows and X11 platforms, in their respective extensions (public issue
    590).
  * Allow flink:vkGetPastPresentationTimingGOOGLE to return
    ename:VK_INCOMPLETE (public issue 604).
  * Add synchronization valid usage statements to flink:vkAcquireNextImage
    (public pull 611).
  * Fix some broken external links and internal xrefs (public pull 613).
  * Clean up slink:VkViewport valid usage statements in the presence or
    absence of relevant extensions (public pull 623).
  * Remove
    ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR
    token from VK_KHR_maintenance2 from the non-extension VU path for
    slink:VkGraphicsPipelineCreateInfo (public issue 628).
  * Miscellaneous minor markup fixes - extension name strings (public pull
    631), Notes (pull 633), queue names emitted by generator scripts (pull
    634), block formatting in slink:VkDescriptorUpdateTemplateEntryKHR (pull
    635), ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG (pull
    641), quotes and apostrophes (pull 643),
  * Miscellaneous minor grammar fixes (public pull 644).
  * Fix markup macros so usage like ptext:*Src* works (public pull 647).

Internal Issues:

  * Clarify in the `VK_KHR_surface` and `VK_KHR_swapchain` extensions that
    parameter combinations which aren't supported for normal images are also
    unsupported for presentable images, even if the parameter values are
    individually supported as reported by the surface capability queries
    (internal issue 1029).
  * Fixed XML typo in the valid value field of the pname:sType member of
    slink:VkPhysicalDeviceExternalMemoryHostPropertiesEXT (internal issue
    1100).

Other Issues:

  * Add memory semantics validity rules to the <<spirvenv-module-validation,
    Validation Rules within a Module>> section of the SPIR-V environment
    appendix, and specify that sequentiality consistency is not supported.
    This forbids certain cases like "`Load+Release`" that we don't expect to
    ever be meaningful.
  * Document mapping of OpenGL Shading Language barriers to SPIR-V scope and
    semantics in the `GL_KHR_vulkan_glsl` specification.

New Extensions:

  * `VK_EXT_conservative_rasterization`
2018-01-05 17:39:15 -08:00
Jon Leech 1d38929270
Merge pull request #647 from krOoze/fix_ptext_asterisk
Fix ptexts containing asterisks
2018-01-04 17:52:17 -08:00
Jon Leech d98d994778
Merge pull request #363 from Loftilus/1.0
GL_KHR_vulkan_glsl.txt Fix texture lookup functions.
2018-01-04 17:48:09 -08:00
Jon Leech 68b851236f
Merge pull request #635 from krOoze/fix_text_block
Fix text block in descriptor sets ch.
2017-12-20 16:18:39 -08:00
Jon Leech a1895d134f
Merge pull request #643 from krOoze/fix_quotes_and_apostrophes
Fix some quotes and apostrophes
2017-12-20 16:15:54 -08:00
Jon Leech cfa7e506ab
Merge pull request #644 from krOoze/fix_random_typos
Fix random grammar
2017-12-20 16:12:02 -08:00
Jon Leech 3cf31ce093
Merge pull request #589 from krOoze/make_dyn_state_implicit_len
Make dynamic state array len VU implicit
2017-12-20 16:08:24 -08:00
Jon Leech 4c7c92ef28
Merge pull request #634 from krOoze/make_queue_capitals
Make all queue names starting with capital
2017-12-20 16:07:32 -08:00