Commits on Nov 7, 2017
  1. VK_EXT_queue_family_foreign: New extension (v5)

    chadversary committed Oct 11, 2017
      - Fix typos. [found by Ray]
      - s/non-GPU/non-Vulkan-capable/ [for Jesse]
      - Add new table "Support for special queue families among external
        memory handle types". [for Ray]
      - Show table column only when VK_EXT_queue_family_foreign is
        enabled.  [found by Ray]
      - In "ownership of external memory can be transferred", say "ownership
        of resources backed by external memory". [for Ray]
      - Fix more typos.
      - VK_QUEUE_FAMILY_EXTERNAL_KHR is no longer a subset of
      - Specify that it is invalid to use VK_QUEUE_FAMILY_FOREIGN_EXT except
        when allowed by layered extensions.
    Fixes: #966
Commits on Nov 3, 2017
  1. Update ChangeLog.txt

    Jon Leech
    Jon Leech committed Nov 3, 2017
Commits on Oct 28, 2017
  1. Change log for October 27, 2017 Vulkan 1.0.65 spec update:

    Jon Leech
    Jon Leech committed Oct 28, 2017
      * Bump API patch number and header version number to 65 for this update.
    Github Issues:
      * Replaced inaccurate "`pixel`" with "`texel`" or "`compressed texel
        block`" as appropriate in the <<sparsememory, Sparse Resources>> chapter
        (public issue 86).
      * Attempt to clarify security/integrity guarantees in the
        <<fundamentals-errors, Errors>> section (public issue 147).
      * Update the <<memory-device,Device Memory>> section with clarifications
        and markup fixes (public pull request 194).
      * Fix typo VkDeviceCreateInfo -> slink:VkDebugMarkerObjectNameInfoEXT in
        sample code for `VK_EXT_debug_marker` extension (public pull request
      * Clarified slink:VkFramebufferCreateInfo language regarding concurrent
        use of attachment resources during a render pass instance (public issue
      * Added overlap rules for destination regions in <<copies,copy commands>>.
        Also unified the sparse and non-sparse source-destination overlap rules,
        since the non-sparse rules were technically inaccurate in the face of
        aliasing in flink:vkBindMemory2 - the new rules are true regardless
        (public issue 317).
      * Clarified the <<features-features-samplerAnisotropy,
        pname:samplerAnisotropy feature>> to only affect the
        slink:VkSamplerCreateInfo::pname:anisotropyEnable value, and that
        pname:maxAnisotropy is ignored when pname:anisotropyEnable is VK_FALSE
        (public issue 503).
      * Clarify pointer valid usage statements to use "`valid pointer to valid
        _object_`" terminology and update the
        <<fundamentals-validusage-pointers,Valid Usage for Pointers>> section
        accordingly (public pull request 547).
      * Some operations that use integer coordinates can also accept a LOD to
        sample from. Add a description of that selection and the validity
        conditions in the new <<textures-integer-coordinate-operations, Integer
        Texel Coordinate Operations>> section (public issue 548).
      * Update stext:VkImageSubresource* valid usage statements (public pull
        request 550).
      * Added text tying ename:VK_OUT_OF_POOL_MEMORY error for
        flink:vkAllocateDescriptorSets to the number of descriptor types in the
        allocating pool. Removed redundant "`length`" text about number of
        descriptors returned (public issue 582).
      * Update slink:VkSwapchainCreateInfoKHR descriptions (public pull request
      * Update slink:VkPipelineViewportWScalingStateCreateInfoNV and related
        structures' valid usage statements (public pull request 587).
      * Change some dates to conform to ISO 8601 as specified in the style guide
        (public pull request 601).
      * Fix some math markup problems and be more consistent in use of asciidoc
        math markup (public pull request 602).
    Internal Issues:
      * Clarified that attribute reads from incomplete vertex buffer elements
        are considered out of bounds accesses, in the
        slink:VkPhysicalDeviceFeatures and flink:vkCmdBindVertexBuffers.txt
        sections (internal issue 842).
    Other Issues:
    New Extensions:
Commits on Oct 26, 2017
  1. Merge pull request KhronosGroup#602 from krOoze/fix_math_markup

    oddhack committed Oct 26, 2017
    Fix random math markup
  2. Fix random math

    krOoze committed Oct 26, 2017
    incl. two unparsable latexmath blocks
  3. Merge pull request KhronosGroup#601 from krOoze/fix_date_format

    oddhack committed Oct 26, 2017
    Update some old date formats
  4. Merge pull request KhronosGroup#587 from krOoze/fix_VkPipelineViewpor…

    oddhack committed Oct 26, 2017
    Update VkPipelineViewportWScalingStateCreateInfoNV
  5. Merge pull request KhronosGroup#547 from krOoze/pointer_implicit_vali…

    oddhack committed Oct 26, 2017
    Clarify pointer autovalidity and threading
  6. Merge pull request KhronosGroup#194 from krOoze/improve-ch10.2.0

    oddhack committed Oct 26, 2017
    Suggestions for ch10.2.0 Device Memory
  7. Merge pull request KhronosGroup#550 from krOoze/fix_subresource_layer…

    oddhack committed Oct 26, 2017
    Fix VkImageSubresource* VUs
  8. Merge pull request KhronosGroup#585 from krOoze/fix_wsi_param_descs

    oddhack committed Oct 26, 2017
    Update VkSwapchainCreateInfoKHR descriptions
  9. Update some old date formats

    krOoze committed Oct 26, 2017
  10. Fix VkImageSubresource* VUs

    krOoze committed Aug 24, 2017
    - fixes rest of KhronosGroup#416 (`VkImageSubresourceLayers`)
    - migrate `VkImageSubresource` VUs where the state is known
    - Simplify `VkImageSubresource`  (`*count` always > 0)
Commits on Oct 25, 2017
  1. Further improvements to Device Memory chapter

    krOoze committed Oct 25, 2017
    - implemented suggestions in KhronosGroup#194
    - fixed some markup
Commits on Oct 24, 2017
  1. Device memory chapter fixes

    krOoze committed Aug 23, 2017
    1) Make explicit there is a <=> relationship between `DEVICE_LOCAL` heap
    and `DEVICE_LOCAL`  memory type
    2) Make >4GB runtime error report mandatory. Otherwise it basically says
    "do not pass >= 4GB, because possible undefined behavior".
    3) Removed `VUID-vkAllocateMemory-device-00636`. Behavior is
    deterministic returning `VK_ERROR_TOO_MANY_OBJECTS`
    4) Moved `allocationSize` VU (depends on non-local state).
    5) Changed `allocationSize`. Not sure what the original means, so
    improvized a new one saying alloc size must be <=  the whole size of the
    6) Added VU restricting `memoryTypeIndex` to only the memory types of
    the device.
  2. Non-semantic improvements to the Device Memory chapter

    krOoze committed Aug 23, 2017
    1) Random grammar and formatting
    2) Make example in first paragraph more
    straightforward with elementary
    Vulkan primitives (the original also
    seemed factually wrong in places;
    e.g. does UBO really have to be in
    "on-device" memory?)
    3) Removed unnecessary brandishing of obscure math
    describing the memory
    type list order. Tried something equally formal,
    but more readable.
    4) Made a note into a Note
    5) Updated example.
    Function names seem to be lower-case in the spec.
    Hopefully made it bit
    more readable. Turned the acompanying note into
    the example content and
    inline comments.
    6) Removed redundant `VkDeviceMemory` intro
    7) Break
    out specifying language out of  a Note
    8) More straightforward description of `memoryTypeIndex`
Commits on Oct 21, 2017
  1. Change log for October 20, 2017 Vulkan 1.0.64 spec update:

    Jon Leech
    Jon Leech committed Oct 21, 2017
      * Bump API patch number and header version number to 64 for this update.
    Github Issues:
      * Add chapter name to the PDF page footer (public pull request 458).
      * Fix several mistaken references to the nonexistent etext:VK_DEVICE_LOST
        status to etext:VK_ERROR_DEVICE_LOST (public pull request 502).
      * Fix description of the tlink:PFN_vkDebugReportCallbackEXT debug report
        callback function pointer to match the validation layer behavior (public
        issue 534).
      * Document experimental KHX extensions and alternate vendor author IDs
        also ending in X in more detail in the <<extensions, Layers &
        Extensions>> appendix, the extensions section of the style guide, and
        the registry schema description document (public issues 536, 580).
      * Fix references to ptext:pDepthStencil to properly refer to
        pname:pDepthStencilState or pname:pRasterizationState as appropriate in
        the slink:VkGraphicsPipelineCreateInfo description (public issue 542).
      * Fix wrong parameter name in slink:VkPipelineMultisampleStateCreateInfo
        valid usage (public pull request 571).
    Internal Issues:
      * Update the style guide to describe how to write LaTeX math expressions
        in table cells (internal issue 908).
      * Define how framebuffer-local dependencies work between subpasses with
        the same or different numbers of samples, in the
        slink:VkSubpassDescription and <<synchronization-framebuffer-regions,
        Framebuffer Region Dependencies>> sections. This clarifies which samples
        in an input attachment you are allowed to access after a
        framebuffer-local dependency (internal issue 915).
      * Specify which storage classes can have an initializer in the
        <<spirvenv-module-validation, Validation Rules within a Module>> section
        (internal issue 1023).
      * Use "LOD" consistently for "level-of-detail", to eliminate spelling
        inconsistencies. The term is already standardized in the Glossary
        (internal issue 1027).
    Other Issues:
      * Fix false positives in Makefile dependencies when rules fail, by
        deleting partially-made targets.
    New Extensions:
      * `VK_AMD_shader_info`
Commits on Oct 18, 2017
  1. Update VkSwapchainCreateInfoKHR descriptions

    krOoze committed Oct 18, 2017
    - fix `pretransform` and `compositeAlpha`; they are values not bitmasks
    - update `imageFormat`, `imageColorSpace`, `imageUsage`  and
    `oldSwapchain` to be specific to behavior of this command
    - fix broken unintended code block
    - move `VK_TRUE` clipping text to correct bullet point
    - random tweaks...
  2. Update VkPipelineViewportWScalingStateCreateInfoNV

    krOoze committed Oct 18, 2017
    - fix bad description (VU like) block + some tweaks
    - remove redundant VUs (redundant due to required equality to
    - move `viewportCount` equality VU to
    `VkPipelineViewportStateCreateInfo` where it belongs
    - make a dynamic state related VU in `VkGraphicsPipelineCreateInfo`
  3. Merge pull request KhronosGroup#571 from tomaka/patch-1

    oddhack committed Oct 18, 2017
    Fix wrong param name in PipelineMultisampleStateCreateInfo validity
  4. Merge pull request KhronosGroup#458 from krOoze/chapter_footer

    oddhack committed Oct 18, 2017
    Adding chapter name into the pdf page footer
  5. Merge pull request KhronosGroup#502 from dennishamester/fix_device_lost

    oddhack committed Oct 18, 2017
    Fix references to VK_ERROR_DEVICE_LOST
Commits on Oct 14, 2017
  1. Clarify pointer autovalidity and threading

    krOoze committed Sep 11, 2017
    1) State more explicitly in implicit VUs if a "valid" pointer is required
    2) For some time Implicit validity is quite explicit in implicit VU
    sections. Update pointer implicit validity chapter section as such.
    3) Sometimes pointer parameter can be ignored. Update implicit pointer
    validity section as such.
    4) Changeing to more forceful language, to clarify memory behind
    pointers need synchronizing too
Commits on Oct 13, 2017
  1. Change log for October 13, 2017 Vulkan 1.0.63 spec update:

    Jon Leech
    Jon Leech committed Oct 13, 2017
      * Bump API patch number and header version number to 63 for this update.
    Github Issues:
      * Add missing valid usage statements for ptext:maxDescriptorSets*,
        ptext:maxPerStageDescriptorInputAttachments, and
        ptext:maxPerStageResources to slink:VkPipelineLayoutCreateInfo.txt,
        flink:VkComputePipelineCreateInfo, and
        flink:VkGraphicsPipelineCreateInfo (public issue 546).
      * Fix typos in ftext:vkCmdDraw*AMD descriptions (public pull request 549).
      * Fixed flink:vkCmdWriteTimestamp so it is not unnecessarily restricted to
        queues supporting graphics or compute operations (public issue 558).
      * Improvements to valid usage generator for output `*Flags` pointer
        parameters and for some `void *` parameters (public pull requests 560,
      * Document `altlen` attribute in XML schema as valid C99 syntax and tweak
        `vk.xml` to match (public pull request 566).
      * Clarify when pname:fence is signaled by flink:vkQueueSubmit in a more
        obvious place (public issue 577).
    Internal Issues:
      * Specify a whitelist of supported SPIR-V Storage Classes in the
        <<spirvenv-module-validation, Validation Rules within a Module>>
        appendix (internal SPIR-V issue 166).
      * Relax the shared semaphore wait timeout requirement in the
        <<synchronization-semaphores-importing, Importing Semaphore Payloads>>
        section (internal issue 820).
      * Update the <<textures-image-level-selection, Image Level(s) Selection>>
        equations so that the parameters returned by the level-of-detail query
        appear explicitly, also fixing the issue that linear filtering would
        select a level below the base level for magnification (internal issue
      * Disallow creation of a swapchain with zero pname:imageExtent in
        slink:VkSurfaceCapabilitiesKHR and slink:VkSwapchainCreateInfoKHR
        (internal issue 1020).
    Other Issues:
      * Clarify in <<textures-operation-validation,Image View Validation>> that
        the layout of subresources in an image view must have a layout that
        matches that written into the descriptor, and that this section is about
        validating image views, not images.
    New Extensions:
      * `VK_EXT_global_priority`
Commits on Oct 12, 2017
  1. Merge pull request KhronosGroup#566 from krOoze/fixnclarify_altlen

    oddhack committed Oct 12, 2017
    Fix and clarify altlen
  2. Merge pull request KhronosGroup#549 from krOoze/fix_amd_draw_desc

    oddhack committed Oct 12, 2017
    Fix vkCmdDraw*AMD text bugs
  3. Fix and clarify altlen

    krOoze committed Sep 21, 2017
    1) Fix `pSampleMask `s `altlen` to have C99 semantics equivalent to len
    2) Fix `registry.rnc` to also have altlen for `param`s
    3) Document `altlen` in `registry.rnc` comments
    4) Clarify `altlen` in schema doc that beside C syntax it also follows C
    5) Clarify `altlen` in schema doc in case there ever is `latexmath` in
    comma separated `len`
  4. Merge pull request KhronosGroup#560 from krOoze/fix_flags_pointer_aut…

    oddhack committed Oct 12, 2017
    Fix autovalidity for output Flags pointers
  5. Merge pull request KhronosGroup#562 from krOoze/warn_when_pvoid_autov…

    oddhack committed Oct 12, 2017
    Tweak some void* (auto)validity
  6. Fix some void* (auto)validity

    krOoze committed Oct 11, 2017
    - Make implicit validity for optional `void*` mean "nothing" in the
    - Make `optional` mean non-NULL for `void*` (not implemented)
    - Uses of `void*` that point to something should have `noautovalidity`
    (adding it)
    - Add missing explicit VUs of `void*` parameters
    (`vkCmdPushDescriptorSetWithTemplateKHR` and
    - Also indirectly fixes `vkMapMemory`, `VkAllocationCallbacks`,
    `VkDebugReportCallbackCreateInfoEXT`, and Apple and NN surface create
    - Remove ugly text hack from script
Commits on Oct 11, 2017
  1. Fix autovalidity for output Flags pointers

    krOoze committed Oct 11, 2017
    (`vkGetDeviceGroupSurfacePresentModesKHX::pModes` and
    required output flags pointer to be valid + non-0
Commits on Oct 7, 2017