Commit Graph

169 Commits

Author SHA1 Message Date
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
Petr Kraus f388b5aece Cute up extension typography
- make extension names links where appropriate
- use tick markup
elsewhere
2017-12-20 18:00:32 +01:00
Petr Kraus 3d18d2d947 Make dynamic state array len VU implicit
- make implicit for `vkCmdSetViewport`
- make implicit for `vkCmdSetViewportWScalingNV`
- removed redundant explicit duplicate for `vkCmdSetDiscardRectangleEXT`
2017-12-19 16:02:31 +01:00
Petr Kraus 939a1318d0 Fix text block in descriptor sets ch. 2017-12-19 14:46:41 +01:00
Jon Leech fe0e06e9fe
Merge pull request #641 from krOoze/fix_cubic_filter_flag
Fix CUBIC feature flag documentation
2017-12-19 01:25:59 -08:00
Jon Leech 372f41538e
Merge pull request #633 from krOoze/fix_note_markup
Fix Note markup
2017-12-19 01:23:40 -08:00
Jon Leech af5638cbe7
Merge pull request #623 from krOoze/clean_viewport_vus
Clean up VkViewport VU section
2017-12-19 01:21:26 -08:00
Jon Leech f22feb97af
Merge pull request #613 from krOoze/fix_broken_links
Fix broken links
2017-12-19 01:20:13 -08:00
Jon Leech f45ce346ae
Merge pull request #611 from krOoze/add_acquire_mandatory_sync_vu
Add synchronization VUs to vkAcquireNextImage
2017-12-19 01:17:57 -08:00
Petr Kraus af6f7ed4bc Fix ptexts containing asterisks 2017-12-17 02:14:33 +01:00
Petr Kraus b586690671 Fix random grammar 2017-12-15 21:01:02 +01:00
Petr Kraus 0920ab5e7c Fix some quotes and apostrophes 2017-12-11 20:02:07 +01:00
Petr Kraus 3165317cf5 Clean up VkViewport VU section 2017-12-11 14:58:46 +01:00
Petr Kraus 5b8773c6ea Fix CUBIC feature flag documentation
- correct ul below `VkFormatFeatureFlagBits`
- document in extension appendic
2017-12-11 01:36:37 +01:00
Petr Kraus 79a4549d0e Fix Note markup 2017-12-04 20:46:57 +01:00
Petr Kraus 93e8312313 Remove redundant vkCmdSetDiscardRectangleEXT VUs + tweaks
- remove redundant VU about the `pDiscardRectanges` vector; it is
implicit
- remove redundant VU about `firstDiscardRectangle` it is fully covered
by `00585` and implicit VU that says `discardRectangleCount` is greater
than 0
- remove redundant VU part saying >=1; it is implicit because of
`discardRectangleCount` > 0
- tweak `VkRect2D` VUs to mention the array they are part of
2017-11-27 14:56:54 +01:00
Jon Leech 64fa8ef4df Change log for November 27, 2017 Vulkan 1.0.66 spec update:
* Bump API patch number and header version number to 66 for this update.

Github Issues:

  * Clarified how and when ename:VK_ERROR_TOO_MANY_OBJECTS is generated in
    flink:vkAllocate Memory, and remove incorrect valid usage statement
    about exceeding the API limit (public issue 356).
  * Minor clarification of the description of
    flink:vkUpdateDescriptorSetWithTemplateKHR::pname:descriptorUpdateTemplate
    (public issue 564).
  * Minor fixes for flink:vkCmdSetViewportWScalingNV (public pull request
    588).
  * Fix random name markup issues (public pull request 603).
  * Fix code:BuiltIn decoration typo in the <<fxvertex-attrib, Vertex
    Attributes>> section (public pull request 606).
  * Fix synchronization language following the definition of
    flink:vkAcquireNextImageKHR (public issue 607).
  * Restore descriptions of several commands and structures missing from the
    generated spec due to a mistyped asciidoctor conditional (public issue
    612).
  * Fix 1.0.41 changelog to refer to public issues 403/404 (public issue
    618).

Internal Issues:

  * Refactor valid usage statements with internal conditionals in
    `copies.txt`, `pipelines.txt`, `renderpass.txt`, and `resources.txt` so
    each branch of the conditional appears as a standalone statement which
    can contain a separate VUID. This should have no impact on the generated
    specs, but is necessary given the present state of the VU extractor and
    the validation layer code that consumes them (internal issue 1043).
  * Fix VkQueueGlobalPriorityEXT enum values missing _EXT suffix (internal
    issue 1045).
  * Clarified initial ownership of resources bound to shared memory objects,
    (internal issue 1068).
  * Fix duplicated valid usage ID tag for flink:vkCmdCopyImage, and make the
    required layouts include ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIONAL in
    both cases (internal issue 1084).

Other Issues:

  * Remove the noise functions from GLSL for SPIR-V for Vulkan in the
    `GL_KHR_vulkan_glsl.txt` extension.

New Extensions:

  * `VK_EXT_external_memory_host`
  * `VK_EXT_external_memory_dma_buf`
  * `VK_EXT_queue_family_foreign`
2017-11-27 01:07:06 -08:00
Jon Leech b29521b9d5
Merge pull request #588 from krOoze/update_vkCmdSetViewportWScalingNV
Update vkCmdSetViewportWScalingNV
2017-11-24 20:04:27 -08:00
Jon Leech 25f952fe85
Merge pull request #603 from krOoze/fix_missing_markup
Fix random name markup
2017-11-23 02:18:50 -08:00
Petr Kraus d0eb98eb89 Fix random name markup
- add missing `*name` and `*link` and `code`
- change where wrong macro was used
- swap `*name` and `*link` where appropriate
- correct misspelled names
- that sort of thing...
2017-11-09 00:09:27 +01:00
Petr Kraus cd6092c0bf Fix broken links 2017-11-07 01:41:43 +01:00
Petr Kraus 98a35446c1 Add synchronization VUs to vkAcquireNextImage 2017-11-06 18:27:12 +01:00
Lei Zhang 205179509d Fix BuiltIn decoration typo 2017-11-02 15:09:07 -04:00
Jon Leech 0a1c49409f Change log for October 27, 2017 Vulkan 1.0.65 spec update:
* 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
    227).
  * Clarified slink:VkFramebufferCreateInfo language regarding concurrent
    use of attachment resources during a render pass instance (public issue
    299).
  * 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
    585).
  * 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:
2017-10-28 02:15:09 -07:00
Petr Kraus 709e56cb5d Update vkCmdSetViewportWScalingNV
- says `VK_DYNAMIC_STATE_VIEWPORT`, prolly means
`VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV`
- fixed missing "W" in parameter references
2017-10-27 17:10:54 +02:00
Jon Leech 392384a31b Merge pull request #602 from krOoze/fix_math_markup
Fix random math markup
2017-10-26 16:36:28 -07:00
Petr Kraus 102de56f69 Fix random math
incl. two unparsable latexmath blocks
2017-10-27 01:33:31 +02:00
Jon Leech df3a325f64 Merge pull request #601 from krOoze/fix_date_format
Update some old date formats
2017-10-26 16:28:15 -07:00
Jon Leech e88b64bbc7 Merge pull request #587 from krOoze/fix_VkPipelineViewportWScalingStateCreateInfoNV_VU
Update VkPipelineViewportWScalingStateCreateInfoNV
2017-10-26 16:24:40 -07:00
Jon Leech ebbc2b66d4 Merge pull request #547 from krOoze/pointer_implicit_validity
Clarify pointer autovalidity and threading
2017-10-26 16:19:38 -07:00
Jon Leech 38d4064bb4 Merge pull request #194 from krOoze/improve-ch10.2.0
Suggestions for ch10.2.0 Device Memory
2017-10-26 16:14:21 -07:00
Jon Leech 8be41e9e74 Merge pull request #550 from krOoze/fix_subresource_layers_vu
Fix VkImageSubresource* VUs
2017-10-26 16:11:47 -07:00
Jon Leech 50877099cb Merge pull request #585 from krOoze/fix_wsi_param_descs
Update VkSwapchainCreateInfoKHR descriptions
2017-10-26 16:07:52 -07:00
Petr Kraus bf6a0a1137 Update some old date formats 2017-10-26 19:45:00 +02:00
Petr Kraus 4feecf97cd Restyle some VkImageSubresource* VUs 2017-10-26 18:23:29 +02:00
Petr Kraus 7e848ee40e Fix VkImageSubresource* VUs
- fixes rest of #416 (`VkImageSubresourceLayers`)
- migrate `VkImageSubresource` VUs where the state is known
- Simplify `VkImageSubresource`  (`*count` always > 0)
2017-10-26 15:58:41 +02:00
Petr Kraus 2f0587673e Further improvements to Device Memory chapter
- implemented suggestions in #194
- fixed some markup
2017-10-25 16:59:08 +02:00
Petr Kraus 5d93dd671a Fix pdf formatting of the memory type property list 2017-10-24 14:33:22 +02:00
Petr Kraus cb5abc90f2 Device memory chapter fixes
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
heap.
6) Added VU restricting `memoryTypeIndex` to only the memory types of
the device.
2017-10-24 14:33:22 +02:00
Petr Kraus 2608657344 Non-semantic improvements to the Device Memory chapter
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`
2017-10-24 14:33:22 +02:00
Jon Leech 5436521608 Change log for October 20, 2017 Vulkan 1.0.64 spec update:
* 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`
2017-10-20 17:18:37 -07:00
Petr Kraus ae56885102 Update VkSwapchainCreateInfoKHR descriptions
- 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...
2017-10-18 20:23:54 +02:00
Petr Kraus faa702c44d Update VkPipelineViewportWScalingStateCreateInfoNV
- fix bad description (VU like) block + some tweaks
- remove redundant VUs (redundant due to required equality to
`VkPipelineViewportStateCreateInfo::viewportCount`)
- move `viewportCount` equality VU to
`VkPipelineViewportStateCreateInfo` where it belongs
- make a dynamic state related VU in `VkGraphicsPipelineCreateInfo`
2017-10-18 12:41:42 +02:00