mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-26 13:05:13 +00:00
29 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
7b81afeb9f |
Change log for July 20, 2019 Vulkan 1.1.116 spec update:
* Happy 50th Lunar Landing Day! * Update release number to 116. Internal Issues: * Clarify that flink:vkCmdBeginQuery is the same as flink:vkCmdBeginQueryIndexEXT with index = 0, and that flink:vkCmdEndQuery is the same as flink:vkCmdEndQueryIndexEXT with index = 0 (internal issue 1735). * Clarify that when copying the depth aspect between buffers and images via slink:VkBufferImage Copy, the depth values in buffer memory must be in range if the `<<VK_EXT_depth_range_unrestricted>>` extension is not enabled (internal issue 1737). * Minor language tweaks in the <<spirvenv-module-validation, Validation Rules within a Module>> section (internal issue 1744). * Change the slink:VkPhysicalDeviceFloatControlsPropertiesKHR structure in the `<<VK_KHR_shader_controls>>` extension. This is a rare case of breaking the interface of an existing extension to acknowledge the reality of divergent vendor implementations that could not be described properly otherwise, and the breaking change is considered acceptable given the expected low use of the extension (internal issue 1734). Specific changes: ** Added the slink:VkShaderFloatControlsIndependenceKHR enumeration to describe the three possible behaviors. ** Renamed pname:separateDenormSettings to pname:denormBehaviorIndependence. ** Renamed pname:separateRoundingModeSettings to pname:roundingModeIndependence * Add a missing valid usage statement for slink:VkQueryPoolCreateInfo::pname:queryCount (internal issue 1742). * Update the `<<VK_NV_shading_rate_image>>` appendix to list all interfaces defined by the extension. * Add a valid usage statement to slink:VkWriteDescriptorSetAccelerationStructureNV to clarify that acceleration structure descriptors must be top level structures. New Extensions: * `<<VK_EXT_subgroup_size_control>>` |
||
|
40ba6e9a44 |
Change log for May 13, 2019 Vulkan 1.1.108 spec update:
* Update release number to 108. Internal Issues: * Clarify that only external resources can be bound to external memory in valid usage statements for flink:vkBindBufferMemory, flink:vkBindImageMemory, slink:VkSparseMemoryBind, and slink:VkSparseImageMemoryBind (internal issue 1496). * Move all `vk.xml`requirements for flink:vkGetDeviceGroupSurfacePresentModes2EXT into `<<VK_EXT_full_screen_exclusive>>` (internal issue 1622). * Add some missing valid usage statements for flink:vkCmdEndQueryIndexedEXT (internal issue 1638). * Specify rules for defining "`New Flags and Bitmask Types`" in that section of the style guide (internal issue 1649). * Add a comment to the `vk.xml` extension block for `VK_ANDROID_native_buffer` explaining why the extension is tagged `"disabled"` (internal issue 1657). * Fix typos in the description of slink:VkImageViewCreateInfo (internal issue 1661). * Modify valid usage statements for slink:VkImageViewCreateInfo to fix the description about the restriction for pname:baseArrayLayer and pname:layerCount from pname:extent.depth to the depth of mipmap level while creating a 2D array image view on a 3D image. * Forbid structures that contain opaque types (images or samplers) in the SPIR-V <<spirvenv-module-validation, Validation Rules within a Module>> section. * Minor editorial changes for the `VK_EXT_swapchain_colorspace` extension in the description of slink:VkColorSpace KHR and `vk.xml`, including: ** Consistently specify which function (OETF or Inverse-EOTF) is being defined; ** Remove the Display P3 EOTF, since no other EOTFs are defined; ** Include luminance range for the HLG OETF; ** Remove a duplicated paragraph; and, ** Rename ename:VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, leaving the old ename:VK_COLOR_SPACE_DCI_P3_LINEAR_EXT token as an alias. New Extensions: * `<<VK_NV_framebuffer_mixed_samples_coverage_reduction_mode>>` * `<<VK_KHR_uniform_buffer_standard_layout>>` |
||
|
5abf83f95d |
Change log for April 16, 2019 Vulkan 1.1.107 spec update:
* Update release number to 107. Public Issues: * Fix revision date for the `<<VK_AMD_gpu_shader_half_float>>` appendix (public issue 617). * Make <<synchronization-pipeline-barriers-subpass-self-dependencies, subpass self-dependencies>> less restrictive (public issue 777). * Fix the `<<VK_EXT_full_screen_exclusive>>` dependency on `<<VK_KHR_win32_surface>>` in `vk.xml` (public pull request 849). * Remove single-page (`apispec.html`) refpage sub-targets from the Makefile `allman` target and the build instructions. The target is still present in the Makefile, but we have not been actively maintaining the single-page document and do not promise it will work. The full Specification and the individual API reference pages are what we support and publish at present (public issue 949). Internal Issues: * De-duplicate common valid usage statements shared by multiple commands or structures by using asciidoctor includes and dynamically assigning part of the valid usage ID based on which command or structure they're being applied to (internal issue 779). * Add reference pages for constructs not part of the formal API, such as platform calling convention macros, and script changes supporting them This required suppressing some check_spec_links warning classes in order to pass CI, until a more sophisticated fix can be done (internal issue 888). * Change math notation for the elink:VkPrimitiveTopology descriptions to use short forms `v` and `p` instead of `vertex` and `primitive`, increasing legibility (internal issue 1611). * Rewrite generated file includes relative to a globally specified path, fixing some issues with refpage generation (internal issue 1630). * Update contributor list for `<<VK_EXT_calibrated_timestamps>>`. * Fix use of pathlin in `scripts/generator.py` so the script will work on Windows under Python 3.5 (internal merge request 3107). * Add missing conditionals around the <<descriptorsets-accelerationstructure, Acceleration Structure>> section (internal merge request 3108). * More script synchronization with OpenXR spec repository (internal merge request 3109). * Mark the `<<VK_AMD_gpu_shader_half_float>>` and `<<VK_AMD_gpu_shader_int16>>` extensions as deprecated in `vk.xml` and the corresponding extension appendices (internal merge request 3112). New Extensions: * `<<VK_EXT_headless_surface>>` |
||
|
b1042a3204 |
Change log for April 7, 2019 Vulkan 1.1.106 spec update:
* Update release number to 106. Public Issues: * Add searchbox and generate search index for the chunked HTML target. Note that doing this requires several new toolchain components to build the `chunked` target (public issue 578 / internal issue 1352). * Remove descriptions of flink:vkCreateSampler sampler constraints which were repeated in the valid usage statements (public pull request 648). * Fix sense of conditional around a valid usage statement in the <<copies>> chapter (public issue 942). Internal Issues: * Add missing pname:extent.width and pname:extent.height valid usage statements for flink:vkCmdClearAttachments (internal issue 1583). * Fix some inconsistencies in structures and corresponding pname:sType enumerant names by renaming sname:VkPhysicalDeviceShaderDrawParameterFeatures -> slink:slink:VkPhysicalDeviceShaderDrawParametersFeatures; sname:VkPhysicalDeviceVariablePointerFeatures -> slink:VkPhysicalDeviceVariablePointerFeatures; sname:VkPhysicalDeviceVariablePointerFeaturesKHR -> slink:VkPhysicalDeviceVariablePointerFeaturesKHR; sname:VkPhysicalDeviceBufferAddressFeaturesEXT -> slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES -> ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES; etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES -> ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES; etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR -> ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR; and etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT -> ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT. The old names are still available as aliases for backwards compatibility. This change required introducing valid XML markup which externally written XML processing scripts may need to be modified to accomodate, to support multiple aliases of a single command or token name (internal issue 1592). * Add slink:VkDevice as the first parameter to flink:vkSetLocalDimmingAMD (internal issue 1618). * Improve CI header compilation tests to test all Vulkan platform includes, using fake platform headers where needed, and change the `allchecks` Makefile target to use the more comprehensive `check_spec_links.py` script instead of the retired `checkinc` and `checklinks` targets. * Move descriptions of the ASTC compressed texture decode mode from the <<appendix-compressedtex-astc,appendix>> to the recently updated external Khronos Data Format Specification. * Fix minor markup and spelling issues in the `VK_NV_ray_tracing` extension. |
||
|
476e3f422d |
Change log for March 18, 2019 Vulkan 1.1.104 spec update:
* Update release number to 104. Public Issues: * Remove the incorrect line from "`Initial`" to "`Invalid`" state in the <<commandbuffer-lifecycle-diagram, Lifecycle of a command buffer>> diagram (public issue 881). * Add Fuchsia platform to <<boilerplate-wsi-header-table, Window System Extensions and Headers>> table (public pull request 933). * Change the type of slink:VkBufferDeviceAddressCreateInfoEXT::pname:deviceAddress from basetype:VkDeviceSize to basetype:VkDeviceAddress. These are both typedefs of code:uint64_t, so it is an ABI-compatible change (public issue 934). Internal Issues: * Remove generated header files and update the CI tests to build a copy of the headers for use by the hpp-generate / hpp-compile CI stages. Targets to generate the headers will not be removed, but keeping these generated files in the repository increased the frequency of conflicts between branches when merging to master (internal issue 745). * Reword "`undefined: behavior if *action*" to "`must: not do *action*`" in the places the old terminology was used, and add a new <<writing-undefined, Describing Undefined Behavior>> section of the style guide to explain how to write such language in the future (internal issue 1579). * Move almost all Python scripts into the toplevel `scripts/` directory. Apply extensive internal edits to clean up and simplify the scripts, and try to follow PEP8 guidelines. Generalize the scripts with the use of a Conventions object controlling many aspects of output generation, to enable their use in other Khronos projects with similar requirements. Autogenerate extension interface refpages (these are experimental and may be retired going forward). New Extensions: * `VK_AMD_display_native_hdr` * `VK_EXT_full_screen_exclusive` (internal issue 1439) * `VK_EXT_host_query_reset` * `VK_EXT_pipeline_creation_feedback` (internal issue 1560) * `VK_KHR_surface_protected_capabilities` (internal issue 1520) |
||
|
35e7bee5f0 |
Change log for March 3, 2019 Vulkan 1.1.102 spec update:
* Update release number to 102. Public Issues: * Simplify flink:vkGetImageMemoryRequirements constraint for ename:VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT (public pull request 817). * Fix typo in markup of the <<textures-texel-coordinate-systems-diagrams, Texel Coordinate Systems, Corner Sampling>> image that was generating complaints from chunked HTML output generation (public pull request 928). Internal Issues: * Split the old <<features, Features>> chapter into four chapters: <<features, Features>>, <<limits, Limits>>, <<formats, Formats>>, and <<capabilities, Capabilities>>, with minor edits to the introductory paragraph of each chapter. Anchor names in these chapters were changed, with corresponding effects to xrefs to these anchors elsewhere in spec markup . The purpose is to make the chunked HTML spec output load faster on what was previously a single, gigantic chapter (internal issue 1554). * Add ename:VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV, to the supported pipeline stages for ename:VK_ACCESS_UNIFORM_READ, ename:VK_ACCESS_SHADER_READ, and ename:VK_ACCESS_SHADER_WRITE in the <<synchronization-access-types-supported>> table. * Correct legal name of Google, LLC in vk.xml \<tags> section and a copyright statement. * Clarify that Vulkan treats the Android code:AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM format as RGBA, and the application is responsible for forcing the X/A component to be read as 1.0, in the <<memory-external-android-hardware-buffer-formats>> table. * Clarify the vertex order of various primitive topologies, and define the order of transform feedback vertex capture based on that. This involves a lot of refactoring and cleanup in the <<drawing-primitive-topologies, Primitive Topologies>>, <<geometry-input, Geometry Shader Input Primitives>> sections, and <<vertexpostproc-transform-feedback Transform Feedback>> sections, and numerous places in the <<tessellation>> chapter, New Extensions: * `VK_EXT_metal_surface` * `VK_EXT_ycbcr_image_arrays` (internal issue 1361). * `VK_NVX_image_view_handle` |
||
|
55220784e0 |
Change log for February 17, 2019 Vulkan 1.1.101 spec update:
* Update release number to 101. Public Issues: * Make clear that memory types for imported host memory must be host visible in slink:VkMemoryHostPointerPropertiesEXT.txt (public issue 897). * Make <<interfaces-resources-layout, WARNING block>> into a NOTE block, per the styleguide (public pull request 916). Internal Issues: * Make <<textures-output-format-conversion, computation of derivatives in non-uniform flow control>> have undefined behavior (internal issue 1367). * Make behavior, not just values, undefined for <<textures-layout-validation, reads from inconsistent YCbCr layouts>> (internal issue 1366). * Consolidate version and extension behavior documentation in the <<extended-functionality, Extended Functionality>> appendix, While a great deal of text was moved from other parts of the Specification into the appendix, this just serves to simplify and make consistent discussions of versions and extensions (internal issue 1473). * Add limits for slink:VkPhysicalDeviceRayTracingPropertiesNV in the <<features-limits-types, Required Limit Types>> and <<features-limits-required, Required Limits>> tables (internal issue 1511). * Disallow <<memory-protected-memory, indirect calls within protected command buffers>> by adding valid usage statements for the related indirect dispatch and draw commands (internal issue 1513). * Add valid usage stataements to slink:VkGraphicsPipelineCreateInfo, slink:VkSubpassDescription, slink:VkSubpassDescription2KHR, slink:VkSubpassDescriptionDepthStencilResolveKHR, and slink:VkImageViewCreateInfo preventing the creation of a renderpass with attachments in formats that are not supported for rendering (internal issue 1552). * Qualify valid usage statements for slink:VkAttachmentReference::pname:layout parameter so restrictions only apply if an attachment is ename:VK_ATTACHMENT_UNUSED (internal issue 1561). * Add valid usage statement for flink:vkCmdDrawIndirectByteCountEXT restricting pname:vertexStride to be positive (internal issue 1566). * Make the `VK_EXT_sample_locations` extension depend on `VK_KHR_get_physical_device_properties2` in `vk.xml`. * Rearrange and simplify the <<interfaces-resources-layout, block layout rules>>. New Extensions: * `VK_NV_cooperative_matrix` * `VK_EXT_depth_clip_enable` (internal issue 1485). |
||
|
b59ec03ee3 |
Change log for February 3, 2019 Vulkan 1.1.99 spec update:
* Update release number to 99. Public Issues: * Add missing pname:pMemoryHostPointerProperties description to flink:vkGetMemoryHostPointerPropertiesEXT.txt (public pull request 896). * Minor markup fixes (public pull request 900). * Minor update to `khronos.css` and markup fixes (originally proposed in public pull request 901, but done via an internal MR). Internal Issues: * Document restrictions on image queries for Y'CbCr formats in the <<features-formats-requiring-sampler-ycbcr-conversion>> table as well as for slink:sname:VkImageFormatProperties and slink:VkImageCreateInfo (internal issue 1361). * Correct type of the code:FragSizeEXT built-in in the <<interfaces-builtin-variables, Built-In Variables>> section (internal issue 1526). * Clean up math in the <<textures, Image Operations>> chapter by refactoring, using better naming conventions, updating diagrams to use the correct orientation, etc. (internal merge request 2968). * Fix minor typos for slink:VkImageCreateInfo and slink:VkImageStencilUsageCreateInfoEXT. * Add missing documentation for tlink:VkResolveModeFlagsKHR. * Fix extension dependency of pname:scalarBlockLayout in the <<features-features-requirements, Feature Requirements>> section. * Fix indexing math for shader binding table calculations in the <<shader-binding-table-indexing-rules, Indexing Rules>> section, and use spelling "`any-hit`" consistently. * Reconcile valid usage statement and text for sampled image layouts in slink:VkWriteDescriptorSet (https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/551). * Make SPIR-V code:OpConvertUToPtr and code:OpConvertPtrToU operations require a 64-bit integer for physical storage buffer pointers in the <<spirvenv-module-validation, Validation Rules within a Module>> section. * Update to KaTeX 10.0. New Extensions: * `VK_EXT_filter_cubic` * `VK_NV_dedicated_allocation_image_aliasing` |
||
|
56e0289318 |
Change log for January 05, 2019 Vulkan 1.1.97 spec update:
* Update release number to 97. Public Issues: * Add a special case to the <<renderpass-compatibility, Render Pass Compatibility>> rules allowing single-subpass renderpasses to be compatible even if they have different resolve attachment references (public issue 835). * Fix the miss shader binding table record address rule in the <<shader-binding-table-indexing-rules, Miss Shaders>> section to index by code:missIndex, not code:sbtOffset (public issue 875). Internal Issues: * Add a missing anchor to the elink:VkSamplerCreateFlagBits language (internal issue 1483). * Add missing implicit valid usage include for slink:VkHdrMetadataEXT and corresponding `noautovalidity` attributes in `vk.xml` for the externally-defined metadata properties (internal issue 1514). * Remove restrictions on the `mask` parameter of SPIR-V's code:OpGroupNonUniformXor in the <<spirvenv-module-validation, Validation Rules within a Module>> appendix (internal merge request 2971). * Restore `noautovalidity` attribute for slink:VkPipelineViewportWScalingStateCreateInfoNV::pname:pViewportWScalings in `vk.xml` (internal merge request 2975). * Update copyright dates on Khronos-copyrighted files to 2019 (internal merge request 2980). New Extensions: * `VK_KHR_depth_stencil_resolve` * `VK_EXT_buffer_device_address` * `VK_EXT_memory_budget` * `VK_EXT_memory_priority` * `VK_EXT_validation_features` |
||
|
b557dd2167 |
Change log for December 16, 2018 Vulkan 1.1.96 spec update:
* Update release number to 96. Public Issues: * Fix typo in `vk.xml` for `structextends` attribute of slink:VkPhysicalDeviceShadingRateImagePropertiesNV (public PR 870). * Fix links in optimized PDF output (public PR 879). Internal Issues: * Add a link to GitHub contributors in the <<credits, Other Credits>> section (internal issue 808). * Clarify the behavior of command aliases described in the <<versions,Core Revisions>> and <<initialization-functionpointers, Command Function Pointers>> sections and the registry schema document with respect to whether they are or are not the same entry point, and what the behaviour of the ftext:vkGet*ProcAddr commands is for each alias (internal issue 1462). * Update slink:VkPipelineShaderStageCreateInfo valid usage statements for writing to code:Layer and code:viewportIndex to apply to any vertex processing stage (internal issue 1475). * Make sparse image creation optional for Y'C~B~C~R~ formats in the <<features-required-format-support, Required Format Support>> section and the <<features-formats-requiring-sampler-ycbcr-conversion, Formats requiring sampler Y'C~B~C~R~ conversion for ename:VK_IMAGE_ASPECT_COLOR_BIT image views>> table (internal issue 1476). * Modify the valid usage statement for flink:vkCmdDrawIndirectByteCountEXT::pname:vertexStride to use the pname:maxTransformFeedbackBufferDataStride limit rather than the pname:maxVertexInputBindingStride limit, which is a better match for transform feedback related operations (internal issue 1487). * Changed all members of slink:VkPhysicalDevicePCIBusInfoPropertiesEXT to have the `uint32_t` type. This is an imcompatible change to an EXT that's very recently released; although this is against usual Vulkan WG policy, we discussed and consider this an acceptable risk, but have polled the mesa-dev list in case there are use cases we missed (internal issue 1492). * Set spec vetsion to 1 for `VK_GOOGLE_hlsl_functionality1` and `VK_GOOGLE_decorate_string` in `vk.xml` (internal MR 2948). * Remove redundant valid usage statement `VkImageCreateInfo-pNext-02395` (internal MR 2950). * Add `check_spec_links.py` script, use it in Gitlab CI, and fix many minor markup issues discovered by the script (internal MR 2955). * Update `BUILD.md` to the current Ruby version (2.5.3), and make some corresponding updates to per-platform build instructions (internal MR 2956). * Fix binding numbers and other details in flink:vkUpdateDescriptorSetWithTemplate.txt example code blocks (internal MR 2960). * Remove some nautovalidity="true" in `vk.xml` for NV extensions where it's clearly wrong (internal MR 2970). |
||
|
256a1ef661 |
Change log for November 18, 2018 Vulkan 1.1.93 spec update:
* Update release number to 93. Public Issues: * Add spec language for ename:VK_INDEX_TYPE_NONE_NV and fix up slink:VkAccelerationStructureTypeNV (public issue 848). * Add missing suffix in description of slink:VkSubpassDescription2KHR parameters (public pull request 851). * Fix miscellaneous typos (public pull request 855). * Add driver ID for Pastel (public pull request 856). * Add missing include directive for slink:VkMemoryWin32HandlePropertiesKHR implicit valid usage statements (public pull request 857). Internal Issues: * Restrict the storage classes permitted for SPIR-V atomics to what is actually supported, in the <<spirvenv-module-validation, Validation Rules within a Module>> section (internal issue 1123). * Add a missing Valid Usage statement to slink:VkRenderPassCreateInfo for the case pname:stencilLoadOp == ename:VK_LOAD_OP_CLEAR, pname:layout == ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL (internal issue 1408). * Modify optimize-pdf script and Makefile to retain non-optimized original PDF on errors (internal issue 1435). * Add <<spirvenv-module-validation, SPIR-V validation rules>> stating that only the listed code:BuiltIn decorations are permitted, and only when relevante features and extensions are enabled (internal issue 1449). * Remove some duplicated Valid Usage IDs created via cut & paste error (internal issue 1455). * Build HTML output for extension reference pages (internal issue 1461). ** Improve genRef.py handling of aliases defined inside other refpages. ** Emit aliases in pygenerator.py. ** Add XML noautovalidity flag for VkRenderPassCreateFlags until there are some corresponding FlagBits defined. ** Corrected types= attribute on some refpage blocks to 'flags' ** Added refpage blocks for some missing types detected by CI tests. * Fixed many Valid Usage statement issues in slink:VkRenderPassCreateInfo, slink:VkSubpassDescription, slink:VkSubpassDescription2KHR, slink:VkSubpassDependency2KHR, flink:vkCmdBeginRenderPass, flink:vkCmdBeginRenderPass2KHR, and slink:VkRenderPassBeginInfo discovered while adding `VK_KHR_create_renderpass2` to the validation layers. New Extensions: * `VK_EXT_scalar_block_layout` * `VK_EXT_separate_stencil_usage` |
||
|
279452463a |
Change log for November 12, 2018 Vulkan 1.1.92 spec update:
* Update release number to 92. Public Issues: * Move and modify valid usage statements dealing with pname:aspectMask in flink:vkCmdClearColorImage, flink:vkCmdClearDepthStencilImage, and slink:VkClearAttachment, so they are in places where all necessary information is available (public issue 529). * Fix math markup in <<textures-texel-anisotropic-filtering, Texel Anisotropic Filtering>> (public pull request 840). * Fix misspellings (public pull request 845). Internal Issues: * Add installation instructions and a Makefile "`chunked`" target for chunked HTML generation (internal issue 1352). * Fix pipeline mesh diagram style; also fix a minor bug in the classic pipeline diagram where vertex/index buffers wrongly fed into the vertex shader (internal issue 1436). * Make asciidoctor ERROR output raise an error, and don't suppress executed command output from CI make invocation (internal issue 1454). * Minor typo fixes and clarifications for `VK_NV_raytracing`. * Cleanup extension-specific properties ** Remove duplicated documentation for pname:maxDiscardRectangles, pname:pointClippingBehavior, and pname:maxVertexAttribDivisor (they shouldn't be documented with the other members of slink:VkPhysicalDeviceLimits at all). ** Remove duplicate anchor for pname:maxVertexAttribDivisor ** Consistently document stext:VkPhysicalDevice<Extension>PropertiesKHR *** Always document pname:sType/pname:pNext (was inconsistent before) *** Always mention chaining to slink:VkPhysicalDeviceProperties2 (and not as slink:VkPhysicalDeviceProperties2KHR) *** Always include Valid Usage statements last * Update Makefile 'checklinks' target and associated scripts, and fix markup problems identified by checkLinks.py, so that we can rely on the checklinks script as part of Gitlab CI. |
||
|
f1eec1dfe6 | Merge remote-tracking branch 'upstream/master' into typos | ||
|
9668c1b281 | Fixed misspellings | ||
|
e24e42dcff |
Change log for November 4, 2018 Vulkan 1.1.91 spec update:
* Update release number to 91. Public Issues: * Update Ubuntu subsystem build instructions in `BUILD.adoc` (public pull request 624). * Delete the `VK_KHR_mir_surface` extension from the Specification and XML, due to EOL of the only driver known to have supported it, and near-EOL of Mir itself (public issue 814). * Fix options for some figures that were using old ones (public pull request 841). * Fix various accidentally repeated words (public pull request 843). * Use `time.process_time()`, introduced in Python 3.3, in the scripts instead of `time.clock()`, which will be removed in Python 3.8 (public pull request 844). Internal Issues: * Update valid usage statements for `VK_ANDROID_external_memory_android_hardware_buffer` in slink:VkMemoryAllocateInfo, slink:VkImportAndroidHardwareBufferInfoANDROID, and flink:vkGetAndroidHardwareBufferPropertiesANDROID to actually be verifiable (internal issue 1419). * Update valid usage statements for `VK_ANDROID_external_memory_android_hardware_buffer` in slink:VkMemoryAllocateInfo, slink:VkImageCreateInfo, and slink:VkImageViewCreateInfo to move valid usage statements in doubly-nested bullet points up one level, accomodating limitations of the valid usage extraction script that creates `validusage.json` (internal issue 1434). * Fix typo etext:VK_ACCESS_SHADING_RATE_IMAGE_BIT_NV to the correct ename:VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV. * Add missing etext:VK_STRUCTURE_TYPE_* tokens to appendices for extensions missing them. New Extensions: * `VK_AMD_memory_overallocation_behavior` * `VK_NV_ray_tracing`, replacing `VK_NVX_raytracing` |
||
|
572413c176 |
Fix bad figures options
- remove `{fullimagewidth}` (not sure what it is, but it does not seem to exist) - add missing `{imageopts}` |
||
|
894211de5f |
(The previous commit didn't actually include internal gitlab changes
since 1.1.89; fixed now). Change log for October 28, 2018 Vulkan 1.1.90 spec update: * Update release number to 90. Public Issues: * Tag flink:vkQueueWaitIdle as `externsync` in `vk.xml` (public pull request 815). * Update README (public pull request 834). * `VK_NV_framebuffer_mixed_samples` and `VK_AMD_mixed_attachment_samples` had confusing and contradictory valid usage statements when read in the all-extensions spec build. Change them to explicitly mention which extension each is for (public issue Vulkan-ValidationLayers/issues/353). Internal Issues: * Update `COPYING.md` to clarify how externally generated Vulkan Specifications (for translations, annotations, or other reasons) must be copyrighted, and acknowledge the Exception Clause on the `vk.xml` license (internal issue 1079). * Specify that flink:vkGetPhysicalDeviceImageFormatProperties may: return pname:maxMipLevels 1 if the format is ycbcr (internal issue 1361). * Clarify previously underspecified language for flink:vkCmdPushConstants::pname:pStageFlags regarding use of push constants across multiple pipelines (internal issue 1403). * Fix typo in XML/headers for ename:VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT, which was previously etext:VK_STRUCTURE_TYPE_IMAGE_EXCPLICIT_DRM_FORMAT_MODIFIER_CREATE_INFO_EXT (internal issue 1428). * Fix markup of equations that were sporadically breaking the `optimize-pdf` step of PDF generation, due (apparently) to inconsistent treatment of unwrapped multicharacter terms by different LaTeX parsers (internal issue 1435). * For the <<memory-model-synchronizes-with synchronizes-with>> memory model relation cases involving a release barrier plus relaxed atomic write, treat the atomic as if it were a release atomic and allow the acquire side to read from its hypothetical release sequence. This is more consistent with how C++ defines synchronization for release fences (internal issue cross-api/memory-model#72). * Minor editorial changes to the <<memory-model, memory model>> appendix based on external feedback. |
||
|
099174883d |
Change log for October 28, 2018 Vulkan 1.1.90 spec update:
* Update release number to 90. Public Issues: * Tag flink:vkQueueWaitIdle as `externsync` in `vk.xml` (public pull request 815). * Update README (public pull request 834). * `VK_NV_framebuffer_mixed_samples` and `VK_AMD_mixed_attachment_samples` had confusing and contradictory valid usage statements when read in the all-extensions spec build. Change them to explicitly mention which extension each is for (public issue Vulkan-ValidationLayers/issues/353). Internal Issues: * Update `COPYING.md` to clarify how externally generated Vulkan Specifications (for translations, annotations, or other reasons) must be copyrighted, and acknowledge the Exception Clause on the `vk.xml` license (internal issue 1079). * Specify that flink:vkGetPhysicalDeviceImageFormatProperties may: return pname:maxMipLevels 1 if the format is ycbcr (internal issue 1361). * Clarify previously underspecified language for flink:vkCmdPushConstants::pname:pStageFlags regarding use of push constants across multiple pipelines (internal issue 1403). * Fix typo in XML/headers for ename:VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT, which was previously etext:VK_STRUCTURE_TYPE_IMAGE_EXCPLICIT_DRM_FORMAT_MODIFIER_CREATE_INFO_EXT (internal issue 1428). * Fix markup of equations that were sporadically breaking the `optimize-pdf` step of PDF generation, due (apparently) to inconsistent treatment of unwrapped multicharacter terms by different LaTeX parsers (internal issue 1435). * For the <<memory-model-synchronizes-with synchronizes-with>> memory model relation cases involving a release barrier plus relaxed atomic write, treat the atomic as if it were a release atomic and allow the acquire side to read from its hypothetical release sequence. This is more consistent with how C++ defines synchronization for release fences (internal issue cross-api/memory-model#72). * Minor editorial changes to the <<memory-model, memory model>> appendix based on external feedback. |
||
|
0a7a04f32b |
Change log for October 13, 2018 Vulkan 1.1.88 spec update:
* Update release number to 88. Public Issues: * Make clear that tname:PFN_vkDebugUtilsMessengerCallbackEXT::pname:messageTypes is a bitmask, and correct a typo in the spelling of slink:VkDebugUtilsMessengerCreateInfoEXT.txt::pname:messageType (public pull request 800). * Make an ABI-compatible change of the type of slink:VkPhysicalDeviceDriverPropertiesKHR::pname:driverID to use the new elink:VkDriverIdKHR type (public issue 811). Internal Issues: * Clarify for the <<features-features-shaderStorageImageExtendedFormats>> feature and in the <<spirvenv-capabilities-table>> that the feature means that all of the formats are supported, and that otherwise the features can be queried per-format (internal issue 1273). * Clarified interactions of `VK_EXT_external_memory_host` with host cache management commands and structures flink:vkMapMemory, flink:vkFlushMappedMemoryRanges, slink:VkMappedMemoryRange, and flink:vkUnmapMemory using the new glossary term "`Host Mapped Device Memory`" (internal issue 1385). * Update the language for flink:vkCreateViSurfaceNN.txt describing the pname:currentExtent of a VI surface to more accurately reflect current capabilities, replacing "`undefined`" with more explicit behavior (internal issue 1410). New Extensions: * `VK_EXT_calibrated_timestamps` * `VK_EXT_image_drm_format_modifier` (this extension was previously disabled in vk.xml, and has now been enabled after some changes to fix performance issues). * `VK_EXT_pci_bus_info` * `VK_EXT_transform_feedback` * `VK_GOOGLE_hlsl_functionality1`, exposing support for `SPV_GOOGLE_hlsl_functionality1`. * `VK_GOOGLE_decorate_string`, exposing support for `SPV_GOOGLE_decorate_string`. |
||
|
911a764694 |
Change log for October 7, 2018 Vulkan 1.1.87 spec update:
* Update release number to 87. Public Issues: * Merge flink:vkCmdPipelineBarrier self-dependency barrier VUs referring to the same subpass dependency (public pull request 756). * Describe default value of `"optional"` attribute in the registry schema document (public issue 769) * Fix links in <<VK_NVX_raytracing>> extension (public pull request 805). * Mark the <<VK_KHR_mir_surface>> extension obsolete (see public issue 814 - does not close this, however). * Fix missing endif in Image Creation block (public issue 817). Internal Issues: * Clarify that the compressed texture formats corresponding to <<features-features-textureCompressionETC2>>, <<features-features-textureCompressionASTC_LDR>>, and <<features-features-textureCompressionBC>> is not contingent on the feature bits, and may be supported even if the features are not enabled (internal issue 663). * Clarify that code:FragStencilRefEXT is output only in the <<interfaces-builtin-variables, Built-In Variables>> section (internal issue 1173). * Identify and correct many overly-aggressive uses of "`undefined`", and narrow them down, where straightforward to do so. Mark such resolved uses of "`undefined`" with the custom undefined: macro. Add a new <<writing-undefined, Describing Undefined Behavior>> section (internal issue 1267). * Don't require code:inline_uniform_block descriptors to be populated before use in the flink:vkAllocateDescriptorSets section (internal issue 1380). * Allow suppressing inline SVG images by controlling this with an attribute set in the Makefile, rather than the explicit [%inline] directive (internal issue 1391). * Mark 'Khronos' as a registered trademark in several places, now that it is one. * Fix typo in the <<VK_KHR_shader_atomic_int64>> appendix using the GLSL naming of the compare exchange op when referring to the SPIR-V op. * Specify in the flink:vkGetPhysicalDeviceQueueFamilyProperties section that all implementations must support at least one queue family, and that every queue family must contain at least one queue. * Make slink:VkPipelineDynamicStateCreateInfo::pname:dynamicStateCount, slink:VkSampleLocationsInfoEXT::pname:sampleLocationsPerPixel, and slink:VkSampleLocationsInfoEXT::pname:sampleLocationsCount optional, to fix bogus implicit valid usage checks that were causing failures in the conformance tests. * Fix vendor tag in reserved extension 237 constants. Does not affect anything since it's just a placeholder, but this should avoid further comments. * Minor markup fixes in some extension appendices. New Extensions: * `<<VK_FUCHSIA_imagepipe_surface>>` |
||
|
9858c1e89e |
Change log for September 19, 2018 Vulkan 1.1.85 spec update:
* Update release number to 85. Public Issues: * Add self-dependency ename:VK_DEPENDENCY_BY_REGION_BIT valid usage statements for slink:VkSubpassDependency(public pull request 778). * Apply fix from pull request 742 to slink:VkSubpassDependency and slink:VkSubpassDependency2 (public pull request 779). * Specify the units of slink:VkBufferImageCopy::pname:bufferRowLength and pname:bufferImageHeight as texels (public pull request 781). * Better specify promoted parameter mapping in the `<<VK_KHR_create_renderpass2>>` appendix (public pull request 782). Internal Issues: * Only include the <<fundamentals-validusage-versions, Valid Usage for Newer Core Versions>> section in Vulkan 1.1 or later (internal issue 1381). Other Issues: * Clean up redundant valid usage language for the `VK_ANDROID_external_memory_android_hardware_buffer` extension interaction with slink:VkImageCreateInfo. * Fix error in a flag name within valid usage statements for slink:VkMemoryAllocateInfo. * Clarify that memory types are not totally ordered in slink:VkPhysicalDeviceMemoryProperties. * For slink:VkWriteDescriptorSetInlineUniformBlockEXT, set structextends="VkWriteDescriptorSet" in `vk.xml`, and make slink:VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::pname:pBindingFlags optional. * Add documentation of 'provisional' XML attribute to registry.txt. New Extensions: * `VK_NV_compute_shader_derivatives` * `VK_NV_corner_sampled_image` * `VK_NV_fragment_shader_barycentric` * `VK_NV_mesh_shader` * `VK_NV_representative_fragment_test` * `VK_NV_scissor_exclusive` * `VK_NV_shader_image_footprint` * `VK_NV_shading_rate_image` * `VK_NVX_raytracing` |
||
|
d957f42e8d
|
Merge pull request #734 from kainino0x/svg-inline
Use [%inline] for all SVGs |
||
|
ff0c233908 |
Change log for July 30, 2018 Vulkan 1.1.82 spec update:
* Update release number to 82. Public Issues: * Add flink:vkDestroyPipelineLayout valid usage statement that the layout must not have been used with command buffers still in the recording state (public issue 730). * Correct \<unused> tag for elink:VkResult in `vk.xml` (public merge request 746). Internal Issues: * Add a valid usage statement to flink:vkQueueSubmit, and similar language to the definitions of <<synchronization-queue-transfers-acquire, acquire operations>> requiring that an acquire operation follow a previous release of the same subresource (internal issue 1290). * Add <<resources-image-format-features,Image Format Features>> and <<resources-image-view-format-features,Image View Format Features>> sections that precisely define the slink:VkFormatFeatures supported by images and image views, and rewrite valid usage statements to reference these sections instead of duplicating language (internal issue 1310). * Reword and consolidate synchronization valid usage statements for flink:vkCmdPipelineBarrier such that they correctly account for mutiple possible self-dependencies (internal issue 1322). * Change order of <<Standard sample locations>> for 2xMSAA (internal issue 1347). * Add definitions of "`<<Correctly Rounded>>`" and "`<<ULP>>`" in the SPIR-V environment appendix, and "`Units in the Last Place (ULP)`" in the glossary. New Extensions: * `VK_NV_device_diagnostic_checkpoints` |
||
|
86de8ac805 |
Fix missing "valid" in some obscure cases
- update script to detect better structs that do not need "valid" - update vk.xml and schema to say `noautovalidity` as a hint to the script - fix missing const in VkValidationFlagsEXT - update some cases that were probably avoiding the bug |
||
|
4ba7c06e72 |
Use [%inline] for all SVGs
Provides a 12.6% size savings for vkspec.html (697770 B -> 609679 B, gzipped), because: (1) plaintext is smaller than base64-encoded plaintext, and (2) base64 does not gzip as well as plaintext SVG. |
||
|
933a3a3c4a |
Change log for June 18, 2018 Vulkan 1.1.78 spec update:
* Update release number to 78. Public Issues: * Change markup so parameter descriptions include links to structures, instead of just their names (public issue 697). * Resume publishing updated Vulkan 1.0 + KHR extensions and Vulkan 1.0 + all extensions versions of the specification (public issue 722). * Reapply fixes from public pull request 698 for `VK_ANDROID_external_memory_android_hardware_buffer`, which accidentally were reverted at some point (public pull request 724). * Fix undefined format valid usage statements for slink:VkImageCreateInfo in the presence of the `VK_ANDROID_external_memory_android_hardware_buffer` extension (public pull request 725). * Miscellaneous markup consistency fixes (public pull request 728). Internal Issues: * When building specifications containing vendor extensions, add terms to the Khronos spec copyright specifying that the result is not a ratified specification (internal issue 739). * Change the value of the pname:maxDescriptorSetUpdateAfterBindUniformBuffers minimum limit to 72 (6 times pname:maxPerStageDescriptorUpdateAfterBindUniformBuffers) in the <<features-limits-required, Required Limits>> table (internal issue 1300). Other Issues: * Fix link to resource image view compatibility table in the valid usage statements for slink:VkImageFormatListCreateInfoKHR (internal pull request 2711). |
||
|
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. |
||
|
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` |
||
|
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). |