Commit Graph

155 Commits

Author SHA1 Message Date
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 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
Jon Leech 190c7c3d38 Merge pull request #571 from tomaka/patch-1
Fix wrong param name in PipelineMultisampleStateCreateInfo validity
2017-10-18 01:56:59 -07:00
Jon Leech 145d276ac8 Merge pull request #458 from krOoze/chapter_footer
Adding chapter name into the pdf page footer
2017-10-18 01:55:16 -07:00
Jon Leech 07040e4b7d Merge pull request #502 from dennishamester/fix_device_lost
Fix references to VK_ERROR_DEVICE_LOST
2017-10-18 01:54:06 -07:00
Petr Kraus 4a45ecf5cc Clarify pointer autovalidity and threading
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
2017-10-14 02:42:50 +02:00
Petr Kraus 3c84f8fe4d Adding chapter name into the pdf page footer 2017-10-13 16:13:55 +02:00
Jon Leech 52d809dd04 Change log for October 13, 2017 Vulkan 1.0.63 spec update:
* 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,
    562).
  * 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
    926).
  * 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`
2017-10-12 19:57:47 -07:00
Jon Leech 61bb590a50 Merge pull request #566 from krOoze/fixnclarify_altlen
Fix and clarify altlen
2017-10-12 15:39:47 -07:00
Jon Leech 74432fcf82 Merge pull request #549 from krOoze/fix_amd_draw_desc
Fix vkCmdDraw*AMD text bugs
2017-10-12 15:36:50 -07:00
Petr Kraus 582a651887 Fix and clarify altlen
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
semantics
5) Clarify `altlen` in schema doc in case there ever is `latexmath` in
comma separated `len`
2017-10-13 00:36:41 +02:00
Petr Kraus fc0178407f Fix some void* (auto)validity
- Make implicit validity for optional `void*` mean "nothing" in the
script
- 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
`vkUpdateDescriptorSetWithTemplateKHR`)
- Also indirectly fixes `vkMapMemory`, `VkAllocationCallbacks`,
`VkDebugReportCallbackCreateInfoEXT`, and Apple and NN surface create
- Remove ugly text hack from script
2017-10-12 14:46:31 +02:00
Petr Kraus 853fd6d7c5 Fix vkCmdDraw*AMD minor text bugs
fixes #360 and #364
2017-10-07 20:52:14 +02:00
Jon Leech 6012d138c7 Change log for October 6, 2017 Vulkan 1.0.62 spec update:
* Bump API patch number and header version number to 62 for this update.

Github Issues:

  * Move asciidoc conditionals for `VK_KHR_maintenance1` in
    slink:VkDescriptorSetAllocateInfo so valid usage statements for
    `VK_KHR_push_descriptor` aren't accidentally removed when the first
    extension isn't enabled (public issue 573).
  * Fixed errors in API example code for
    flink:vkUpdateDescriptorSetWithTemplateKHR and
    flink:vkCmdPushDescriptorSetWithTemplateKHR (public issue 577).

Internal Issues:

  * Specify constraints on concurrent access to fences that share payload in
    the <<synchronization-fences-importing, Importing Fence Payloads>> and
    <<synchronization-semaphores-waiting-state, Semaphore State Requirements
    For Wait Operations>> sections (internal issue 820).
  * Define the term "`retired swapchain`", reorganize some swapchain
    language, and improve language for pname:oldSwapchain in
    flink:VkSwapchainCreateInfoKHR, the <<swapchain-wsi-image-create-info>>
    table, flink:vkDestroySwapchainKHR, and flink:vkAcquireNextImage2KHX
    (internal issue 869).
  * Describe in the <<writing-arrays, Describing Properties of Array
    Elements>> section of the style guide how and when to use "`each`" and
    "`any`" to refer to properties of array elements, and make those uses in
    the specification consistent (internal issue 884).
  * Clarified that events cannot be used for cross-queue synchronization in
    the <<synchronization-events, Events>> section and for
    flink:vkCmdWaitEvents (internal issue 970).
  * Add success and error codes to +vk.xml+ for
    flink:vkCreateValidationCacheEXT (internal issue 995).
  * Clarify aspect mask usage for image memory barriers of multi-plane
    images in slink:VkImageSubresourceRange, slink:VkImageMemoryBarrier, and
    the <<textures-layout-validation, Layout Validation>> section (internal
    issue 996).

Other Issues:

  * Fixed typo in flink:VkRenderPassSampleLocationsBeginInfoEXT (renamed
    field pname:pSubpassSampleLocations to
    pname:pPostSubpassSampleLocations).
  * Add missing buffer usage requirements for indirect draws in
    flink:vkCmdDrawIndirect, flink:vkCmdDrawIndirectCountAMD,
    flink:vkCmdDrawIndexedIndirect, and
    flink:vlCmdDrawIndexedIndirectCountAMD.
  * Modify Makefile to allow specification to build in git "`detached HEAD`"
    state.
  * Update valid usage ID generation script to allow recursively operating
    on all `.txt` files in a specified directory, and move the `startVUID`
    tracking information into a separate python file that is automatically
    updated by the script.

New Extensions:

  * Add +vk.xml+ entries for pending `VK_ANDROID_native_buffer` extension
    (note, this extension is not yet enabled).
  * `VK_AMD_shader_image_load_store_lod`
2017-10-06 21:51:59 -07:00
tomaka 1bdcd1de06 Fix wrong param name in PipelineMultisampleStateCreateInfo validity 2017-09-26 12:34:19 +02:00