| Copyright 2016-2023 The Khronos Group Inc. |
| SPDX-License-Identifier: CC-BY-4.0 |
| |
| Update Log for the Vulkan-Docs repository on GitHub. Updates are in reverse |
| chronological order starting with the latest public release. |
| |
| This summarizes the periodic public updates, not individual commits. Updates |
| on GitHub are done as single large patches at the release point, collecting |
| together the resolution of many Khronos internal issues, along with any |
| public pull requests that have been accepted. |
| |
| "`VU`" as used below is an abbreviation for "`valid usage statement`", which |
| appears frequently in the change log. |
| |
| ----------------------------------------------------- |
| |
| Change log for October 20, 2023 Vulkan 1.3.269 spec update: |
| |
| Github Issues |
| |
| * Add and correct a couple of `optional` attributes in the XML (public |
| pull request 2252). |
| |
| Internal Issues |
| |
| * Add flink:vkGetQueryPoolResults and flink:vkCmdCopyQueryPoolResults VUs |
| requiring that queries be initialized (internal issue 3638). |
| * Harmonize shader object state VUs with spec language in common draw, |
| common draw vertex binding, slink:VkShaderCreateInfoEXT, and the |
| <<shaders-objects-state, Setting State>> section (internal MR 6128). |
| * Consolidate VUs in many files (internal MRs 6136, 6137, 6140, 6154, |
| 6155, 6157). |
| * Fix common blit image, copy image, and resolve image VUs for |
| interactions with ename:VK_REMAINING_ARRAY_LAYERS when built without |
| apiext:VK_KHR_maintenance5 (internal MR 6204). |
| * Remove slink:VkClearAttachment VU 00021 for "`validating`" a union type |
| (internal MR 6222). |
| * Disallow image creation with |
| ename:VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT and any |
| etext:VK_IMAGE_CREATE_SPARSE_*_BIT flags (internal MR 6223). |
| * Combine slink:VkGraphicsPipelineCreateInfo VUs 06575 and 06603 (internal |
| MR 6225). |
| * Markup fixes for apiext:VK_NV_low_latency2 (internal MR 6228). |
| * Add a VU for the |
| slink:VkDecompressMemoryRegionNV::pname:decompressedSize limit, and fix |
| language describing parameters in slink:VkCopyMemoryIndirectCommandNV |
| (internal MR 6230). |
| |
| New Extensions |
| |
| * apiext:VK_ARM_scheduling_controls |
| * apiext:VK_NV_cuda_kernel_launch |
| |
| ----------------------------------------------------- |
| |
| Change log for October 13, 2023 Vulkan 1.3.268 spec update: |
| |
| Github Issues |
| |
| * Restrict flink:vkCmdSetEvent2 ptext:*stageMask parameters to not include |
| ename:VK_PIPELINE_STAGE_2_HOST_BIT (public issue 1996). |
| * Fix <<formats-non-packed, byte mapping table>> for |
| ename:VK_FORMAT_A8_UNORM_KHR (public issue 2234). |
| * Assign VUIDs to new VUs that were overlooked in the previous spec update |
| (public issue 2244). |
| * Add a spec build test and refactor Makefile to allow using a different |
| repository root directory path, for use with the tests (public PR 2248). |
| |
| Internal Issues |
| |
| * Add VUs to slink:VkCopyMemoryToImageInfoEXT and |
| slink:VkCopyImageToMemoryInfoEXT requiring zero row-length / |
| image-height when doing a host copy with |
| ename:VK_HOST_IMAGE_COPY_MEMCPY_EXT (internal issue 3619). |
| * Clarify that fragment shading rate attachments cannot be cleared in VU |
| for slink:VkRenderPassCreateInfo2 and language for |
| slink:VkAttachmentDescription2KHR (internal issue 3634). |
| * Add VUs to slink:VkSparseImageMemoryBind requiring a non-zero extent |
| (internal issue 3635). |
| * Consolidate VUs in many files (internal MRs 6138, 6141. 6142, 6147, |
| 6149, 6153, 6161, 6162, 6167, 6170, 6194, and 6197). |
| * Use title case consistently for chapter and section titles, and add it |
| to the style guide (internal MR 6201). |
| |
| ----------------------------------------------------- |
| |
| Change log for October 6, 2023 Vulkan 1.3.267 spec update: |
| |
| Internal Issues |
| |
| * Detect old wording of boilerplate pname:pNext description in CI |
| (internal issue 2186). |
| * Clarify ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT with regard |
| to queue submission (internal issue 3627). |
| * Update apiext:VK_NV_low_latency2 pname:pInfo pointers to be `const` |
| (internal issue 3637). |
| * Add slink:VkDescriptorSetLayoutBindingFlagsCreateInfo and |
| slink:VkDescriptorSetAllocateInfo VUs for |
| ename:VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT (internal MR |
| 6127). |
| * Consolidate VUs in `access_mask_2_common.adoc` (internal MR 6166). |
| * Fix |
| slink:VkGraphicsPipelineCreateInfo::pname:pColorBlendState->attachmentCount |
| VU to apply only when the blend state is not dynamic (internal MR 6171). |
| * Add missing object types to the <<debugging-object-types, VkObjectType |
| and Vulkan Handle Relationship>> table (internal MR 6175). |
| * Fix typo ("`Non-private`" -> "`Private`") in the description of |
| <<memory-model-non-private, private memory operations obeying program |
| order>> (internal MR 6176). |
| * Add reflow test for list continuation in VUs (internal MR 6177). |
| * Correct type of flink:vkQueueNotifyOutOfBandNV::pname:pQueueTypeInfo |
| (internal MR 6179). |
| * Add XML `len` attribute for slink:VkFrameBoundaryEXT::pname:pTag order>> |
| (internal MR 6180). |
| * Consolidate VUs for apiext:VK_ANDROID_external_format_resolve (internal |
| MR 6183). |
| * Upstream Vulkan SC 1.0.13 changes to this repository (internal vulkansc |
| issue 179). |
| |
| New Extensions |
| |
| * apiext:VK_EXT_nested_command_buffer |
| * apiext:VK_NV_extended_sparse_address_space |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for September 29, 2023 Vulkan 1.3.266 spec update: |
| |
| Github Issues |
| |
| * Fix slink:VkGraphicsPipelineCreateInfo VU to say a valid pipeline layout |
| is always needed without a graphics pipeline library (public issue |
| 2168). |
| * Add missing "`not`" to <<spirvenv-module-validation-standalone, |
| Standalone SPIR-V Validation>> VU 04917 (public PR 2229). |
| * Add riscv64 64-bit platform to `vk_platform.h` (public PR 2238). |
| * Add driver ID for AGXV (Asahi) (public PR 2238). |
| |
| Internal Issues |
| |
| * Fix common draw dynamic state VUs to check for pname:stencilTestEnable |
| and pname:depthBoundsTestEnable (internal issue 3486) |
| * Fix stride passed to flink:vkGetQueryPoolResults in example code in |
| apiext:VK_KHR_performance_query appendix (internal MR 6148). |
| |
| New Extensions |
| |
| * apiext:VK_ANDROID_external_format_resolve |
| * apiext:VK_NV_low_latency2 |
| |
| ----------------------------------------------------- |
| |
| Change log for September 22, 2023 Vulkan 1.3.265 spec update: |
| |
| Github Issues |
| |
| * Remove misplaced |
| ename:VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR |
| description from elink:VkPipelineStageFlagBits context (public PR 2210). |
| * Swap NV pipeline stage with promoted KHR stage in XML `syncequivalent` |
| tag (public issue 2211). |
| * Remove redundant slink:VkPipelineShaderStageCreateInfo pname:stage VUs |
| (public issue 2222). |
| * Remove duplicate definition in apiext:VK_AMD_shader_enqueue proposal |
| document (public issue 2225). |
| |
| Internal Issues |
| |
| * Add a common copy image VU to require compressed image-to-image copies |
| to have formats with matching texel block extents (internal issue 3610). |
| * Add `page` field to `validusage.json` for eventual use with Antora |
| (internal issue 3617). |
| * Add missing VUs to flink:vkGetCalibratedTimestampsEXT (internal MR |
| 5974). |
| * Attempt to clarify apiext:VK_KHR_fragment_shader_barycentric |
| pname:triStripVertexOrderIndependentOfProvokingVertex description |
| (internal MR 6048). |
| * Add a slink:VkGraphicsPipelineCreateInfo VU restricting |
| ename:VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT |
| (internal MR 6119). |
| * Reword several places to clarify that code:PrimitiveId is reset to `0` |
| between each draw in a multi-draw command (internal issue 3564 ). |
| * Consolidate and simplify VUs in the <<copies, Copy Commands>> chapter |
| (internal MR 6124). |
| * Remove inconsistent `KHR` suffix in |
| slink:VkDeviceImageMemoryRequirements VUIDs (internal MR 6124). |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for September 8, 2023 Vulkan 1.3.264 spec update: |
| |
| Github Issues |
| |
| * Create Roadmap Feedback issue template (github PR 2207). |
| |
| Internal Issues |
| |
| * Fix ename:VK_GEOMETRY_OPAQUE_BIT_KHR flag reference for |
| <<ray-opacity-micromap, Ray Opacity Micromap>> (internal issue 3337). |
| * Clarify slink:VkImageMemoryBarrier color format VU (internal issue |
| 3606). |
| * Collapse apiext:VK_EXT_shader_tile_image pipeline barrier common VUs |
| 08718 and 06191 (internal MR 6065). |
| * Use consistent language to describe multi-planar aspect masks for some |
| existing VUs (internal MR 6072). |
| * Consolidate VUs in the <<commandbuffers, Command Buffers>> chapter |
| (internal MR 6114). |
| |
| New Extensions |
| |
| * apiext:VK_EXT_frame_boundary |
| * apiext:VK_MSFT_layered_driver |
| |
| ----------------------------------------------------- |
| |
| Change log for September 2, 2023 Vulkan 1.3.263 spec update: |
| |
| Github Issues |
| |
| * Clarify H.264 / H.265 level indicator values by reference to the ITU-T |
| specifications (public issue 2193). |
| * Explicitly state that VkDeviceOrHostAddressConstKHR is also ignored |
| (public PR 2205). |
| * Fix parameter typo "`cordinates`" and correct markup (public PR 2206). |
| * Cleanup slink:VkGraphicspipelineCreateInfo VUs for code:PointSize in the |
| context of apiext:VK_KHR_maintenance5 (public Vulkan-ValidationLayers |
| issue 6382). |
| |
| Internal Issues |
| |
| * Clarifications for <<framebuffer-dsb, Dual-Source Blending>> in common |
| draw VUs (internal issue 3549). |
| * Ensure slink:VkHostImageLayoutTransitionInfoEXT::pname:oldLayout is the |
| current layout (internal issue 3580). |
| * Link to promoted-from extension proposal docs in extension appendices if |
| no proposal exists for the extension itself (internal issue 3601). |
| * Note that pname:storageInputOutput16 is needed for 16-bit vertex input |
| in the <<fxvertex-attrib-location>> and <<interfaces-iointerfaces-user, |
| User-defined Variable Interface>> sections (internal MR 5989). |
| * Provisional video encode API updates (internal MR 6010). |
| * Move requirement that elements of |
| slink:VkPresentInfoKHR::pname:pSwapchains must be unique to a VU |
| (internal MR 6054). |
| * Fix and add missing shader object VUs in common draw VUs and the |
| <<shaders-objects-state, Setting State>> section (internal MR 6077). |
| * Define slink:VkPipelineColorBlendStateCreateInfo::pname:attachmentCount |
| to ignore explicit, not implicit state settings in the context of |
| apiext:VK_EXT_extended_dynamic_state3 (internal MR 6079). |
| * Fix duplicate VUIDs for apiext:VK_EXT_host_image_copy (internal MR |
| 6100). |
| * Use language for |
| slink:VkPipelineColorBlendStateCreateInfo::pname:pAttachments consistent |
| with related parts of the specification (internal MR 6103). |
| |
| New Extensions |
| |
| * apiext:VK_NV_descriptor_pool_overallocation |
| |
| ----------------------------------------------------- |
| |
| Change log for August 25, 2023 Vulkan 1.3.262 spec update: |
| |
| Github Issues |
| |
| * Remove ename:VK_ACCESS_2_UNIFORM_READ_BIT from |
| ename:VK_ACCESS_SHADER_READ_BIT (public issue 2169). |
| * Fix typo in description of slink:VkPerformanceCounterResultKHR (public |
| issue 2186). |
| * Fix missing vkQueue* row in command properties tables (public PR 2189). |
| * Specify that some <<spirvenv-module-validation-runtime, Runtime SPIR-V |
| Validation>> VUs apply only to compute shaders (public PR 2199). |
| * Misc. markup fixes (public pull request 2200). |
| * Specify when compute pipeline metadata must be saved in language |
| following slink:VkPipelineShaderStageModuleIdentifierCreateInfoEXT |
| (https://github.com/HansKristian-Work/vkd3d-proton/pull/1639, internal |
| MR 6058). |
| |
| Internal Issues |
| |
| * Fix MSRTSS + dynamic sample count + single sampling interactions in |
| common draw VUs (internal issue 3474). |
| * Fixes to block processing and attribute handling when generating |
| `validusage.json` (internal issue 3576). |
| * Generate implicit `-parent` VUs for more distant ancestor relationships |
| if the immediate parent type is not present (internal issue 3582). |
| * Fix ename:VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT interaction with |
| apiext:VK_EXT_extended_dynamic_state3 in VUs for |
| slink:VkGraphicsPipelineCreateInfo (internal issue 3587). |
| * Clarify that synchronization commands do not execute pipeline stages in |
| the <<synchronization-pipeline-stages, Pipeline Stages>> section |
| (internal issue 3592). |
| * VU fixes for apiext:VK_KHR_maintenance5 (internal MR 6032). |
| * Update apiext:VK_KHR_dynamic_rendering proposal document to remove a |
| sentence that should not have been there (internal MR 6047). |
| * Add ray tracing VUs for core synchronization access flags to match the |
| 64-bit versions (internal MR 6047). |
| * Add a CI test to check for include:: paths not starting with a |
| recognized path attribute (internal MR 6063). |
| * Make slink:VkBufferCreateInfo::pname:usage `noautovalidity` in XML and |
| allow for elink:VkBufferUsageFlags2KHR flags (internal MR 6066). |
| * Expand CI test checking for missing asciidoctor attributes to the |
| refpage build, catching additional cases (internal MR 6071). |
| * Remove explicit VU for slink:VkImageFormatProperties2 requiring the |
| <<fetaures-hostImageCopy, pname:hostImageCopy>> feature to be enabled if |
| slink:VkHostImageCopyDevicePerformanceQueryEXT is included in a |
| pname:pNext chain (internal MR 6074). |
| |
| New Extensions |
| |
| * apiext:VK_QCOM_filter_cubic_clamp |
| * apiext:VK_QCOM_filter_cubic_weights |
| * apiext:VK_QCOM_image_processing2 |
| * apiext:VK_QCOM_ycbcr_degamma |
| |
| ----------------------------------------------------- |
| |
| Change log for August 4, 2023 Vulkan 1.3.261 spec update: |
| |
| Github Issues |
| |
| * Disallow mixing multi-present-mode swapchains in slink:VkPresentInfoKHR |
| (public issue 2151). |
| * Clarify mapping between wait semaphores and fences for |
| slink:VkSwapchainPresentFenceInfoEXT (public pull request 2152). |
| * Fix incorrect link to `GLSL_EXT_shader_tile_image` extension |
| specification (public pull request 2178). |
| * Fix formatting issues in apiext:VK_KHR_maintenance5 (public pull request |
| 2180). |
| * Fix bad explanation of |
| slink:VkBufferUsageFlags2CreateInfoKHR::pname:usage (public pull request |
| 2182). |
| * Fix markup to improve short descriptions for some |
| apiext:VK_NV_device_generated_commands_compute command and structure |
| refpages (public issue 2184). |
| * Fix VUs for flink:vkGetQueryPoolResults and |
| flink:vkCmdCopyQueryPoolResults to disallow |
| ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR for performance queries |
| (public issue 2185). |
| |
| Internal Issues |
| |
| * Add some VUs for bind buffer and image commands to require that buffers |
| created with the |
| ename:VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT flag |
| must only be bound to device memory that was likewise allocated |
| (internal merge request 5993). |
| * Add slink:VkGraphicsPipelineCreateInfo and common draw vertex binding |
| VUs for 64-bit input component count matching (internal merge request |
| 6008). |
| * Remove duplicate mesh shading apiext:VK_EXT_shader_object VUs (internal |
| merge request 6031). |
| * Add missing apiext:SPV_AMDX_shader_enqueue <spirvextension> tag |
| (internal merge request 6043). |
| * Add CI check to `xml_consistency.py` for `_RESERVED_` enums in |
| non-disabled extensions (internal merge request 6044). |
| * Consolidate VUs in the <<clears, Clear Commands>> chapter (internal |
| merge request 6043). |
| * Fix suffixes of incorrectly named flags for apiext:VK_KHR_maintenance5, |
| and update XML extension dependencies for those flags (internal merge |
| request 6050). |
| * Add missing <<features-cooperativeMatrix, cooperativeMatrix>> |
| requirement for apiext:VK_KHR_cooperative_matrix (internal merge request |
| 6051). |
| |
| ----------------------------------------------------- |
| |
| Change log for July 28, 2023 Vulkan 1.3.260 spec update: |
| |
| Internal Issues |
| |
| * Refactor `parse_dependency.py:dependencyLanguage()` into a more useful |
| form for downstream components such as the validation layers (internal |
| issue 3555). |
| * Add CI check to `xml_consistency.py` for API names added by extensions |
| which have suffix inconsistencies (internal issue 3568). |
| * Add notes to flink:vkCreateAccelerationStructureKHR and |
| flink:vkCreateMicromapEXT about data capture/replay (internal merge |
| request 6015). |
| * Add missing explicit common parent VUs for flink:vkCreateImageView and |
| flink:vkGetMicromapBuildSizesEXT (internal merge request 6016). |
| * Add VU to slink:VkCommandBufferBeginInfo requiring the |
| pname:commandBuffer support graphics operations (internal merge request |
| 6025). |
| * Unify unavailable query VUs for flink:vkCmdWriteTimestamp and |
| flink:vkCmdWriteTimestamp2 (internal merge request 6027). |
| * Make slink:VkGraphicsPipelineLibraryCreateInfoEXT::pname:pNext a `const` |
| pointer (internal merge request 6028). |
| |
| New Extensions |
| |
| * apiext:VK_KHR_maintenance5 |
| * apiext:VK_AMDX_shader_enqueue |
| |
| ----------------------------------------------------- |
| |
| Change log for July 21, 2023 Vulkan 1.3.259 spec update: |
| |
| Internal Issues |
| |
| * Remove dangling reference to nonexistent |
| `StdVideoH265ShortTermRefPicsSps` in `video.xml` (internal issue 3565). |
| * Rename ftext:vkCmdUpdatePipelineIndirectBuffer to |
| flink:vkCmdUpdatePipelineIndirectBufferNV in the just-released |
| apiext:VK_NV_device_generated_commands_compute extension (internal issue |
| 3568). |
| * Add a CI check for undefined attributes in the spec build (internal |
| issue 3567). |
| |
| ----------------------------------------------------- |
| |
| Change log for July 21, 2023 Vulkan 1.3.258 spec update: |
| |
| Github Issues |
| |
| * Add a note explaining subgroup vs. dynamically uniform to the |
| <<shaders-scope-device, Device>> section (public pull request 2118). |
| * Fix video std headers to respect VK_NO_STDINT_H, |
| involving minor changes to dependencies in `video.xml` as well as the |
| header generator script (public issue 2155). |
| |
| Internal Issues |
| |
| * Add spec language and VUs to allow applications to set various members |
| of slink:VkGraphicsPipelineCreateInfo to be NULL if all the members of |
| the structs they point to are set as dynamic (internal issue 3263). |
| * Ban attachment aliasing and color masks with RGB9E5 format. Changes |
| affect common draw VUs, flink:vkCmdSetColorWriteMaskEXT, |
| slink:VkGraphicsPipelineCreateInfo, slink:VkRenderingInfo, |
| flink:vkCmdBeginRenderPass, and flink:vkCmdBeginRenderPass2 (internal |
| issues 3338, 3538). |
| * Fix typo in structure name for slink:VkSubpassDescription2 VU 06251 |
| (internal issue 3483). |
| * Condense buffer memory barrier VUs, pipeline VUs, and a few |
| miscellaneous VUs now that embedded asciidoc conditional markup is |
| allowed within a VU statement (internal issue 3543). |
| * Use explicit structure member initializer syntax instead of comments |
| with the member name consistently in code samples (internal issue 3550). |
| * Fix misuse of etext:VK_API_VERSION* in XML `<spirvcapabilities>` tags, |
| and add a CI test to prevent recurrence (internal issue 3559). |
| * Add VU for slink:VkDescriptorSetLayout sets used by |
| flink:vkCmdSetDescriptorBufferOffsetsEXT (internal issue 3560). |
| * Explicitly say that flink:vkCreateAccelerationStructure does not write |
| to the buffers in the introduction to the <<resources, Resource |
| Creation>> chapter and for flink:vkCreateAccelerationStructureNV, |
| flink:vkCreateAccelerationStructureKHR, and flink:vkCreateMicromapEXT |
| (internal merge request 5914). |
| * Add a NOTE regarding ename:VK_IMAGE_LAYOUT_UNDEFINED to the |
| <<synchronization-image-layout-transitions, Image Layout Transitions>> |
| section (internal merge request 5962). |
| * Fix interpretation of variable descriptor count zero in |
| slink:VkDescriptorSetVariableDescriptorCountLayoutSupport (internal |
| merge request 5983). |
| * Fix slink:VkRenderPassBeginInfo VU to include a clause for |
| slink:VkMultisampledRenderToSingleSampledInfoEXT (internal merge request |
| 5996). |
| * Add HLSL spirv-intrinsics mapping for |
| apiext:VK_NV_ray_tracing_invocation_reorder appendix and for the |
| `VK_KHR_ray_tracing_position_fetch` proposal document (internal merge |
| requests 6002, 6005). |
| |
| New Extensions |
| |
| * apiext:VK_EXT_host_image_copy |
| * apiext:VK_NV_device_generated_commands_compute |
| |
| ----------------------------------------------------- |
| |
| Change log for July 7, 2023 Vulkan 1.3.257 spec update: |
| |
| Github Issues |
| |
| * Clarify flink:vkGetQueryPoolResults with |
| ename:VK_QUERY_RESULT_WITH_AVAILABILITY_BIT and interactions with |
| ename:VK_QUERY_RESULT_64_BIT affecting size of the returned values |
| (public issue 1086). |
| * Fix link markup in one of the proposal documents (public merge request |
| 2160). |
| |
| Internal Issues |
| |
| * Attempt to tidy up feedback loop guarantees in common draw VUs, |
| elink:VkPipelineDepthStencilStateCreateFlagBits, |
| elink:VkPipelineColorBlendStateCreateFlagBits, |
| slink:VkRenderingAttachmentInfo, and by reference to the new |
| <<renderpass-load-operations, Render Pass Load Operations>>, |
| <<renderpass-store-operations, Render Pass Store Operations>>, and |
| <<renderpass-resolve-operations, Render Pass Multisample Resolve |
| Operations>> sections (internal issues 3375, 3403, 3517). |
| * Modify boilerplate language for pname:sType structure members to refer |
| to them as elink:VkStructureType values (internal issue 3493). |
| * Describe that the <<interfaces-iointerfaces-builtin, mesh shader output |
| interface>> can have two built-in interface blocks (internal issue |
| 3509). |
| * Add slink:VkDeviceGroupRenderPassBeginInfo and slink:VkRenderingInfo VUs |
| for zero-sized pname:renderArea (internal issue 3535). |
| * Generate a warning comment for preprocessor guard definitions in the |
| generated C headers. This will show up in some IDEs and may help prevent |
| e.g. use of `VK_VERSION_1_3` as a parameter to API calls (internal issue |
| 3537). |
| * Remove check in reflow.py that did not allow embedded conditionals in VU |
| statement markup (internal issue 3545). |
| * Reduce duplication of spec language in the <<Cooperative Matrices>> |
| section, where the apiext:VK_KHR_cooperative_matrix interfaces are |
| similar to, but not promoted from the apiext:VK_NV_cooperative_matrix |
| interfaces (internal issue 3547). |
| * Fix shader tile image access for depth/stencil images in |
| elink:VkAccessFlagBits2 and elink:VkAccessFlagsBits (internal merge |
| request 5912) |
| * Fix missing VUs for apiext:VK_EXT_depth_bias_control (internal merge |
| request 5967). |
| * Update slink:VkPipelineShaderStageCreateInfo VU 02756 with task and mesh |
| shader interactions (internal merge request 5977). |
| * Add test cases to CI for nested lists and math blocks in VU statements, |
| which are now allowed (internal merge request 5984). |
| * Remove code:CrossWorkgroup from the allowed storage classes in |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| (internal merge request 5987). |
| * Add missing `<spirvextension>` XML tags for |
| apiext:VK_ARM_shader_core_builtins (internal merge request 5988). |
| * Add more CI checks for preferred orthography and fix problems identified |
| by them (internal merge request 5991). |
| |
| ----------------------------------------------------- |
| |
| Change log for June 30, 2023 Vulkan 1.3.256 spec update: |
| |
| GitHub Issues |
| |
| * Fix minor typos (public pull requests 2154 and 2157). |
| * Fix XML `<format>` metadata for etext:VK_FORMAT_R64G64* and |
| ename:VK_FORMAT_BC*_SNORM_BLOCK (public pull request 2156). |
| |
| Internal Issues |
| |
| * Specify fragment stage when accessing color attachment via shader tile |
| image reads for ename:VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT and |
| ename:VK_ACCESS_COLOR_ATTACHMENT_READ_BIT (internal merge request 5918). |
| * Clarify in which stages subgroup control flags |
| ename:VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT |
| and ename:VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, as |
| well as their apiext:VK_EXT_shader_object variants, are allowed to be |
| set (internal issue 3529). |
| * Fix typo to pname:depth in flink:vkCmdBindInvocationMaskHUAWEI VUID |
| 04983 (internal merge request 5958). |
| * Rename ename:VK_PIPELINE_STAGE_2_SUBPASS_SHADING_HUAWEI to |
| ename:VK_PIPELINE_STAGE_2_SUBPASS_SHADER_HUAWEI (internal merge request |
| 5959). |
| * Modify the VU extraction script to correctly handle content that is not |
| plain text, such as nested bullets or blocks (internal merge request |
| 5964). |
| * Add a NOTE to the <<pipelines-cache-header, Pipeline Cache Header>> |
| section and move one related VU statement. Fix handling of queue types |
| with dependencies in generator scripts (internal merge request 5965). |
| * Remove explicit `optional="false"` syntax from the XML schema for |
| command `param` and structure `member` tags (internal merge request |
| 5970). |
| * Refactor README.adoc to move Vulkan and VulkanSC-specific language into |
| READMEVK.adoc and READMESC.adoc, respectively (internal merge request |
| 5971). |
| * Update registry schema document with a current example of `externsync` |
| for arrays (internal merge request 5975). |
| |
| ----------------------------------------------------- |
| |
| Change log for June 23, 2023 Vulkan 1.3.255 spec update: |
| |
| GitHub Issues |
| |
| * Fix XML `<format>` metadata for ename:VK_FORMAT_B10G11R11_UFLOAT_PACK32 |
| and ename:VK_FORMAT_B5G5R5A1_UNORM_PACK16 (public pull requests 2145, |
| 2147). |
| |
| Internal Issues |
| |
| * Only extract VU statements for the currently built specification, |
| allowing placing conditional markup inside VU statements and the |
| simplification or elimination of many VUs that previously had to be |
| replicated for extension-dependent behavior (internal issue 3387). |
| * Add missing Description section to the |
| apiext:VK_EXT_swapchain_colorspace extension appendix (internal issue |
| 3463). |
| * Add VU to disable ftext:vkCmdBeginQuery* with micromap queries (internal |
| issue 3511). |
| * Add apiext:VK_EXT_calibrated_timestamps proposal document, and update |
| some of the specification language and notes for |
| flink:vkCmdWriteTimestamp2KHR and flink:vkCmdWriteTimestamp (internal |
| issue 3521). |
| |
| New Extensions |
| |
| * apiext:VK_KHR_cooperative_matrix |
| |
| ----------------------------------------------------- |
| |
| Change log for June 16, 2023 Vulkan 1.3.254 spec update: |
| |
| GitHub Issues |
| |
| * Clarify discard behavior of dynamic rendering with unused attachments |
| (public issue 2125). |
| |
| Internal Issues |
| |
| * Fix typos in execution modes for fragment depth and stencil writes in |
| the <<fragops, Fragment Operations>> chapter (internal issue 3519). |
| * Add slink:VkDescriptorAddressInfo VUs disallowing descriptors with zero |
| range unless pname:nullDescriptor is enabled (internal merge request |
| 5929). |
| * Add asciidoctor conditional mismatch check to spec build (internal merge |
| request 5948). |
| * Remove unused `start` and `end` attributes from `enum` tags in the |
| registry documentation and schema (internal merge request 5951). |
| * Clarify flink:vkEndCommandBuffer error behavior (internal vulkansc issue |
| 184). |
| |
| New Extensions |
| |
| * apiext:VK_EXT_depth_bias_control |
| * apiext:VK_QNX_external_memory_screen_buffer |
| |
| ----------------------------------------------------- |
| |
| Change log for June 9, 2023 Vulkan 1.3.253 spec update: |
| |
| GitHub Issues |
| |
| * Require the pname:accelerationStructure feature for acceleration |
| structure commands (public issue 2134). |
| * Fix slink:VkAccelerationStructureCreateInfoKHR::pname:flags typo to |
| pname:createFlags (public pull request 2140). |
| |
| Internal Issues |
| |
| * Various fixes to the provisional video encode APIs for rate control, |
| capabilities, and other improvements (internal issues 2213, 3013, 3137, |
| 3138, 3139, 3386, 3440). |
| * Add XML representation of pipeline stage ordering relationships and use |
| it to generate markup artifacts including stage flag definitions, |
| ordering, and the <<synchronization-pipeline-stages-supported, Supported |
| pipeline stage flags>> table (internal issue 3260). |
| * Clarify <<vkGetPhysicalDeviceVideoFormatPropertiesKHR, video format |
| query interactions>> by reference to a new |
| <<format-feature-dependent-usage-flags, Format Feature Dependent Usage |
| Flags>> section (internal issue 3491). |
| * Add slink:VkGraphicsPipelineCreateInfo and common draw vertex binding |
| VUs for 64-bit input components (internal merge request 5869). |
| * Improve slink:VkImageViewCreateInfo VUs for |
| apiext:VK_NV_linear_color_attachment (internal merge request 5884). |
| * Update precision for code:normalize() instruction in the <<Precision of |
| GLSL.std.450 Instructions>> table (internal merge request 5923). |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for June 1, 2023 Vulkan 1.3.252 spec update: |
| |
| Internal Issues |
| |
| * Merge Vulkan SC build and support scripts into Vulkan repository. This |
| will ease keeping the two repositories closely synchronized (internal |
| merge request 5930). |
| * Update precision for code:degrees() and code:radians() instructions |
| in the <<Precision of GLSL.std.450 Instructions>> table |
| (internal merge request 5922). |
| * Fix definition of code:ulp() in the |
| <<spirvenv-op-prec, Precision of Individual Operations>> |
| section to limit the definition to finite numbers |
| (internal merge request 5924). |
| * Add view mask VU to slink:VkFramebufferCreateInfo for |
| apiext:VK_KHR_fragment_shading_rate (internal merge request 5932). |
| |
| New Extensions |
| |
| * apiext:VK_EXT_external_memory_acquire_unmodified |
| |
| ----------------------------------------------------- |
| |
| Change log for May 28, 2023 Vulkan 1.3.251 spec update: |
| |
| GitHub Issues: |
| |
| * VUs for graphics pipelines have been reworked regarding state subsets, |
| along with the sections describing those state subsets. VUs that |
| previously ambiguously stated "`If the pipeline is _created with_ <state |
| subset>...`" now instead state "`If the pipeline _requires_ <state |
| subset>...`" Those VUs link to the state subset descriptions, which |
| previously did not actually indicate anything about when they were |
| required, which was instead left to the section on complete subsets. The |
| subset sections now document their own independent requirements for when |
| they are needed, so that the VUs explicitly point to relevant text. |
| Additional VUs have also been added to mirror these updated sections, |
| uncovering a handful of incorrect edge cases and clarifying them. |
| Previous VUs that required a complete pipeline were now redundant, so |
| have been removed. (public issue 1793). |
| * Add missing code:SPV_EXT_opacity_micromap to XML (public pull request |
| 2131). |
| * Fix typo in code:SPV_INTEL_shader_integer_functions2 XML (public pull |
| request 2132). |
| |
| Internal Issues |
| |
| * Use "`commands are called *in* a command buffer`" rather than "`*on* a |
| command buffer`", and add this case to the style guide (internal issue |
| 3480). |
| * Fix common draw dispatch VU 07753 for the |
| slink:VkImageView::pname:format to match the code:OpTypeImage |
| code:Sampled code:Type (internal issue 3481). |
| * Create common draw and slink:VkGraphicsPipelineCreateInfo VUs for |
| pname:alphaToCoverageEnable (internal merge request 5811). |
| * Add elink:VkDynamicState entry for |
| ename:VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT (internal |
| merge request 5894). |
| * Use consistent wording for VUs referring to external memory handles |
| (internal merge request 5895). |
| * Remove redundant <<spirvenv-module-validation-standalone, Standalone |
| SPIR-V Validation>> VU 04662 (internal merge request 5898). |
| * Revert common draw VU 07620, which was accidentally removed by |
| apiext:VK_EXT_shader_object (internal merge request 5899). |
| * Allow slink:VkVideoDecodeInfoKhr::pname:pReferenceSlots to be `NULL` in |
| its description (internal merge request 5900). |
| * Fix slink:VkGraphicsPipelineCreateInfo pipeline topology VUs when |
| pname:dynamicPrimitiveTopologyUnrestricted is set and the dynamic state |
| is enabled (internal merge request 5916). |
| |
| New Extensions |
| |
| * apiext:VK_EXT_dynamic_rendering_unused_attachments |
| |
| ----------------------------------------------------- |
| |
| Change log for May 4, 2023 Vulkan 1.3.250 spec update: |
| |
| GitHub Issues: |
| |
| * Fix common image subresource VUs for fname:vkGetImageSubresourceLayout* |
| with planar images (public issue 2109). |
| * Fix URL in BUILD.adoc (public merge request 2116). |
| * Split up ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT VU for |
| slink:VkImageCreateInfo (public issue 2117) |
| |
| Internal Issues |
| |
| * Add some missing VUs for apiext:VK_EXT_shader_object (internal issue |
| 3449). |
| * Add a <<shaders-binding, Binding Shaders>> section and refer to it from |
| some apiext:VK_EXT_shader_object VUs, collapsing and simplifying them |
| (internal issue 3425). |
| * Fix flink:vkGetImageSubresourceLayout2EXT to refer to the output |
| structure as undefined for ename:VK_IMAGE_TILING_OPTIMAL, rather than |
| the input structure (merge request 5870). |
| * Add ename:VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT to the |
| slink:VkPipelineColorBlendStateCreateInfo::pname:pAttachments |
| description (merge request 5873). |
| * Clarify how to get slink:VkExternalBufferProperties in |
| slink:VkMemoryAllocateInfo VU 00639 (merge request 5873). |
| * Replace `~~~~` delimiter for nested open/source blocks with `----`, |
| using a custom extension to treat the listing block as an open block |
| where needed for continuations (merge request 5886). |
| * Fix common stage mask VUIDs 07946, 07947, 07949, and 07950 to |
| incorporate the stage mask name and avoid duplication (internal merge |
| request 5886). |
| |
| New Extensions |
| |
| * apiext:VK_EXT_attachment_feedback_loop_dynamic_state |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for April 27, 2023 Vulkan 1.3.249 spec update: |
| |
| GitHub Issues: |
| |
| * Add a non-normative NOTE on variability in |
| <<textures-texel-anisotropic-filtering, Texel Anisotropic Filtering>> |
| implementations, and move the theoretical implementation described in |
| that section into the NOTE (public issue 1361). |
| * Fix XML attributes of slink:VkMicromapEXT structure members to allow |
| `NULL` handles (public issue 2114). |
| |
| Internal Issues |
| |
| * Clarify common draw VUs for attachment read feedback loops (internal |
| issue 3439). |
| * Add flink:vkCmdCopyQueryPoolResults VU requiring queries to have been |
| made available by prior executed commands (internal issue 3451). |
| * Relax ptext:*DescriptorSize limits to 256 bytes max in the |
| <<limits-required, Required Limits>> table (internal issue 3456). |
| * Mention shader objects in definitions of code:SubgroupLocalInvocationId |
| and code:SubgroupSize built-ins (internal issue 3459). |
| * Use numeric format (e.g. etext:*SFLOAT), numeric type (e.g. "`float`"), |
| and SPIR-V type (e.g. code:OpTypeFloat, width, sign) consistently in the |
| specification, rather than mixing and matching by accident (internal |
| merge request 5627). |
| * Add <<spirvenv-module-validation-runtime, |
| Runtime SPIR-V Validation>> VUs for Mesh and Task |
| code:max*Size using the same wording as for |
| code:maxComputeSharedMemorySize (internal merge request 5804). |
| * Add missing `const` to |
| slink:VkVideoDecodeH265PictureInfoKHR::pname:pStdPictureInfo (internal |
| merge request 5859). |
| * Convert `scripts/genanchorlinks.py` script into an asciidoctor |
| extension. |
| |
| New Extensions |
| |
| * apiext:VK_KHR_ray_tracing_position_fetch |
| |
| ----------------------------------------------------- |
| |
| Change log for April 20, 2023 Vulkan 1.3.248 spec update: |
| |
| GitHub Issues: |
| |
| * Clarify when <<deferred-host-operations-requesting, parameter access for |
| deferred commands>> can be done (public issue 2092). |
| * Clarify <<fundamentals-objectmodel-lifetime, object lifetimes for |
| deferred commands>> (public issue 2100). |
| * Add missing :refpage: markup to pages that use commonvalidity VUs, so |
| the API portion of the VUID is rendered correctly (public issue 2104). |
| |
| Internal Issues |
| |
| * Update slink:VkFragmentShadingRateCombinerOpKHR language to address |
| differences between Fragment Shading Rate clamping and DX Variable |
| Shading Rate input sanitization (internal issue 3339). |
| * Add common VU for slink:VkAttachmentDescription2 and |
| slink:VkAttachmentReference2KHR, and VU to |
| slink:VkGraphicsPipelineCreateInfo, to ensure render pass and pipeline |
| sample counts are valid, and related specification language in |
| <<renderpass-noattachments>> (internal issue 3422). |
| * Clarify that <<textures-texel-mipmap-filtering, minmax filtering applies |
| between mip levels>> (internal issue 3450). |
| * Add ename:VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT to |
| slink:VkPipelineColorBlendStateCreateInfo attachment VUs 07353 and 07608 |
| (internal issue 3455). |
| * Fix "`fragment output interface`" -> "`fragment shader state`" typo in |
| slink:VkGraphicsPipelineCreateInfo VUs 06485 and 06486 (internal MR |
| 5824). |
| * Collapse redundancies in dynamic state VUs for |
| slink:VkGraphicsPipelineCreateInfo and |
| slink:VkPipelineViewportStateCreateInfo (internal MR 5838). |
| * Collapse redundancies in dynamic state VUs for |
| slink:VkGraphicsPipelineCreateInfo and |
| slink:VkGraphicsPipelineCreateInfo (internal MR 5853). |
| * Clarify source of the custom border color in a NOTE to |
| slink:VkSamplerCustomBorderColorCreateInfoEXT and a footnote to the |
| <<textures-border-replacement-table, Border Texel Components After |
| Replacement>> table (internal MR 5855). |
| * Update registry scripts to enable using combined Vulkan and Vulkan SC |
| registry entries to generate combined headers for use with SC ecosystem |
| tooling (internal MR 5858). |
| * Add <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> VU |
| to require decorations to match between shader stages (internal MR |
| 5861). |
| |
| ----------------------------------------------------- |
| |
| Change log for April 12, 2023 Vulkan 1.3.247 spec update: |
| |
| GitHub Issues: |
| |
| * Fix typo in apiext:VK_EXT_shader_object sample code (public PR 2094). |
| * Experimental Antora site generator code for Vulkan Documentation Project |
| demo - see https://github.com/KhronosGroup/Vulkan-Site/ for more |
| information and links to the live site demo (public PR 2097). |
| * Fix typo to code:StdVideoDecodeH265ReferenceInfo <<decode-h265, H.265 |
| Decode Operations>> (public PR 2098). |
| |
| Internal Issues |
| |
| * Improve wording for code:Location VUs 04917 and 04919 (internal issue |
| 2737). |
| * Add wording about host write guarantees and non-temporal instructions |
| for flink:vkDeviceWaitIdle (internal issue 3404). |
| * Clarify undefined values in the <<interfaces-fragmentoutput, Fragment |
| Output Interface>> section, and improve the explanation of how fragment |
| shader interfaces work (internal issue 3416). |
| * Add `ratification` status attribute to <extension> XML and reflect it in |
| the extension appendix metadata. Add new '-spec ratified' option to |
| `makeSpec` script (internal issue 3417). |
| * Add a commonvalidity file `shader_create_spv_common.adoc` for creating |
| SPIR-V shaders and use it for slink:VkShaderCreateInfoEXT and |
| slink:VkShaderModuleCreateInfo (internal issue 3426). |
| * Errata and wording improvements to apiext:VK_EXT_shader_object (internal |
| issue 3435). |
| * Restore two missing members that were inadvertently removed from the XML |
| definition of slink:VkDeviceFaultVendorBinaryHeaderVersionOneEXT. This |
| is not a functional change to the specification, and is approved by the |
| implementations of the apiext:VK_EXT_device_fault extension (internal |
| issue 3443). |
| * Add VUs for common draw vertex binding and |
| slink:VkGraphicsPipelineCreateInfo so the vertex input has matching |
| signed int / unsigned int / float type in both the shader and the |
| pipeline (internal MR 5627). |
| * Mention <<pipelines-graphics-subsets-vertex-input, vertex input state>> |
| in slink:VkGraphicsPipelineCreateInfo VUs 00736 and 00737 (internal MR |
| 5783). |
| * Cleanup <<spirvenv, SPIR-V Environment>> appendix to use code: markup |
| consistently on SPIR-V keywords (internal MR 5823). |
| * Grammar, markup, and typo fixes for the |
| apiext:VK_HUAWEI_cluster_culling_shader extension (internal MR 5827). |
| * Use host networking in `scripts/runDocker` (internal MR 5834). |
| * Clean up apiext:VK_EXT_shader_object language and extension dependencies |
| when building a spec with just this extension included (internal MR |
| 5837). |
| * Add <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> VU |
| to ensure there is a shader output for every shader input slot (internal |
| MR 5843). |
| * Fix code:OutputVertices language for apiext:VK_EXT_shader_object in the |
| <<tessellation, Tessellator>> section to refer to the control stage, not |
| the evaluation stage (internal MR 5846). |
| |
| ----------------------------------------------------- |
| |
| Change log for March 31, 2023 Vulkan 1.3.246 spec update: |
| |
| GitHub Issues: |
| |
| * Remove redundant "`input attachment`" wording in descriptions of |
| ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT and |
| ename:VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT (public issue |
| 2083). |
| * Add a NOTE describing state of buffers passed in |
| flink:vkBindBufferMemory2::pname:pBindInfos if the command fails (public |
| issue 2086). |
| |
| Internal Issues |
| |
| * Add new <<spirvenv-module-validation-runtime, Runtime SPIR-V VUs>> |
| restricting code:OpTypeImage multisampling to be consistent the |
| slink:VkImageCreateInfo::pname:samples its bound image was created with |
| (internal issue 2426). |
| * Clarify that <<primsrast-sampleshading, sample interpolation>> enables |
| sample shading (internal issue 2872). |
| * Add <<spirvenv-module-validation-standalone, Standalone SPIR-V VUs>> for |
| multiple code:OpVariable for one code:Location, and use code:Location |
| and code:Component terminology consistently in related parts of the |
| specification, rather than informal equivalent terms (internal MR 5630). |
| * Add a new <<spirvenv-module-validation-runtime, Runtime SPIR-V VUs>> |
| preventing code:InputAttachmentIndex overlaps (internal MR 5759). |
| * Move apiext:VK_NV_displacement_micromap interfaces to the provisional |
| `vulkan_beta.h` header (internal MR 5812). |
| * Remove redundant common validity VU 07977 for buffer alignment in buffer |
| <-> image copies (internal MR 5814). |
| * Remove redundant slink:VkWriteDescriptorSet VU 07729 (internal MR 5815). |
| * Describe multi-planar aspect masks consistently in VU statements |
| (internal MR 5816). |
| * Fix ptext:width -> pname:height typo in slink:VkRenderingInfo VU 07816 |
| (internal MR 5817). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_shader_object |
| * apiext:VK_EXT_shader_tile_image |
| |
| ----------------------------------------------------- |
| |
| Change log for March 24, 2023 Vulkan 1.3.245 spec update: |
| |
| GitHub Issues: |
| |
| * Tighten wording for <<descriptorsets-compatibility, Pipeline Layout |
| Compatibility>> (public issue 1853). |
| * Attempt to clarify "`supported`" vs. "`enabled`" in the |
| <<extendingvulkan-device-extensions, Device Extensions>>, |
| <<fundamentals-validusage-extensions, Valid Usage for Extensions>>, and |
| <<extendingvulkan-instanceanddevicefunctionality, Instance and Device |
| Functionality>> sections (public issue 2035). |
| * Fix markup typo (public issue 2089). |
| |
| |
| Internal Issues |
| |
| * Fix slink:VkRayTracingPipelineCreateInfoKHR VU interactions in the |
| presence of stages and groups (internal issue 3104). |
| * Fix standalone SPIR-V VU 04924 to clarify components can also be arrays |
| of scalars or vectors (internal issue 3411). |
| * Add anchors for all <<interfaces-builtin-variables, Built-In Variables>> |
| (internal issue 3418). |
| * Add common image layout transition VUs to prevent inconsistent image |
| barrier with separate depth/stencil (internal MR 5634). |
| * Add NOTE of intended use cases for slink:VkDirectDriverLoadingListLUNARG |
| to the description of slink:VkInstanceCreateInfo (internal MR 5692). |
| * Update Khronos specification license terms to the latest version |
| (internal MR 5717). |
| * Fix slink:VkGraphicsPipelineCreateInfo VU 07725 requirement that |
| code:PointSize be written to for every vertex emitted (internal MR |
| 5790). |
| * Set missing `refpage` attribute when including some pipeline common |
| VUIDs (internal MR 5795). |
| * Add missing VUs to flink:vkCmdPushDescriptorSetWithTemplateKHR (internal |
| MR 5798). |
| * Fix style guide word choice table markup problem that resulted in |
| off-by-one column errors (internal MR 5808). |
| * Use style guide preferred form of "`depth/stencil format`" (internal MR |
| 5810). |
| |
| New Extensions: |
| |
| * apiext:VK_NV_displacement_micromap |
| |
| ----------------------------------------------------- |
| |
| Change log for March 17, 2023 Vulkan 1.3.244 spec update: |
| |
| GitHub Issues: |
| |
| * Fix typo in |
| slink:VkDeviceGroupRenderPassBeginInfo::pname:deviceRenderAreaCount |
| (public issue 2078). |
| |
| Internal Issues |
| |
| * Move copy attribute's pname: to commonvalidity attributes to aid with |
| VUID generation (internal MR 5781). |
| * Add a .mailmap file (internal MR 5786). |
| * Refactor pipeline layout consistency VUs for |
| slink:VkComputePipelineCreateInfo, slink:VkGraphicsPipelineCreateInfo, |
| and slink:VkRayTracingPipelineCreateInfoNV into common validity |
| statements (internal MR 5750). |
| * Make VUID tag generation prioritize attributes, helping ensure tags are |
| unique when the same common validity file is included twice in the same |
| VU block (internal MR 5791). |
| |
| New Extensions: |
| |
| * apiext:VK_KHR_map_memory2 |
| |
| ----------------------------------------------------- |
| |
| Change log for March 12, 2023 Vulkan 1.3.243 spec update: |
| |
| GitHub Issues: |
| |
| * Clarify descriptions of |
| ename:VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT and |
| ename:VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT to include missing |
| operations and properly refer to advanced blend operations (public issue |
| 2047). |
| * Add specification language for ename:VK_REMAINING_3D_SLICES_EXT (public |
| issue 2063). |
| * Fix some out of date cross-references and citations. Update normative |
| reference sections and cite them appropriately in the specification, |
| registry schema, and style guide documents (public issue 2069). |
| * Reverse aliasing of ename:VK_PIPELINE_CACHE_CREATE_READ_ONLY_BIT to a |
| reserved bit for Vulkan SC (public issue 2070). |
| * Add Mobileye vendor ID reservation (public pull request 2076). |
| |
| Internal Issues |
| |
| * Updates to provisional video encode extensions including minor API |
| changes - see change logs in the apiext:VK_EXT_video_encode_h264, |
| apiext:VK_EXT_video_encode_h265, and apiext:VK_KHR_video_encode_queue |
| extension appendices for more details (internal issue 3329). |
| * Add VU logic for ename:VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT to |
| common draw, flink:vkCmdBindPipeline, and |
| slink:VkGraphicsPipelineCreateInfo (internal issue 3355). |
| * Add to the NOTE in the <<queries-occlusion, Occlusion Queries>> section |
| describing possible differences in query results between implementations |
| even when ename:VK_QUERY_CONTROL_PRECISE_BIT is specified (internal |
| issue 3364). |
| * Fix a few pname:pNext pointer input-only structure members defined by |
| apiext:VK_EXT_swapchain_maintenance1 to add `const` qualifiers in XML |
| (internal issue 3367). |
| * Clarify why setting the stride with flink:vkCmdBindVertexBuffers2 has |
| additional restrictions relative to setting the static state, and add a |
| corresponding issue to the apiext:VK_EXT_extended_dynamic_state appendix |
| (internal issue 3391). |
| * Fix reflow script so VUID tag generation / duplicate checking can be |
| performed independently of text reflowing (internal issue 3394). |
| * Fix some incorrectly rewritten text that looks like a link, but is not, |
| in refpage source code blocks (internal issue 3401). |
| * Add code:Vertex code:Location restrictions when dynamic vertex input |
| state is enabled to common draw vertex binding and |
| slink:VkGraphicsPipelineCreateInfo VUs (internal merge request 5541). |
| * Refactor some common image copy VUs (internal merge request 5659). |
| * Refactor common image copy VUs not affected by |
| apiext:VK_QCOM_rotated_copy (internal merge request 5660). |
| * Update XML `<extension>` dependencies for VulkanSC in cases where an |
| extension has been promoted to core in that API, but the extension |
| itself is not supported (internal merge request 5723). |
| * Call out extension and feature dependencies explicitly in some VUs |
| (internal merge request 5737). |
| * Fix typo in asciidoctor conditional markup for |
| slink:VkPipelineShaderStageCreateInfo VU 06716. (internal merge request |
| 5726). |
| * Update wording of slink:VkImageViewSlicedCreateInfoEXT specifying when |
| this structure is ignored (internal merge request 5734). |
| * Fix wording of slink:VkD3D12FenceSubmitInfoKHR VUs 00079 and 00080 |
| (internal merge request 5742). |
| * Use "`component`" consistently when referring to pname:format arguments, |
| replacing "`aspect`" (internal merge request 5746). |
| * Add missing slink:VkImageViewSlicedCreateInfoEXT VU for pname:viewType |
| (internal merge request 5749). |
| * Remove redundant slink:vkCmdClearAttachments dynamic rendering VUs 07882 |
| and 07883 (internal merge request 5751). |
| * Remove redundant slink:VkGraphicsPipelineCreateInfo code:InputAttachment |
| dynamic rendering VU 06056 (internal merge request 5752). |
| * Fix description of mesh shader execution modes in the |
| apiext:VK_EXT_mesh_shader proposal document (internal merge request |
| 5756). |
| * Minor updates to apiext:VK_HUAWEI_cluster_culling_shader extension APIs. |
| These are incompatible changes but the vendor driver release with this |
| extension has not been published, so there should be no user impact |
| (internal merge request 5767). |
| * Restructure <<fundamentals-validusage-enums, Valid Usage for Enumerated |
| Types>> and <<fundamentals-validusage-flags, Valid Usage for Flags>> |
| sections to make clear that the rules for enums and flag bits follow the |
| same formula, and be more precise in defining interactions with |
| extensions and core versions (internal merge request 5769). |
| * Make normative text and NOTE in the |
| <<synchronization-pipeline-stages-masks>> section consistent (internal |
| merge request 5772). |
| * Refactor single-sampled requirement of copy commands into common VU |
| statements (internal merge request 5776). |
| |
| ----------------------------------------------------- |
| |
| Change log for February 26, 2023 Vulkan 1.3.242 spec update: |
| |
| GitHub Issues: |
| |
| * Separate reflow document traversal and internal logic (public pull |
| request 2042). |
| * Specify operator evaluation in XML `depends` expressions must be |
| left-to-right for operators of the same precedence (public pull request |
| 2066). |
| * Revert to only parenthesizizing formal arguments of VK_DEFINE*HANDLE |
| macros in the `vulkansc` api, to work around a bug in MSVC (public issue |
| 2067). |
| |
| Internal Issues |
| |
| * Clarify <<ray-intersection-candidate-determination, ray transform |
| invariance>> with respect to intersection with multiple instances |
| (internal issue 3371). |
| * Fix extraneous `+` sign appearing in dependency section of extension |
| refpages (internal issue 3382). |
| * Add draw dispatch common VU for |
| ename:VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT and new |
| <<resources-buffer-view-format-features, Buffer View Format Features>> |
| section (internal merge request 5597). |
| * Move subpass self-dependency language into slink:VkSubpassDependency and |
| pipeline barrier common VUs (internal merge request 5687). |
| * Typo fix for double words ("`the the`") (internal merge request 5739). |
| * Clarify Vulkan memory model requirements in the <<memory-model, Memory |
| Model>> appendix (internal cross-api/memory-model issue 157). |
| * Remove `update_valid_usage_ids.sh` script, which has not worked for a |
| long time. |
| |
| New Extensions: |
| |
| * apiext:VK_NV_low_latency |
| |
| ----------------------------------------------------- |
| |
| Change log for February 16, 2023 Vulkan 1.3.241 spec update: |
| |
| GitHub Issues: |
| |
| * Clarify apiext:VK_EXT_debug_utils object support (public issue 1668, |
| public pull request 2034). |
| * Fix capitalization typos in a few VUs (public pull request 2050). |
| * Parameterize asciidoc includes of asciidoc files from `vkspec.adoc` |
| using `{chapters}` attribute (public pull request 2051). |
| |
| Internal XML Schema Issues: |
| |
| Several needed XML schema changes are introduced in this update which may |
| impact downstream XML users who are doing their own parsing. Users of our |
| Python generator framework are unlikely to be impacted. If you have |
| difficulty adapting to these changes, please open an issue on the |
| Vulkan-Docs GitHub repository. |
| |
| * Introduce a new `depends` attribute to the XML schema, replacing the |
| `requires` and `requiresCore` attributes of `<extension>` tags, and the |
| `features` and `extension` attributes of `<require>` tags. This is an |
| intentional and unavoidable breaking change, allowing us to correctly |
| express more complex dependencies. XML users doing their own XML parsing |
| and needing this information must treat the `depends` attribute as a |
| boolean expression. This change also adds a description of the different |
| interpretation of device and instance extension dependencies in a single |
| place in the new <<extensions, "`Extension Dependencies`">> section at |
| the start of the extensions appendix, rather than including a |
| boilerplate comment about "`device-level extensions`" with each relevant |
| extension dependency described later in the appendix (internal issue |
| 2883). |
| * Import XML, script, and config file changes from the Vulkan SC spec |
| repository. This change uses the `api` XML attribute to specialize some |
| tags for the Vulkan and Vulkan SC APIs. While this is not a new |
| attribute, it has not been extensively used in this fashion previously |
| in this repository. XML users doing their own XML parsing must now |
| filter out tags with `api` attributes not matching the API they are |
| generating, and must also filter out `<extension>` tags whose |
| `supported` attribute does not include that API (internal issue 3348). |
| * Remove some redundancies from refactored XML dependencies (internal |
| merge request 5713). |
| * Express correct XML dependencies of apiext:VK_KHR_buffer_device_address, |
| now that the new `depends` schema supports that (internal merge request |
| 5721). |
| * Add a new `deprecated` attribute to several tags in XML schema which |
| provides some guidance as to why an API was deprecated. Remove `comment` |
| text which some downstream XML parsers were using to infer deprecation, |
| which was never an intended or supported purpose of the comments (public |
| ash-rs/ash issue 670, internal merge request 5537). |
| |
| Other Internal Issues |
| |
| * Expand the definition of <<fundamentals-validusage-enums, "`valid |
| enumerant value`">> to include whether the extension or core version |
| defining that enumerant is enabled or supported. This has a global |
| effect on corresponding VU statements, and the Vulkan Validation Layer |
| is being updated accordingly (internal issue 2912). |
| * Update the <<synchronization>> chapter in several places to clarify that |
| pipeline barriers work only within a single queue (internal issue 3365). |
| * Add ename:VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR in a |
| few places it was missing, and update description for copy commands to |
| specify where it should be used with apiextVK_KHR_synchronization2 |
| rather than |
| ename:VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR (internal |
| merge request 5604). |
| * Fix typos in `proposals/VK_KHR_video_decode_queue.adoc` (internal merge |
| request 5646). |
| * Add dynamic state to apiext:VK_EXT_discard_rectangles |
| (ename:VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT and |
| ename:VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT) and for |
| apiext:VK_NV_scissor_exclusive |
| (ename:VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV) that was overlooked |
| in apiext:VK_EXT_extended_dynamic_state3. While this is adding |
| functionality to existing extensions, the implementers of these |
| extensions have all signed off on this change (internal merge request |
| 5671). |
| * Disallow ename:VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK in |
| slink:VkDescriptorGetInfoEXT VU 08018 (internal merge request 5681). |
| * Rearrange some language in flink:vkGetRayTracingShaderGroupHandlesKHR |
| and flink:vkGetRayTracingCaptureReplayShaderGroupHandlesKHR to follow |
| the style guide (internal merge request 5683). |
| * Update to new Docker image SHA for CI and building specs (internal merge |
| request 5688). |
| * Add `SPV_EXT_fragment_fully_covered` to XML `<spirvextensions>` section |
| (internal merge request 5689). |
| * Add missing pname:pNext description to |
| slink:VkVideoDecodeH264DpbSlotInfoKHR (internal merge request 5701). |
| * Add missing internal links for the term |
| <<pipelines-graphics-subsets-fragment-shader, fragment shader state>> |
| (internal merge request 5704). |
| * Move ename:VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY VU common draw vertex |
| binding VUs, and word VUs 03420 and 07500 the same, minus the reference |
| to pname:dynamicPrimitiveTopologyUnrestricted (internal merge request |
| 5708). |
| * Ban some advanced blend modes from slink:VkColorBlendEquationEXT that |
| must be set using a different mechanism (internal merge request 5705). |
| * Update copyright dates to 2023, and add CI check for Khronos-copyright |
| files (internal merge request 5716). |
| * Add clarifying NOTE and typo fixes for |
| apiext:VK_HUAWEI_cluster_culling_shader (internal merge request 5718). |
| * Add missing XML dependencies on |
| apiext:VK_KHR_get_physical_device_properties2 to several extensions |
| (internal merge request 5719). |
| * Remove flink:vkCmdResolveImage VUs where pname:srcImage is of type |
| ename:VK_IMAGE_TYPE_3D (internal vulkansc issue 178). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_image_sliced_view_of_3d |
| * apiext:VK_ARM_shader_core_properties |
| * apiext:VK_QCOM_multiview_per_view_render_areas |
| |
| ----------------------------------------------------- |
| |
| Change log for January 26, 2023 Vulkan 1.3.240 spec update: |
| |
| GitHub Issues: |
| |
| * Fix <<limits-maxPushDescriptors, pname:maxPushDescriptors>> description |
| (public pull request 2038). |
| |
| Internal Issues: |
| |
| * Finish banning NULL pipeline layouts in |
| slink:VkGraphicsPipelineCreateInfo VUs (internal merge request 5673). |
| * Fix flink:vkCmdDrawIndirectByteCountEXT VU 02289 to refer to the correct |
| structure name (internal merge request 5674). |
| * Clarify how to define an inactive acceleration structure instance in the |
| <<acceleration-structure-update, Acceleration Structure Update Rules>> |
| (internal merge request 5677). |
| * Add missing common draw and draw dispatch VUs when setting dynamic state |
| at draw time (internal merge request 5679). |
| * Add more information about pname:texelBufferAlignment promotion to core |
| in the apiext:VK_EXT_texel_buffer_alignment and <<versions-1.3, Version |
| 1.3>> appendix language (internal merge request 5680). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_pipeline_library_group_handles |
| |
| ----------------------------------------------------- |
| |
| Change log for January 19, 2023 Vulkan 1.3.239 spec update: |
| |
| GitHub Issues: |
| |
| * Clarify semaphore/fence behavior of flink:vkAcquireNextImageKHR so that |
| if successful, both semaphore and fence will be signaled (whichever |
| provided), and if not successful, both are unaffected (public issues |
| 1533, 1776, 2009). |
| * Update common draw VU 07751 to require that |
| flink:vkCmdSetDiscardRectangleEXT was called for each discard rectangle |
| when the corresponding dynamic state is enabled (public issue 1657). |
| * Add ename:VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR to |
| access masks VUs (public pull request 1997). |
| * Fix a typo in flink:vkCmdSetCoverageToColorLocationNV (public pull |
| request 2000). |
| * Clarify interpretation of H.265 reference indices |
| code:RefPicSetStCurrBefore, code:RefPicSetStCurrAfter, and |
| code:RefPicSetLtCurr (public issue 2010). |
| * Add missing dimension VUs for slink:VkRenderingInfo (public issue 2015). |
| * Fix <<formats-mandatory-features-32bit, Mandatory format support: 32-bit |
| components>> table to support ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT |
| for ename:VK_FORMAT_R32_SFLOAT without apiext:VK_EXT_shader_atomic_float |
| (public pull request 2011). |
| * Fix incorrect link in apiext:VK_KHR_create_renderpass2 appendix (public |
| pull request 2037). |
| |
| Internal Issues: |
| |
| * Add `scripts/stripAPI.py` to transform the XML by removing non-matching |
| `api` elements (internal issue 3281). |
| * Update introduction of the <<fragops, Fragment Operations>> chapter to |
| allow the <<fragops-samplemask, sample mask test>> to be performed after |
| <<fragops-samplecount, sample counting>> (internal issue 3330). |
| * Add slink:VkImageViewCreateInfo VU to disallow creating image views with |
| multiple plane bits (internal issue 3332) |
| * Add a new VU to slink:VkGraphicsPipelineCreateInfo requiring pipeline |
| layout compatibility in the graphics pipeline library link step |
| (internal issue 3334). |
| * Report an error message from generator scripts when an unknown name is |
| referenced, rather than just failing (internal merge request 5614). |
| * Document in elink:VkPipelineCreateFlagBits that |
| ename:VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
| and |
| ename:VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT |
| are only needed when combining fragment shading rate or fragment density |
| maps with dynamic rendering (internal merge request 5616). |
| * Moved a VU for index offsets when pname:robustBufferAccess2 is not |
| enabled from flink:vkCmdDrawIndexed to become a common VU for all the |
| index buffer draw calls (internal merge request 5623). |
| * Add VUs to slink:VkWriteDescriptorSet and slink:VkDescriptorImageInfo |
| restricting use of other descriptor types from being a 2D view of a 3D |
| image (internal merge request 5626). |
| * Clarify that the tlink:PFN_vkReallocationFunction callback may return |
| `NULL` (internal merge request 5637). |
| * Clarify that apiext:VK_KHR_format_feature_flags2 only has to be |
| supported, not enabled, in the <<resources-image-view-format-features, |
| Image View Format Features>> section (internal merge request 5651). |
| * Factor some VUs out of the `copy_bufferimage_to_imagebuffer_common` |
| common VU file into a new |
| `copy_bufferimage_to_imagebuffer_buffer_alignment_common` file (internal |
| merge request 5657). |
| * Add new driver id ename:VK_DRIVER_ID_IMAGINATION_OPEN_SC (internal merge |
| request 5658). |
| * Factor some VUs out of the `image_memory_barrier_common` common VU file |
| into a new `image_layout_transition_common` file (internal merge request |
| 5662). |
| * Clarify that format-less buffer views only apply to storage texel |
| buffers in the <<features-shaderStorageImageReadWithoutFormat>>, |
| <<features-shaderStorageImageWriteWithoutFormat>>, and |
| <<formats-without-shader-storage-format, Formats without shader storage |
| format>>, sections and for elink:VkFormatFeatureFlagBits2 (internal |
| merge request 5668). |
| |
| New Extensions: |
| |
| * apiext:VK_HUAWEI_cluster_culling_shader |
| |
| ----------------------------------------------------- |
| |
| Change log for December 19, 2022 Vulkan 1.3.238 spec update: |
| |
| Internal Issues: |
| |
| * Do not require in-bounds index buffers for flink:vkCmdDrawIndexed if |
| pname:robustBufferAccess2 is enabled (internal issue 3311). |
| * Only download needed parts of VK-GL-CTS repository for CI test (internal |
| issue 3315). |
| * Add a NOTE that etext:FORMAT_FEATURE_*_ATOMIC_BIT |
| are only advertised for single-component formats |
| (internal issue 3318). |
| * Add a common acceleration structure copy VU disallowing src/dst overlap |
| (internal merge request 5587). |
| * Add common VUs for EXT mesh draw calls (internal merge request 5588). |
| * Change validation of flink:vkGetImageSubresourceLayout2EXT to allow |
| queries of images with ename:VK_IMAGE_TILING_OPTIMAL tiling (internal |
| merge request 5590). |
| * Add VUs to flink:vkCmdBuildAccelerationStructureNV and common |
| acceleration structure copy VUs to require pname:dst to be bound |
| completely and contiguously (internal merge request 5602). |
| * Fix typo in member name ptext:presentScaling -> pname:scalingBehavior |
| for slink:VkSwapchainPresentScalingCreateInfoEXT (internal merge request |
| 5603). |
| * Remove common copy image sample count VU 07745, which duplicates VU |
| 00136 (internal merge request 5605). |
| * Fix common image memory barrier layout VU to refer to correct members |
| instead of nonexist pname:layout (internal merge request 5608). |
| |
| New Extensions: |
| |
| * Add final (non-provisional) versions of the Vulkan Video Core and Decode |
| extensions (internal merge request 5351): |
| ** apiext:VK_KHR_video_queue |
| ** apiext:VK_KHR_video_decode_queue |
| ** apiext:VK_KHR_video_decode_h264 (promoted from EXT) |
| ** apiext:VK_KHR_video_decode_h265 (promoted from EXT) |
| |
| ----------------------------------------------------- |
| |
| Change log for December 8, 2022 Vulkan 1.3.237 spec update: |
| |
| Public Issues: |
| |
| * Fix multiple function pointer type definition problem introduced by |
| apiext:VK_LUNARG_direct_driver_loading and update CI tests to catch this |
| type of issue going forward (public issue 1998). |
| * Fix typo in flink:vkCmdCopyImageToBuffer (public issue 1999). |
| * Do not require ename:VK_STENCIL_OP_KEEP in |
| flink:vkCmdSetStencilWriteMask and |
| slink:VkPipelineDepthStencilStateCreateInfo if both front and back |
| pname:writeMask values are zero (public Vulkan-ValidationLayers issue |
| 4921). |
| |
| Internal Issues: |
| |
| * Run Vulkan CTS framework tests as part of CI (internal issue 3274). |
| * Clarify that <<spirvenv-evaluation-expressions, denorm ops can reorder |
| without code:NoContract (internal issue 3303). |
| * Add the <<resources-memory-overlap, Resource Memory Overlap>> section to |
| clarify that there is no cache line hazard (internal issue 3306). |
| * Restrict ename:VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT to |
| three-dimensional images in slink:VkImageCreateInfo and |
| elink:VkImageCreateFlagBits (internal merge request 5589). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_surface_maintenance1 |
| * apiext:VK_EXT_swapchain_maintenance1 |
| |
| ----------------------------------------------------- |
| |
| Change log for December 1, 2022 Vulkan 1.3.236 spec update: |
| |
| Public Issues: |
| |
| * Fix Roadmap 2022 JSON by moving pname:lineWidthGranularity and |
| pname:pointSizeGranularity to the optionals section of the profile |
| (public Vulkan-Profiles issue 321). |
| * Expand description of <<devsandqueues-lost-device, Lost Device>> to |
| describe how to determine which commands may be affected and return |
| ename:VK_ERROR_DEVICE_LOST (public issue 1968). |
| * Clarify that input attachment descriptors follow static use rules in the |
| <<compatibility-inputattachment, Fragment Input Attachment |
| Compatibility>> section and common drawing VUs (public issue 1979). |
| * Move WinRT extensions into `vulkan_win32.h` header (public issue 1980). |
| * Remove `returnedonly` attribute from slink:VkSubresourceLayout in XML |
| (public issue 1988). |
| |
| Internal Issues: |
| |
| * Do not use basetype: for external API types without definitions in the |
| Specification, and make basetype: link to the corresponding API |
| (internal issue 2703, fixes one sub-issue of public issue 1984). |
| * Clarify treatment of shared depth/stencil images in depth-only or |
| stencil-only resolve attachments for slink:VkRenderingAttachmentInfo |
| (internal issue 3243). |
| * Clarify language for acceleration structure and micromap scratch access |
| bits (internal issue 3244). |
| * Clarify that code:Output variable writes have an effect in |
| <<shaders-helper-invocations, Helper Invocations>> (internal issue |
| 3270). |
| * Add missing apiext:VK_EXT_discard_rectangles common drawing VU (internal |
| issue 3292). |
| * Add VUs to slink:VkRenderingInfo preventing inconsistent layout usage |
| (internal issue 3301). |
| * Change parent of slink:VkSwapchainKHR to slink:VkDevice (internal merge |
| request 5521). |
| * Add and tidy up some shared common image copy VUs (internal merge |
| request 5371). |
| * Fix apiext:VK_EXT_color_write_enable common drawing VUs (internal merge |
| request 5548). |
| * Add missing apiext:VK_EXT_discard_rectangles common drawing VU (internal |
| merge request 5549). |
| * Rename slink:VkVideoDecodeH265PictureInfoEXT members ptext:sliceCount -> |
| pname:sliceSegmentCount and ptext:sliceOffsets -> |
| pname:sliceSegmentOffsets (internal merge request 5550). |
| * Clarify <<ray-tracking-capture-replay, Ray Tracing Capture Replay>> |
| section and related language for |
| slink:VkRayTracingShaderGroupCreateInfoKHR::pname:pShaderGroupCaptureReplayHandle |
| and flink:vkGetRayTracingCaptureReplayShaderGroupHandlesKHR (internal |
| merge request 5555). |
| * Add shader interface variable type and width constraint VU to |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| (internal merge request 5556). |
| * Clarify that code:PointSize is not always needed for mesh shaders in |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| VU 07728 (internal merge request 5562). |
| * Fix minor markup consistency typos in feature and limit xrefs (internal |
| merge request 5563). |
| * Fix typo in apiext:VK_QCOM_image_processing for required value of |
| code:unnormalizedCooordinates for the input code:sampler (internal merge |
| request 5564). |
| * Fix typo in slink:VkDescriptorDataEXT language (internal merge request |
| 5568). |
| * Add a NOTE to the apiext:VK_NV_optical_flow appendix and update the |
| allowed command queues for flink:vkCmdResetQueryPool and |
| flink:vkVmdWriteTimestamp in the XML to include the optical flow queue |
| (internal merge request 5570). |
| * Require Wayland WSI implementations to send code:wl_surface.commit in |
| flink:vkQueuePresentKHR for all present modes (internal merge request |
| 5574). |
| * Add missing slink:VkBindImageMemoryInfo VU for |
| etext:VK_IMAGE_CREATE_DISJOINT_BIT images (internal merge request 5580). |
| * Fix markup of some common stage mask VUs to prevent duplicate VUIDs |
| being generated (internal merge request 5581). |
| * Add a common draw/dispatch VU for image view shader mapping (internal |
| merge request 5583). |
| * Update the registry schema document to describe all allowed command |
| queue types. |
| |
| New Extensions: |
| |
| * apiext:VK_LUNARG_direct_driver_loading |
| * apiext:VK_QCOM_multiview_per_view_viewports |
| |
| ----------------------------------------------------- |
| |
| Change log for November 17, 2022 Vulkan 1.3.235 spec update: |
| |
| Public Issues: |
| |
| * Require Vulkan 1.1 for apiext:VK_EXT_mesh_shader in XML (public issue |
| 1976). |
| * Reserve driver ID for NVK (public pull request 1983). |
| |
| Internal Issues: |
| |
| * Add VUs for code:PointSize with mesh shaders to |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| and slink:VkGraphicsPipelineCreateInfo (internal issues 681 and 2727). |
| * Add the <<features-shadingRateImage, pname:shadingRateImage>> for a |
| slink:VkImageCreateInfo VU (internal merge request 5552). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_descriptor_buffer |
| |
| ----------------------------------------------------- |
| |
| Change log for November 10, 2022 Vulkan 1.3.234 spec update: |
| |
| Public Issues: |
| |
| * Add slink:VkGraphicsPipelineCreateInfo VUs for using code:ViewIndex and |
| for shader interactions, and make phrasing of some other VUs for this |
| structure consistent (public Vulkan-ValidationLayers issue 1749). |
| |
| Internal Issues: |
| |
| * Reorder <<synchronization-pipeline-stages-supported, Supported pipeline |
| stage flags>> table to more closely match the order in |
| elink:VkPipelineStageFlagBits2, add some missing stages, and group flag |
| bits representing multiple stages with the individual stages they |
| represent (internal issue 3260). |
| * Add an issue to the apiext:VK_KHR_fragment_shading_rate proposal |
| document clarifying that the default fragment size participates in |
| combination operations (internal issue 3266). |
| * Clarify that references in entry point interface lists are not "`Static |
| Use`" in its glossary definition (internal issue 3287). |
| * Add VU for flink:vkGetPhysicalDeviceExternalImageFormatPropertiesNV |
| restricting pname:externalHandleType to at most one bit set (internal |
| merge request 5528). |
| * Add missing code:SPV_NV_shader_invocation_reorder `spirvextension` tag |
| in XML (internal merge request 5529). |
| * Minor consistency edits to spec language for recently released NV |
| extensions - array / bitmask / feature requirement wording, reorder |
| sections so refpages are correctly formatted, remove un-needed |
| asciidoctor attributes (internal merge request 5530). |
| * Update Roadmap 2022 JSON to correct the `maxInlineUniformTotalSize` |
| limit to 256 instead of 4, matching the specification text (internal |
| merge request 5531). |
| * Correct "`less than`" to "`less than or equal to`" in VU for mipmap |
| levels in flink:vkCmdClearColorImage and |
| flink:vkCmdClearDepthStencilImage (internal merge request 5533). |
| * Properly conditionalize and markup language for required pipeline state |
| interactions with apiext:VK_EXT_graphics_pipelin_library (internal merge |
| request 5535). |
| * Add a NOTE to flink:vkSetEvent clarifying when to signal events waited |
| for in a command buffer (internal merge request 5536). |
| * Add code:HitObjectAttributeNV to |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| VU 06672 (internal merge request 5538). |
| * Use consistent wording for "`_handle_ is not dlink:VK_NULL_HANDLE`" and |
| update style guide accordingly. |
| |
| ----------------------------------------------------- |
| |
| Change log for November 3, 2022 Vulkan 1.3.233 spec update: |
| |
| Internal Issues: |
| |
| * Tighten wording around <<descriptor-validity>> and in the |
| <<descriptor-set-initial-state>> section (internal issue 3248). |
| * Add VU for code:Component decoration on 64 bit types in |
| <<spirvenv-module-validation-standalone Standalone SPIR-V Validation>> |
| (internal merge request 5495). |
| * Clarify the meaning of "`new image`" in flink:vkWaitForPresentKHR |
| (internal merge request 5513). |
| * Fix conditional markup around common VUs for |
| flink:vkGetPhysicalDeviceSurfaceCapabilities2KHR (internal merge request |
| 5514). |
| * Unify some image usage VUs for slink:VkSwapchainCreateInfoKHR (internal |
| merge request 5515). |
| * Add some missing conditional markup around common draw VUs for |
| apiext:VK_EXT_extended_dynamic_state3, add its features to the |
| <<features-requirements, Feature Requirements>> section, and update the |
| extension proposal document to fix some typos (internal merge request |
| 5517). |
| * Fix slink:VkCommandBufferInheritanceRenderingInfoKHR VU 06492 along with |
| minor markup fixes for an extension glossary term (internal merge |
| request 5518). |
| * Disallow input attachments being null for |
| ename:VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT by refactoring |
| slink:VkWriteDescriptorSet VUs (internal issue 3246). |
| * Add `SPV_AMD_shader_early_and_late_fragment_tests` to `<spirvextension>` |
| XML (internal issue 3276). |
| * Fix Makefile dependencies to avoid rebuilding the HTML targets |
| unnecessarily, and add a dependency to the `allchecks` Makefile target |
| to validate links in the HTML specification output, building it if |
| necessary. Note that the new check should be expected to fail unless |
| building with `makeSpec -spec all` (internal merge request 5525). |
| * Tag apiext:VK_IMG_format_pvrtc as deprecated in XML (internal merge |
| request 5527). |
| |
| New Extensions: |
| |
| * apiext:VK_NV_memory_decompression |
| * apiext:VK_NV_ray_tracing_invocation_reorder |
| * apiext:VK_NV_copy_memory_indirect |
| |
| ----------------------------------------------------- |
| |
| Change log for October 27, 2022 Vulkan 1.3.232 spec update: |
| |
| Public Issues: |
| |
| * Improve code:OpPtrAccessChain code:Base storage class VUs (public |
| KhronosGroup/SPIRV-Tools pull request 4965). |
| |
| Internal Issues: |
| |
| * Force applications to specify ename:VK_FORMAT_UNDEFINED for an unused |
| attachment in both slink:VkPipelineRenderingCreateInfoKHR and |
| slink:VkCommandBufferInheritanceRenderingInfoKHR. The previous behaviour |
| of allowing unused attachments to have any format is not supported on |
| some conformant implementations that have shipped and cannot be updated. |
| This functionality is intended to be restored via a new extension in the |
| near future (internal issue 3123). |
| * Minor VU fixes for apiext:VK_EXT_extended_dynamic_state3 (internal issue |
| 3253). |
| * Add missing VUs identified during validation layer work for |
| apiext:VK_EXT_extended_dynamic_state3 (internal issue 3261). |
| * Fix some minor markup and asciidoctor conditionalization errors causing |
| dead internal links in some builds of the specification (internal issues |
| 3267, 3269). |
| * Fix misleading warnings from refpage generation and add a couple of |
| missing API descriptions it turned up (internal issue 3271). |
| * Fix missing extension interaction in generated interfaces description |
| for apiext:VK_EXT_legacy_dithering (internal merge request 5479). |
| * Clarify how VUs on slink:VkBuffer aliasing for overlapping ranges of |
| device memory work for flink:vkGetBufferDeviceAddressEXT (internal merge |
| request 5489). |
| * Update XML to fix generated VU for |
| flink:vkCmdSetColorWriteMaskEXT::pname:pColorWriteMasks (internal merge |
| request 5497). |
| * Move VU for flink:vkCmdSetAlphaToOneEnableEXT to the right place |
| (internal merge request 5500). |
| * Add Khronos Roadmap 2022 JSON profile file under `xml/profiles/`, and |
| export it to the Vulkan-Headers repository when updating the |
| specification (internal merge request 5504). |
| * Minor XML reorganization to work around a CTS code generation error |
| (internal merge request 5509). |
| * Add a new limit property to |
| slink:VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM. The corresponding |
| extension has not yet been implemented, so this shouldn't cause a |
| compatibility break (internal merge request 5512). |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for October 13, 2022 Vulkan 1.3.231 spec update: |
| |
| Public Issues: |
| |
| * Add a NOTE about custom border color with combined depth/stencil formats |
| and rewrite a corresponding valid usage statement (public issue 1950). |
| * Clarify memory domain operation in slink:VkBufferMemoryBarrier for |
| ename:VK_ACCESS_HOST_WRITE_BIT and ename:VK_ACCESS_HOST_READ_BIT (public |
| issue 1958). |
| * Fix slink:VkDescriptorSetLayoutBinding refpage layout (public issue |
| 1964). |
| * Clarify apiext:VK_EXT_mesh_shader builtin execution modes in |
| code:PrimitivePointIndicesEXT, code:PrimitiveLinIndicesEXT, and |
| code:PrimitiveTriangleIndicesEXT valid usage statements (public pull |
| request 1965). |
| |
| Internal Issues: |
| |
| * Clarify behavior of return values when multiple pipelines fail to be |
| created when using apiext:VK_EXT_pipeline_creation_cache_control |
| (internal issue 3121). |
| * Add valid usage statement for flink:vkCmdExecuteCommands clarifying that |
| only occlusion and pipeline statistics queries can be inherited in |
| slink:VkCommandBufferInheritanceInfo (internal issue 3142). |
| * Remove `requiredbitmask` valid usage statement for |
| slink:VkSubmitInfo::pname:pWaitDstStageMask by adding `optional` |
| attribute to the corresponding XML (internal issue 3200). |
| * Clarify <<deferred-host-operations-requesting, allocator expectations |
| for deferred host operations>> (internal issue 3202). |
| * Add missing SPIR-V capability code:FragmentFullyCovered for |
| apiext:VK_EXT_conservative_rasterization in XML and the extension |
| appendix (internal issue 3221). |
| * Clarify interaction of apiext:VK_KHR_pipeline_robustness with |
| apiext:VK_KHR_pipeline_library for |
| slink:VkPipelineRobustnessCreateInfoEXT (internal issue 3227). |
| * Clarify that code:OpTypeImage code:MS can be 1 for multisampled |
| rendering to single samples (internal issue 3231). |
| * Clarify behavior of |
| ename:VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT in |
| slink:VkPipelineRobustnessBufferBehaviorEXT and |
| slink:VkPipelineRobustnessImageBehaviorEXT (internal issue 3237). |
| * Fix incorrect structure reference for |
| ename:VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT in elink:VkDynamicState |
| (internal issue 3257). |
| * Standardize definitions within the copies chapter - formal mathematical |
| definitions for pseudocode buffer/image addressing, remove redundant |
| YCbCr text, move apiext:VK_QCOM_rotated_copy_commands to the standard |
| location for buffer/image copies (internal merge request 5372). |
| * Fix SPV and GLSL links in the apiext:VK_EXT_opacity_micromap appendix |
| (internal merge request 5461). |
| * Use "`enabled *on* the device`" consistently in preference to "`enabled |
| *in* the device`", and add a corresponding style guide rule (internal |
| merge request 5475). |
| * Update Docker instructions in `BUILD.adoc` and add a helper script |
| `scripts/runDocker` to run Docker with the latest Khronos build image |
| (internal merge request 5483). |
| |
| New Extensions: |
| |
| * apiext:VK_ARM_shader_core_builtins |
| |
| ----------------------------------------------------- |
| |
| Change log for September 29, 2022 Vulkan 1.3.230 spec update: |
| |
| Public Issues: |
| |
| * Add common valid usage statements for bind buffer and bind image |
| commands to prevent rebinding resources after slink:vkFreeMemory (public |
| issue 1937). |
| |
| Internal Issues: |
| |
| * Add common valid usage statements for drawing commands to prevent |
| binding an input attachment descriptor with an image view that is not in |
| the framebuffer (internal issue 3223). |
| * Fix references to nonexistent 'fragmentShadingRate' feature (internal |
| issue 3235). |
| * Add valid usage statement to flink:vkCmdCopyQueryPoolResults disallowing |
| usage on active queries (internal issue 3236). |
| * Update structure layouts in `video.xml` for the provisional video |
| extensions to address alignment issues (internal issue 3242). |
| * Clarify that slink:VkGraphicsPipelineLibraryCreateInfoEXT::pname:flags |
| excludes linked libraries (internal merge request 5447). |
| * Change the type of slink:VkVideoReferenceSlotInfoKHR::pname:slotIndex to |
| `int32_t` in the provisional video extensions (internal merge request |
| 5452). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_device_address_binding_report |
| * apiext:VK_EXT_device_fault |
| * apiext:VK_EXT_extended_dynamic_state3 |
| * apiext:VK_EXT_pipeline_protected_access |
| * apiext:VK_NV_optical_flow |
| * apiext:VK_NV_present_barrier |
| |
| ----------------------------------------------------- |
| |
| Change log for September 22, 2022 Vulkan 1.3.229 spec update: |
| |
| Public Issues: |
| |
| * Add pname:maxMeshWorkGroup*Count limits when no task shader is used, and |
| refactor some mesh shader valid usage statements for |
| slink:VkDrawMeshTasksIndirectCommandEXT and flink:vkCmdDrawMeshTasksEXT |
| into a common validity block (public merge request 1936). |
| * Add SPIR-V valid usage statement for the mesh shader output count, and |
| remove some redundant slink:VkPipelineShaderStageCreateInfo valid usage |
| statements (public merge request 1938). |
| * Add a comment to the <<versions-1.2-promotions, Differences relative to |
| VK_EXT_shader_viewport_index_layer>> section describing how the |
| code:ShaderViewportIndexLayerEXT capability was split into two |
| capabilities in Vulkan 1.2 (internal merge request 1951). |
| |
| Internal Issues: |
| |
| * Be more explicit about floating-point rules in the |
| <<spirvenv-precision-operation, Precision and Operation of SPIR-V |
| Instructions>> section (internal issues 2795, 2845). |
| * Miscellaneous minor phrasing and XML fixes for the H.264 / H.265 |
| provisional video extensions (internal issue 3065). |
| * Clarifications to the style guide to clarify terminology for EXT |
| extension process and specify behavior more tightly than before |
| (internal merge request 5268). |
| * Add a CI script to check consistency of internal links in HTML output |
| (internal merge request 5433). |
| * Updates to provisional video extensions (internal merge request 5434) |
| including: |
| ** Remove H.264 MVC support from apiext:VK_EXT_video_decode_h264. |
| ** Rename parameter set related fields in the provisional video extension |
| APIs. |
| ** Rename and clarify miscellaneous parameters in the provisional video |
| extension APIs. |
| ** Fix implicit valid usage related markup in `vk.xml` related to the core |
| and decode video extension APIs. |
| ** Add previously missing definitions and fix incorrect definitions in the |
| Video Std headers. |
| |
| ----------------------------------------------------- |
| |
| Change log for September 15, 2022 Vulkan 1.3.228 spec update: |
| |
| Public Issues: |
| |
| * Specify that <<pipelines-graphics-subsets-dynamic-state, dynamic state |
| for pipeline subsets>> is ignored (public issue 1902). |
| * Remove un-needed `wayland-client.h` include from `vulkan.h` (public pull |
| request 1905). |
| * Add valid usage statement requiring an index buffer be bound for indexed |
| drawing commands (public issue 1924). |
| * Miscellaneous markup fixes (public pull request 1946). |
| |
| Internal Issues: |
| |
| * Clarify that flink:vkCmdWaitEvents must: not execute before a |
| flink:vkSetEvent it waits on (internal issue 2971). |
| * Update valid usage statement in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V>> section to |
| clarify the interaction of *Workgroup* *Scope* with code:ExecutionModel |
| *TessellationControl* (internal issue 3071). |
| * Fix |
| slink:VkMemoryDedicatedRequirementsKHR::pname:requiresDedicatedAllocation |
| for ename:VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT (internal issue 3074). |
| * Clarify in elink:VkFormatFeatureFlagBits that |
| ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT and |
| ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT are implied for unextended |
| Vulkan 1.0 (internal issue 3099). |
| * Add `tasks` attribute to XML `<command>` tags and tag core, KHR, and EXT |
| commands (internal issue 3117). |
| * Add more valid usage statements to prohibit feedback loop layouts when |
| the pname:attachmentFeedbackLoopLayout feature is not enabled (internal |
| issue 3189). |
| * Clarify in the <<fundamentals-floatingpoint, Floating-Point |
| Computation>> section that Inf and NaN inputs and outputs may: result in |
| undefined values (internal issue 3208). |
| * Update common valid usage statements for stage masks to properly |
| interact with apiext:VK_NV_shading_rate_image and |
| apiext:VK_KHR_fragment_shading_rate (internal issue 3228). |
| * Disallow permanent semaphore/fence imports with copy transference in |
| slink:VkImportFenceFdInfoKHR and slink:VkImportSemaphoreFdInfoKHR |
| (internal merge request 4930). |
| * Specify in flink:vkGetPhysicalDeviceSurfacePresentModesKHR and |
| slink:VkSurfaceCapabilities2KHR that some surface properties are |
| undefined when apiext:VK_GOOGLE_surfaceless_query is used (internal |
| merge request 5157). |
| * Add an Informative section describing the |
| <<boilerplate-video-std-headers, Video Std Headers>> provided with the |
| provisional video extensions (internal merge request 5384). |
| * Clarify Boolean values vs. <<limits-maxComputeSharedMemorySize, |
| pname:maxComputeSharedMemorySize>> (internal merge request 5386). |
| * Update markup for the <<boilerplate-wsi-header-table, Window System |
| Extensions and Headers>> table to render all header files no matter |
| which extensions the spec is built with (internal merge request 5411). |
| * Move timestamp example to the correct issue in the |
| apiext:VK_EXT_calibrated_timestamps extension appendix (internal merge |
| request 5420). |
| * Add missing flink:vkCmdPushDescriptorSetWithTemplateKHR valid usage |
| statements for pname:set (internal merge request 5428). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_mutable_descriptor_type (promoted from `VALVE`). |
| |
| ----------------------------------------------------- |
| |
| Change log for September 8, 2022 Vulkan 1.3.227 spec update: |
| |
| Public Issues: |
| |
| * Add interactions for dynamic rendering in flink:vkCmdClearAttachments |
| (public issue 1835). |
| * Add code:MinLod clamping rules to <<textures-gather, Texel Gathering>> |
| and update the <<features-minLod, pname:minLod>> feature and |
| slink:VkImageViewMinLodCreateInfoEXT to reference that language |
| (partially resolves public issue 1836). |
| * Remove `ifdef` from <<spirvenv-module-validation-standalone, Standalone |
| SPIR-V>> valid usage statement (public pull request 1926). |
| * Assign VUID 07119 to a <<spirvenv-module-validation-standalone, |
| Standalone SPIR-V>> valid usage statement that didn't get one in the |
| last spec update (public issue 1928). |
| * Add missing <<spirvenv-module-validation-runtime, Runtime SPIR-V>> valid |
| usage statements for apiext:VK_EXT_mesh_shader (public pull request |
| 1931). |
| * Fix duplicate |
| slink:VkGraphicsPipelineCreateInfo::pname:pInputAssemblyState |
| description (public issue 1934). |
| |
| Internal Issues: |
| |
| * Add a valid usage statement for |
| ename:VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR to the common |
| validity statements for barriers (internal issue 3188). |
| * A valid usage statements to performance query begin commands requiring |
| matching queue family index (internal issue 3207). |
| * Add a `stride` attribute to the XML to annotate arrays passed to |
| commands where consecutive members are not tightly packed (internal |
| issue 3205). |
| * Fix the `limittype` attribute value for |
| slink:VkPhysicalDeviceVulkan11Features::pname:subgroupSize and |
| slink:VkPhysicalDeviceSubgroupProperties::pname:subgroupSize (internal |
| issue 3209). |
| * Eliminate Asciidoctor warnings about duplicate feature anchors in |
| `validusage` build target (internal issue 3216). |
| * Add the Vulkan logo to the specification PDF title page and HTML |
| document header (internal issue 3217). |
| * Markup fixes for VkPerformanceCounterResultKHR and |
| VkPipelineRobustnessCreateInfoEXT (internal issue 3219). |
| * Add a new section of the <<lexicon, Lexicon>> appendix for |
| <<lexicon-video-abbreviations, video-specific abbreviations>> (internal |
| merge request 5345). |
| * Add <<formats-size-compatibility, size compatible>> definition to the |
| <<formats, Formats>> chapter and use it to replace the old "`format size |
| compatibility`" language in the <<copies, Copy Commands>> chapter |
| (internal merge request 5369). |
| * Remove the "`blocked image`" definition from and instead distinguish |
| images with a 1x1x1 <<formats-compatibility-classes, texel block |
| extent>> from other images. Use this language to simplify valid usage |
| statements in the <<copies, Copy Commands>> chapter (internal merge |
| request 5370). |
| * Add valid usage statement to the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V>> section |
| requiring code:Boolean values to be code:BuiltIn values for code:Input / |
| code:Output (internal merge request 5387). |
| * Add and update valid usage statements for drawing commands with |
| multisampled pipelines and single-sampled attachments when |
| apiext:VK_EXT_multisampled_render_to_single_sampled is enabled (internal |
| merge request 5392). |
| * Remove pname:apiVersion loading requirements for implicit layers from |
| slink:VkApplicationInfo (internal merge request 5393). |
| * Minor markup fixes for slink:VkPipelineRobustnessCreateInfoEXT (internal |
| merge request 5399). |
| * Refactor style guide markup and use consistent anchor naming scheme |
| (internal merge request 5400). |
| * Require apiext:VK_KHR_spirv_1_4 for apiext:VK_EXT_mesh_shader in |
| `vk.xml` (internal merge request 5401). |
| * Add the <<shaders-termination, Shader Termination>> section and a |
| corresponding valid usage statement for draw dispatch commands |
| (cross-api/memory-model issue #145). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_legacy_dithering (internal merge request 5042). |
| |
| ----------------------------------------------------- |
| |
| Change log for September 1, 2022 Vulkan 1.3.226 spec update: |
| |
| Public Issues: |
| |
| * Add missing SPV_KHR_ray_tracing storage class valid usage statement for |
| code:ShaderRecordBufferKHR (public merge request 1895). |
| * Add a NOTE to slink:VkAccelerationStructureCreateInfoKHR about |
| ename:VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR (public issue 1904). |
| * Add a standalone SPIR-V valid usage statement for code:OpImageWrite |
| component mismatch (public merge request 1916). |
| * Generate the "`SPIRV Image Format`" and "`Plane Compatibility Format`" |
| tables from `vk.xml` (public merge request 1922). |
| * Add a NOTE to dlink:VK_USE_64_BIT_PTR_DEFINES to define its availability |
| Vulkan headers starting with VK_HEADER_VERSION 174 (public merge request |
| 1918). |
| |
| Internal Issues: |
| |
| * Update issue #2 in the apiext:VK_EXT_depth_range_unrestricted appendix |
| to match core spec text (internal issue 2445). |
| * Clarify <<shaders-interpolation-decorations, Interpolation decorations>> |
| in pre-rasterization (internal issue 2721). |
| * Relax implicit layer disabling requirements in slink:VkApplicationInfo |
| (internal issue 2856). |
| * Update <requires> `extension` attribute in XML to support multiple |
| extensions with AND/OR connectives (internal issue 2922). |
| * Update provisional video API queries for usage hint and optimized |
| implementation settings (internal issue 2986). |
| * Relax slink:VkImageViewCreateInfo valid usage statement 01584 to allow |
| layers/levels for compressed format views of compressed format images |
| (internal issue 3063). |
| * Remove slink:VkImageViewCreateInfo valid usage statement 04739 (internal |
| issue 3164). |
| * Specify that addresses returned by flink:vkGetBufferDeviceAddress must |
| satisfy the alignment requirements of the device (internal issue 3176). |
| * Update makeSpec script to properly clean OUTDIR when it's explicitly |
| specified (internal issue 3194). |
| * Ensure that a mutable type list is provided in |
| slink:VkDescriptorSetLayoutCreateInfo when required (internal issue |
| 3198). |
| * Update clarity of the Khronos specification copyright statement |
| regarding normative references to external specifications and the |
| Khronos Intellectual Property Rights Policy (internal issue 3203). |
| * Rename '.txt' -> '.adoc' for all Asciidoctor markup files in the |
| repository, and update scripts and tools to match (internal issue 3204) |
| * Tag apiext:VK_ARM_rasterization_order_attachment_access as promoted to |
| EXT in XML (internal merge request 5364) |
| * Fix a typo in the "` Color Sample Coverage`" section (internal merge |
| request 5367) |
| * Fix apiext:VK_EXT_fragment_density_map2 appendix to include the correct |
| extension interface information (internal merge request 5368) |
| * Remove unwieldy and unnecessary list of copy functions from the |
| introduction of the <<copies, Copy Commands>> chapter (merge request |
| 5373). |
| * Move Asciidoctor attributes enabling version and extension attributes |
| into a generated file `specattribs.adoc` (internal merge request 5396). |
| |
| New Extensions |
| |
| * apiext:VK_EXT_depth_clamp_01 |
| * apiext:VK_EXT_mesh_shader |
| |
| ----------------------------------------------------- |
| |
| Change log for August 18, 2022 Vulkan 1.3.225 spec update: |
| |
| * Update release number to 225 for this update. |
| |
| Public Issues: |
| |
| * Remove unused code from `spirvcapgenerator.py` (public merge request |
| 1912). |
| * Remove redundant ftext:vkCmdDraw*Indirect valid usage statements 00478 |
| and 00530, which are already covered by valid usage statements for the |
| corresponding stext:VkDraw*IndirectCommand (public merge request 1913). |
| |
| Internal Issues: |
| |
| * Clarify <<renderpass-attachment-contents, attachment preserve behavior>> |
| when multiview is enabled (internal issue 3031). |
| * Update apiext:VK_KHR_format_feature_flags2 to version 2, ensuring that |
| implementations report |
| slink:VkFormatProperties3KHR::pname:bufferFeatures correctly for storage |
| reads/writes without format, and replace old valid usage statements |
| 06423 and 06424 for draw dispatch commands with new statements |
| expressing the constraints accurately (internal issue 3091). |
| * Make provisional video APIs follow Vulkan API conventions more closely |
| (internal issue 3141). |
| * Move valid usage statement 06879 for |
| slink:VkMultisampledRenderToSingleSampledInfoEXT to the |
| slink:VkFramebufferCreateInfo and slink:VkRenderPassAttachmentBeginInfo |
| valid usage blocks, where the information needed to evaluate it is known |
| (internal issue 3169). |
| * Change www.khronos.org/registry/ URLs to registry.khronos.org/ following |
| a recent change to Khronos webservers (internal issue 3175). |
| * Allow applications to not provide fragment shader via clarifying edits |
| in the introduction to the <<fragops, Fragment Operations>> chapter and |
| in valid usage statement 06896 for slink:VkGraphicsPipelineCreateInfo |
| (internal issue 3178). |
| * Fix slink:VkRayTracingPipelineCreateInfoKHR valid usage statement 03590 |
| to correctly refer to pname:pLibraryInterface (internal merge request |
| 5333). |
| * Fix typo in slink:VkPipelineRasterizationLineStateCreateInfoEXT valid |
| usage statement 02770 to correctly refer to the pname:smoothLines |
| feature (internal merge request 5349). |
| * Fix normative language in the conservative rasterization section to use |
| `may:` instead of `will` (internal merge request 5354). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_rasterization_order_attachment_access |
| |
| ----------------------------------------------------- |
| |
| Change log for August 4, 2022 Vulkan 1.3.224 spec update: |
| |
| * Update release number to 224 for this update. |
| |
| Public Issues: |
| |
| * Add issues to the apiext:VK_KHR_dynamic_rendering proposal document |
| discussing render area granularity (public issue 1899). |
| |
| Internal Issues: |
| |
| * Add missing video `queues` attribute values to commands (internal issue |
| 1593). |
| * Add valid usage statements to enforce render pass scope restrictions on |
| flink:vkBeginQuery and flink:vkEndQuery pairs (internal issue 3119). |
| * Remove overly restrictive valid usage statements for Y'CbCr layered |
| image creation from slink:VkImageViewCreateInfo (internal issue 3180). |
| * Enable `codespell` tool in CI to prevent many typos. Switch to pulling |
| the updated `asciidoctor-spec` Docker container image by SHA256 instead |
| of name, to work around cache pollution problems in Gitlab and GitHub |
| Actions CI (internal merge request 5318). |
| * Add "`Description`" sections to the provisional video extension |
| appendices (internal merge request 5310). |
| * Fix codec-specific stext:VkVideo{De,En}code*CapabilitiesEXT structure |
| chaining in XML to refer to the root slink:VkVideoCapabilitiesKHR |
| structure that is extended (internal merge request 5323). |
| * Update slink:VkImageViewCreateInfo valid usage statement to not require |
| a slink:VkSamplerYcbcrConversionInfo structure for non-sampleable image |
| views requiring sampler Y'CbCr conversion (internal merge request 5324). |
| |
| New Extensions |
| |
| * apiext:VK_EXT_attachment_feedback_loop_layout |
| (internal merge request 4469). |
| * apiext:VK_SEC_amigo_profiling - internal extension used within ANGLE, no |
| actual spec language exists yet (internal merge request 5332). |
| |
| ----------------------------------------------------- |
| |
| Change log for July 28, 2022 Vulkan 1.3.223 spec update: |
| |
| * Update release number to 223 for this update. |
| |
| Public Issues: |
| |
| * Clarify external synchronization requirements for |
| ename:VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT and |
| ename:VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT |
| elink:VkDescriptorBindingFlagBits and flink:vkUpdateDescriptorSets |
| (public issue 1713). |
| * Add Vulkan 1.0 valid usage statement for *Subgroup* memory scope to |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| (public merge request 1900). |
| * Move "`Hit Kind`" valid usage statement from standalone to runtime |
| SPIR-V validation statements (public merge request 1903). |
| |
| Internal Issues: |
| |
| * Add the `videocoding` attribute to XML tag:command tags to specify if |
| commands can be issued only inside a video coding scope, only outside, |
| or both. Update the validity generator script to add a new column to the |
| "`Command Properties`" table reflecting this attribute (internal issue |
| 2593). |
| * Terminology improvements and glossary additions for the provisional |
| video extensions (internal issue 2609). |
| * Add valid usage statement disallowing Android hardware buffers for |
| flink:vkGetDeviceImageMemoryRequirements (internal issue 3107). |
| * Document why some video and ray tracing bits are defined for |
| elink:VkPipelineStageFlagBits2 but not for |
| elink:VkPipelineStageFlagBits, and reserve those bits in `vk.xml` |
| (internal issue 3120). |
| * Fix minor typos and markup issues in apiext:VK_QCOM_image_processing |
| (internal issues 3171, 3172). |
| * Add interaction with apiext:VK_QCOM_tile_properties to |
| apiext:VK_QCOM_render_pass_transform appendix (internal merge request |
| 5309). |
| * Partial sync with OpenXR scripts (internal merge request 5312). |
| * Clarify that flink:vkGetQueryPoolResults may return ename:VK_NOT_READY |
| (internal merge request 5313). |
| * Fix typos identified by the "`codespell`" tool (internal merge request |
| 5316). |
| * Fix XML `limittype` attributes for pname:*subgroupSize members from |
| `"exact"` to `"min,pot"` |
| (https://github.com/KhronosGroup/Vulkan-Profiles/issues/226). |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for July 21, 2022 Vulkan 1.3.222 spec update: |
| |
| * Update release number to 222 for this update. |
| |
| Public Issues: |
| |
| * Use correct feature in |
| ename:VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT |
| description (public pull request 1892). |
| * GitHub CI: Regenerate and build-test Rust Vulkan bindings (Ash crate) |
| (public pull request 1894). |
| |
| Internal Issues: |
| |
| * Clarify that flink:vkCmdClearAttachments can only clear layers in the |
| current render pass instance. (internal issue 3157). |
| * Clarify that access to code:Function and code:Private memory works in |
| <<shaders-helper-invocations, Helper Invocations>> (internal issue |
| 3158). |
| * Add CI check for bullet list items not preceded by exactly two spaces |
| (internal issue 3162). |
| * Remove slink:VkGraphicsPipelineCreateInfo valid usage statement 00726, |
| superseded by 06897 (internal merge request 5295). |
| * Update CI to cache Rust crates and build intermediates. (internal merge |
| request 5297). |
| * Use `noauto` `limittype` attribute values for values that are |
| identifiers and cannot be compared, such as PCI bus IDs, driver |
| versions, UUIDs, descriptions, etc. (internal merge request 5299). |
| * Specify that slink:VkGeneratedCommandsInfoNV::pname:preprocessBuffer |
| should not be copied for reuse (internal merge request 5301). |
| * Update contact and contributor information for some vendor extensions |
| (internal merge request 5304). |
| * Partial sync with OpenXR scripts (internal merge request 5308). |
| |
| New Extensions: |
| |
| * `apiext:VK_QCOM_image_processing` |
| * `apiext:VK_QCOM_tile_properties` |
| |
| ----------------------------------------------------- |
| |
| Change log for July 14, 2022 Vulkan 1.3.221 spec update: |
| |
| * Update release number to 221 for this update. |
| |
| Public Issues: |
| |
| * Add dependency of apiext:VK_EXT_blend_operation_advanced on |
| apiext:VK_KHR_get_physical_device_properties2. (public merge request |
| 1887). |
| * Update xrefs to features so the feature name is used as the link text, |
| and marked up consistently. Added a section to the style guide on markup |
| of feature xrefs (public issue 1889). |
| |
| Internal Issues: |
| |
| * Consolidate and clarify interpolation of fragment inputs in the |
| <<primsrast-multisampling, Multisampling>>, <<primsrast-lines-basic, |
| Basic Line Segment Rasterization>>, <<primsrast-polygons-basic, Basic |
| Polygon Rasterization>>, and <<shaders-interpolation-decorations, |
| Interpolation Decorations>> sections (internal issue 3108). |
| * Add gitlab CI step to regenerate and test the Rust "`Ash`" Vulkan |
| bindings (internal merge request 5216). |
| * Note that the result of a <<queries-primitives-generated, Primitives |
| Generated Query>> is similar to |
| ename:VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, but not |
| affected by hardware details (internal issue 3131). |
| * Swap direction of aliasing of enums shared by |
| apiext:VK_EXT_filter_cubic and apiext:VK_IMG_filter_cubic to be |
| consistent with other enums aliased by promotion, and add a note to the |
| registry schema document to help clarify how the `alias` XML attribute |
| is used (internal merge request 5276). |
| * Update XML SPIR-V capabilities section so that |
| code:RayTraversalPrimitiveCullingKHR is also enabled by |
| apiext:VK_KHR_ray_query (internal issue 3156). |
| * Remove reference to adding |
| <<features-vulkanMemoryModelAvailabilityVisibilityChains, |
| pname:vulkanMemoryModelAvailabilityVisibilityChains>> as a |
| <<versions-1.3-new-features, new Vulkan 1.3 feature>>, which did not |
| happen (merge request 5286). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_pipeline_robustness |
| |
| ----------------------------------------------------- |
| |
| Change log for July 7, 2022 Vulkan 1.3.220 spec update: |
| |
| * Update release number to 220 for this update. |
| |
| Public Issues: |
| |
| * Add a note to elink:VkColorSpaceKHR regarding use of |
| elink:VK_COLOR_SPACE_PASS_THROUGH_EXT for a linear or non-gamma transfer |
| function color space (public merge request 1729). |
| * Fix clamp expression for d_{lo} in the |
| <<textures-level-of-detail-operation, Level-of-Detail Operation>> |
| section (partial fix for public issue 1836). |
| * Update <<spirvenv-module-validation-standalone, Standalone SPIR-V |
| Validation>> to add explicit valid usage statements for code:Uniform |
| objects being read only, and for code:Block decorations (public merge |
| request 1879). |
| * Add an issue to apiext:VK_KHR_fragment_shader_barycentric for |
| interactions with MSAA (public merge request 1881). |
| * Fix XML tagging of slink:VkShaderModuleCreateInfo and add an explicit |
| valid usage statement so this structure can be validated both as an |
| explicit parameter, and as part of the pname:pNext chain of |
| slink:VkPipelineShaderStageCreateInfo (public issue 1883, but a broader |
| fix in the validation scripts for this case will eventually be |
| required). |
| |
| Internal Issues: |
| |
| * Refactor and update descriptor / render pass valid usage statements for |
| slink:VkAttachmentDescription, slink:VkAttachmentDescription2, |
| slink:VkAttachmentReference, slink:VkAttachmentReference2 |
| slink:VkRenderPassCreateInfo2, slink:VkSubpassDescription, and |
| slink:VkSubpassDescription2 (internal issue 2559). |
| * Modify all of the query commands to use synchronization scope language, |
| in order to better describe how the commands synchronize with each other |
| (internal issue 3089). |
| * Add valid usage statements to slink:VkGraphicsPipelineCreateInfo |
| slink:VkRayTracingPipelineCreateInfoKHR, and |
| slink:VkRayTracingPipelineCreateInfoNV restricting the allowed shader |
| stages (internal issue 3132). |
| * Remove over-constrained list of data types that can be used together |
| with code:PerVertexKHR in the |
| <<shaders-interpolation-decorations-pervertexkhr>> section (internal |
| issue 3134). |
| * Document for flink:vkGetAccelerationStructureBuildSizesKHR that |
| slink:VkAccelerationStructureGeometryKHR::pname:flags must be invariant |
| between the size query and the build (internal issue 3147). |
| * Update slink:VkShaderModuleValidationCacheCreateInfoEXT XML to mark that |
| it extends VkPipelineShaderStageCreateInfo (internal merge request |
| 5210). |
| * Fix <<resources-image-format-features, Image Format Features>> section |
| discussion of DRM format modifiers, and some related miscellaneous typos |
| (internal merge request 5255). |
| * Clarify that code:RelaxedPrecision does not need to match in the |
| <<interfaces-iointerfaces-matching, Interface Matching>> rules (internal |
| issue 3053). |
| |
| ----------------------------------------------------- |
| |
| Change log for June 30, 2022 Vulkan 1.3.219 spec update: |
| |
| * Update release number to 219 for this update. |
| |
| Public Issues: |
| |
| * Update pipeline image to move push constants outside of descriptor sets |
| (public issue 1867). |
| * Correct code:StencilRefLessFrontEXT to code:DepthLess in the early depth |
| test portion of the <<fragops, Fragment Operations>> chapter (public |
| pull request 1876). |
| * Add new driver id ename:VK_DRIVER_ID_MESA_DOZEN (public pull request |
| 1877). |
| * Relax slink:VkRenderPassCreateInfo valid usage statements 02517 and |
| 02518 to allow ename:VK_SUBPASS_EXTERNAL (public pull request 1878). |
| |
| Internal Issues: |
| |
| * Move validation of read-only depth/stencil layout with respect to |
| depth/stencil write from slink:VkGraphicsPipelineCreateInfo to draw time |
| validation (internal issue 3110). |
| * Clarify buffer view format features by replacing the undefined term |
| "`formatted load`" (internal issue 3124). |
| * Clean up markup of feature structures, and add missing boilerplate |
| pname:sType / pname:pNext member descriptions where still missing |
| (internal issue 3128). |
| * Add new XML `limittype` attribute values to better express constraints, |
| update which structure type's members are allowed to have the attribute, |
| and update attributes accordingly (internal merge request 5172). |
| * Disallow more combinations of ray flags in the |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| section and corresponding text in the <<ray-traversal, Ray Traversal>>, |
| chapter as well as better documenting already disallowed cases (internal |
| merge request 5220). |
| * Add <<descriptorsets-updates-consecutive, wording for extrapolated |
| descriptor updates>> on ename:VK_DESCRIPTOR_TYPE_MUTABLE_VALVE (internal |
| merge request 5251). |
| * Clarify alignment requirements for device generated commands. in |
| slink:VkIndirectCommandsLayoutCreateInfoNV and |
| slink:VkIndirectCommandsLayoutTokenNV (internal merge request 5252). |
| * Add `validstructs` attribute to XML `param` tags to specify actual valid |
| structures allowed in cases where an abstract formal parameter type |
| (slink:VkBaseInStructure or slink:VkBaseOutStructure) is passed, |
| primarily to support the Ash Rust binding generator (internal merge |
| request 5253). |
| * Add guidance on defining feature structures for WSI extensions in the |
| "`Feature Structures`" section of the style guide (internal merge |
| request 5266). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_multisampled_render_to_single_sampled |
| * apiext:VK_EXT_shader_module_identifier |
| |
| ----------------------------------------------------- |
| |
| Change log for June 16, 2022 Vulkan 1.3.218 spec update: |
| |
| * Update release number to 218 for this update. |
| |
| Public Issues: |
| |
| * Add apiext:VK_KHR_maintenance4 relaxed interface valid usage statement |
| to the <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| section (public pull request 1860). |
| * Fix field name in slink:VkRenderingAttachmentInfo valid usage statement |
| (public pull request 1861). |
| * Fix typo in slink:VkFramebufferCreateInfo valid usage statements 04533 / |
| 04544 (public pull request 1873). |
| * Remove duplicate valid usage statement 06060 (public pull request 1874). |
| * Rework <<fxvertex-input-address-calculation, Vertex Input Address |
| Calculation>> section (public pull request 1869). |
| * Split GitHub CI script into individual jobs to decrease run time (public |
| pull request 1870). |
| |
| Internal Issues: |
| |
| * Refactor some valid usage statements for drawing commands that depend on |
| apiext:VK_EXT_color_write_enable (internal issue 2868). |
| * Refactor description of |
| flink:vkGetPhysicalDeviceVideoFormatPropertiesKHR and add |
| video-profile-specific error codes (internal issues 2965 and 2995). |
| * Add NOTEs regarding Android layer discovery to |
| flink:vkEnumerateDeviceLayerProperties and |
| flink:vkEnumerateDeviceExtensionProperties (internal issue 3070). |
| * Update slink:VkSubpassDependency valid usage statements based on |
| language in synchronization chapter (internal issue 3075). |
| * Rename slink:VkQueueFamilyQueryResultStatusProperties2KHR member from |
| ptext:supported to pname:queryResultStatusSupport for a provisional |
| video extension (internal issue 3092). |
| * Expand allowed use of `limittype` XML attribute to additional limit and |
| property structures, and validate its use (internal issue 3101). |
| * Update registry schema and the extension metadocumentation generator |
| script to interpret extension 'requires' attributes as requiring such |
| extensions be enabled for device level functionality, rather than just |
| supported (internal issue 3116). |
| * Replace XML dependency of apiext:VK_KHR_video_queue on |
| apiext:VK_KHR_sampler_ycbcr_conversion with a dependency on |
| apiext:VK_KHR_synchronization2 plus Vulkan 1.1 (internal merge request |
| 5217). |
| * Fix typo in anchor text in the <<clears-inside, Clearing Images Inside A |
| Render Pass Instance>> section (internal merge request 5241). |
| * Use feature template include markup for |
| slink:VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM |
| (internal merge request 5242). |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for June 9, 2022 Vulkan 1.3.217 spec update: |
| |
| * Update release number to 217 for this update. |
| |
| Public Issues: |
| |
| * Clarify meaning of "`private data slot`" for apiext:VK_EXT_private_data |
| (public issue 1675) |
| * Minor markup fix in the <<spirvenv-module-validation-standalone>> |
| section (public merge request 1864). |
| |
| Internal Issues: |
| |
| * Clarify that <<primsrast-sampleshading, Sample Shading>> affects the |
| number of times the fragment shader is evaluated, rather than dictating |
| fragment data (internal issue 3003). |
| * Clarify interaction of the |
| slink:VkPhysicalDeviceLimits::pname:strictLines limit with |
| apiext:VK_EXT_line_rasterization in |
| slink:VkPhysicalDeviceLineRasterizationFeaturesEXT and the |
| <<line_linear_interpolation>> section (internal issue 3042). |
| * Clarify that code:EarlyFragmentTests allows for sample counting after |
| fragment shading and multisample coverage in the introduction to the |
| <<fragops, Fragment Operations>> chapter (internal issue 3085). |
| * Update description of ray tracing <<features-requirements, Feature |
| Requirements>> for consistency and to remove redundancy. Add an issue to |
| apiext:VK_KHR_ray_tracing_pipeline explaining why |
| apiext:VK_KHR_pipeline_library is an interaction, rather than a required |
| dependency. (internal issue 3103). |
| * Define alignment requirements for matrices in terms of arrays. |
| in the <<interfaces-alignment-requirements, |
| Alignment Requirements>> section |
| (internal issue 3105). |
| * Add valid usage statements for code:StorageBuffer and code:Uniform |
| code:PushConstant types to the <<spirvenv-module-validation-standalone, |
| Standalone SPIR-V Validation>> section (internal merge request 5080). |
| * Fix conditional markup interaction for |
| apiext:VK_KHR_depth_stencil_resolve and apiext:VK_KHR_dynamic_rendering |
| in slink:VkRenderingInfo and slink:VkRenderingAttachmentInfo valid usage |
| statements, now that apiext:VK_KHR_dynamic_rendering requires |
| apiext:VK_KHR_depth_stencil_resolve (internal merge request 5224). |
| * Clarify dependencies and fix broken chapter links for |
| apiext:VK_ARM_rasterization_order (internal merge request 5229). |
| * Add a valid usage statement to flink:vkCmdEndRendering to disallow |
| calling it when transform feedback is active (internal merge request |
| 5230). |
| * Update reference to a style guide chapter (internal merge request 5231). |
| * Clarify that slink:VkExportMemoryAllocateInfo::pname:handleTypes can be |
| zero in spec description, matching XML and other pname:handleType |
| members (internal merge request 5234). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_metal_objects |
| * apiext:VK_EXT_non_seamless_cube_map |
| |
| ----------------------------------------------------- |
| |
| Change log for June 2, 2022 Vulkan 1.3.216 spec update: |
| |
| * Update release number to 216 for this update. |
| * Note: most spec updates will occur on Thursdays going forward, not |
| Tuesdays. |
| |
| Public Issues: |
| |
| * Make formal names in the <<synchronization-dependencies-execution>> |
| section more memorable (public pull request 1837). |
| * Refactor slink:VkPipelinenfoKHR / slink:VkPipelineInfoEXT markup (public |
| issue 1857). |
| * Fix conditional markup in the <<shaders-ray-generation-execution Ray |
| Generation Shader Execution>> section for references to shader binding |
| tables (public issue 1858). |
| * Fix "`a`" -> "`an`" typo (public pull request 1865). |
| |
| Internal Issues: |
| |
| * Clarify that flink:vkCmdClearAttachments is not a drawing command |
| (internal issue 3055). |
| * Remove requirements that the boolean |
| slink:VkPhysicalDeviceTexelBufferAlignmentProperties::pnamestorageTexelBufferOffsetSingleTexelAlignment |
| and pname:uniformTexelBufferOffsetSingleTexelAlignment limits must: be a |
| power of two (internal issue 3081). |
| * Fix the structextends and constness issues in |
| apiext:VK_EXT_subpass_merge_feedback (this is a breaking API change, but |
| there is only one known implementation at present) (internal issue |
| 3095). |
| * Update to latest asciidoctor-chunker.js so links to undefined anchors in |
| the chunked HTML outputs are rendered with the undefined anchor and CSS |
| class `"target-missing"`, instead of as `href="undefined"` (internal |
| merge request 5170). |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for May 24, 2022 Vulkan 1.3.215 spec update: |
| |
| * Update release number to 215 for this update. |
| |
| Public Issues: |
| |
| * Fix markup error to make slink:VkImageResolve2 appear right after |
| slink:VkImageResolve, rather than appearing in the next section (public |
| pull request 1856). |
| |
| Internal Issues: |
| |
| * Allow slink:VkDescriptorPoolCreateInfo::pname:poolSizeCount to be `0` in |
| `vk.xml` (internal issue #2974). |
| * Add valid usage statements to flink:vkCmdExecuteCommands requiring that |
| the depth or stencil format in |
| slink:VkCommandBufferInheritanceRenderingInfo must be |
| ename:VK_FORMAT_UNDEFINED if a `NULL` attachment is used |
| (internal issue 3016). |
| * Remove (incomplete) list of SPIR-V decorations from intro of interface |
| matching chapter (internal issue 3043). |
| * Add valid usage statement disallowing |
| VkImageDrmFormatModifierExplicitCreateInfoEXT in the pname:pNext chain |
| of slink:VkDeviceImageMemoryRequirementsKHR (internal issue #3051). |
| * Add missing references to flink:vkQueueSubmit2 in the |
| <<synchronization-fences-signaling>> and |
| <<synchronization-semaphores-signaling, Semaphore Signaling>> sections |
| (internal issue #3077). |
| * Clarify that pipeline libraries can link against other libraries |
| following the description of slink:VkPipelineLibraryCreateInfoKHR |
| (internal issue #3083). |
| * Fix suffix of some SPIR-V tokens to `AMD` for |
| apiext:VK_AMD_shader_early_and_late_fragment_tests (internal merge |
| request #5199). |
| |
| New Extensions: |
| |
| * apiext:VK_KHR_fragment_shader_barycentric |
| |
| ----------------------------------------------------- |
| |
| Change log for May 17, 2022 Vulkan 1.3.214 spec update: |
| |
| * Update release number to 214 for this update. |
| |
| Public Issues: |
| |
| * Clarify protected queue creation language for slink:VkDeviceCreateInfo, |
| slink:VkDeviceQueueCreateInfo, |
| slink:VkDeviceQueueGlobalPriorityCreateInfoKHR, and |
| slink:VkDeviceQueueInfo2 (public issue 1761, internal issue 2978). |
| * Add valid usage statements for usage and format features bits for |
| resolve image commands (public pull request 1826). |
| * Add apiext:VK_KHR_depth_stencil_resolve dependency to |
| apiext:VK_KHR_dynamic_rendering (public pull request 1831). |
| * Make some missing API dependencies explicit in XML (public issue 1840). |
| * Mark slink:VkSubresourceLayout2EXT as `returnedonly` in XML (public pull |
| request 1848). |
| * Replace manual links in VK_KHR_ray_tracing_maintenance1 appendix (public |
| pull request 1849). |
| * Add valid usage statement for pname:pipelinePropertiesIdentifier |
| feature, and change a valid usage statement to refer to the |
| pname:imageCompressionControlSwapchain feature rather than the related |
| extension (public pull request 1852). |
| |
| Internal Issues: |
| |
| * Fix description of parameters defined by |
| apiext:VK_EXT_depth_clip_control for slink:VkViewport (internal issue |
| 3044) |
| * Add valid usage statements to slink:VkGraphicsPipelineCreateInfo banning |
| graphics pipeline libraries having descriptors for other libraries |
| (internal issue 3080). |
| * Add valid usage statements to slink:VkGraphicsPipelineCreateInfo and |
| flink:vkCmdBindDescriptorSets allowing `NULL` set layouts with |
| non-independent sets (internal issue 3082). |
| * Set `noautovalidity` attribute in XML for |
| flink:vkGetPipelinePropertiesEXT::pname:pPipelineProperties (internal |
| issue 3088). |
| * Update apiext:VK_NV_device_diagnostics_config to add a new config bit |
| (internal merge request 5160). |
| * Clarify unsupported conservative point/line rasterization in |
| slink:VkPipelineRasterizationConservativeStateCreateInfoEXT and in valid |
| usage statements for slink:VkGraphicsPipelineCreateInfo (internal merge |
| request 5169). |
| * Add missing `limittype` attributes to XML for |
| slink:VkQueueFamilyProperties* and slink:VkFormatProperties* members |
| (internal merge requests 5171 and 5175). |
| * Improve XML `limittype` attribute of |
| slink:VkPhysicalDeviceFragmentShadingRatePropertiesKHR::pname:maxFragmentShadingRateCoverageSamples |
| for tool chain usage (internal merge request 5177). |
| * Change description of slink:VkPipelineLayoutCreateInfo::pname:flags now |
| that there are flag bits reserved for the underlying type (internal |
| merge request 5180). |
| * Fix typos in slink:VkGraphicsPipelineCreateInfo valid usage statements |
| (internal merge request 5191). |
| * Move attribute settings used in commonvalidity includes inside valid |
| usage blocks to generate correct validusage.json text (internal merge |
| request 5195). |
| |
| New Extensions: |
| |
| * apiext:VK_AMD_shader_early_and_late_fragment_tests |
| |
| ----------------------------------------------------- |
| |
| Change log for May 10, 2022 Vulkan 1.3.213 spec update: |
| |
| * Update release number to 213 for this update. |
| |
| Public Issues: |
| |
| * Replace the list of <<formats-packed, Packed Formats>> with a generated |
| version, and update the format generator script to support conditionals |
| (public pull request 1823). |
| * Fix typo in apiext:VK_INTEL_performance_query (public issue 1845). |
| |
| Internal Issues: |
| |
| * Add valid usage statement limiting |
| slink:VkDisplaySurfaceCreateInfoKHR::pname:transform to a single, |
| supported transformation (internal merge request 5166). |
| * Update sample code for apiext:VK_KHR_ray_query in the extension appendix |
| (internal issue 3066). |
| * Fix some `limittype` attributes for |
| slink:VkPhysicalDeviceTransformFeedbackPropertiesEXT and |
| slink:VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV members in |
| `vk.xml` (internal merge requests 5173 and 5174). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_image_compression_control |
| * apiext:VK_EXT_pipeline_properties |
| * apiext:VK_EXT_subpass_merge_feedback |
| * apiext:VK_KHR_ray_tracing_maintenance1 |
| |
| ----------------------------------------------------- |
| |
| Change log for April 21, 2022 Vulkan 1.3.212 spec update: |
| |
| * Update release number to 212 for this update. |
| |
| Public Issues: |
| |
| * Add <<attachment-type-imagelayout, layout requirements for resolve |
| attachments>> (public issue 1777). |
| * Improve description of and references to elink:VkCompareOp (public pull |
| request 1805). |
| * Fix typos in <<fundamentals-api-name-aliases, typo alias example>> |
| (public pull request 1821). |
| |
| Internal Issues: |
| |
| * Modify pipeline layout override for |
| apiext:VK_EXT_graphics_pipeline_library (internal merge request 5164) |
| * Include graphics pipelines in definition of |
| ename:VK_PIPELINE_CREATE_LIBRARY_BIT_KHR (internal issue 3068). |
| * Add cap for B frame as L1 reference, and disable SPS |
| direct_8x8_inference_flag in provisional apiext:VK_EXT_video_encode_h264 |
| extension (internal issue 3064). |
| * Add implementor's note for memory type index ambiguity to |
| slink:VkMemoryAllocateInfo for |
| apiext:VK_ANDROID_external_memory_android_hardware_buffer (internal |
| issue 2762). |
| * Minor editorial fixes for the <<memory, Memory Allocation>> chapter. |
| |
| ----------------------------------------------------- |
| |
| Change log for April 5, 2022 Vulkan 1.3.211 spec update: |
| |
| * Update release number to 211 for this update. |
| |
| Public Issues: |
| |
| * Clarify dynamic offset with ename:VK_WHOLE_SIZE including new |
| <<buffer-info-effective-range>> language (public issue 1546). |
| * Relax depth copy requirement in common copy image valid usage statement |
| 00153 to ename:VK_IMAGE_TYPE_3D only and clarify copying depth slices |
| for slink:VkImageCopy (public issue 1804). |
| * Avoid a chain of enumerant aliases in `vk.xml` by aliasing |
| ename:VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR directly to |
| ename:VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT (public issue 1814). |
| * Fix structure name containing pname:compareMask value in |
| flink:vkCmdSetStencilCompareMask (public pull request 1806). |
| * Fix miiscellaneous minor markup issues (public pull request 1810). |
| * Simplify <<fundamentals-api-name-aliases, typo alias example>> to refer |
| to aliases in the core API rather than extensions (public pull request |
| 1811). |
| * Fix order of swapchain vs device destruction in |
| flink:vkCreateSwapchainKHR (public pull request 1817). |
| * Minor fix for VK_EXT_graphics_pipeline_library proposal vertex shader |
| sample code (public pull request 1819). |
| |
| Internal Issues: |
| |
| * Clarify timestamps write when the stage is done for |
| flink:vkCmdWriteTimestamp and flink:vkCmdWriteTimestamp2 (internal issue |
| 2287). |
| * Add pname:samplerFilterMinmax feature valid usage statement to |
| slink:VkSamplerCreateInfo (internal issu 2747). |
| * Add success and error codes to `vk.xml` for flink:vkWaitForPresentKHR |
| (internal issue 2822). |
| * Add footnote to flink:vkGetDeviceProcAddr suggesting, but not requiring |
| returning `NULL` for core commands beyond the version supported by the |
| implementation (internal issue 3002). |
| * Fix valid usage statement for slink:VkImageFormatListCreateInfo when the |
| image is created with |
| ename:VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT (internal issue |
| 3032). |
| * Disallow binding ray tracing pipelines to protected command buffers in |
| flink:vkCmdBindPipeline (internal issue 3034). |
| * Update valid usage statements for interaction of |
| flink:vkGetRayTracingShaderGroupHandlesKHR and |
| flink:vkGetRayTracingCaptureReplayShaderGroupHandlesKHR with |
| apiext:VK_KHR_pipeline_library (internal issue 3040). |
| * Add capability flags to report support to disable transform skip and use |
| B frame in L1 reference list for the provisional |
| apiext:VK_EXT_video_encode_h265.txt extension (internal issue 3050). |
| * Update description of |
| slink:VkPipelineShaderStageCreateInfo::pname:module and add valid usage |
| for modules being optional when apiext:VK_EXT_graphics_pipelin_library |
| is supported (internal issue 3059). |
| * Remove redundant slink:VkVideoEncodeInfoKHR and |
| slink:VkVideoDecodeInfoKHR pname:codedOffset / pname:codedExtent |
| parameters from the provisional video extensions (internal issue 3062). |
| * Fix "`code:VkDescriptorSetLayout`" typo in |
| flink:vkCmdBindDescriptorSets. |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_image_2d_view_of_3d |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for March 29, 2022 Vulkan 1.3.210 spec update: |
| |
| * Update release number to 210 for this update. |
| |
| Public Issues: |
| |
| * Clarify that descriptors are not referenced for unused |
| ename:VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT descriptors unless |
| dynamically used (public issue 1794). |
| * Remove "`If renderpass is NULL`" from slink:VkFramebufferCreateInfo |
| valid usage statements (public issue 1800). |
| |
| Internal Issues: |
| |
| * Add valid usage statements to slink:VkAttachmentDescription and |
| slink:VkAttachmentDescription2 for the cases when pname:loadOp is or |
| pname:stencilLoadOp is ename:VK_ATTACHMENT_LOAD_OP_LOAD and |
| pname:initialLayout is ename:VK_IMAGE_LAYOUT_UNDEFINED, and when |
| pname:format is ename:VK_FORMAT_UNDEFINED (internal issue 2349). |
| * Add valid usage statements to slink:VkRenderPassMultiviewCreateInfo and |
| slink:VkSubpassDescription2 to respect <<limits-maxMultiviewViewCount, |
| pname:maxMultiviewViewCount>> (internal issue 2511). |
| * Clarify definition of <<shaders-staticuse, static use instructions>> |
| (internal issue 2639). |
| * Fix typo pname:pRanges -> pname:pRegions in common validity statements |
| for copy image commands (internal issue 3052). |
| * Update valid usage statement for build acceleration structure common VUs |
| to allow inactive instances (internal merge request 5116). |
| * Require <<features-colorWriteEnable, pname:colorWriteEnable>> for |
| apiext:VK_EXT_color_write_enable in the <<features-requirements, Feature |
| Requirements>> section. |
| * Better specify when depth/stencil must be written in |
| slink:VkPipelineShaderStageCreateInfo valid usage statements. |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_graphics_pipeline_library |
| * apiext:VK_EXT_primitives_generated_query |
| |
| ----------------------------------------------------- |
| |
| Change log for March 23, 2022 Vulkan 1.3.209 spec update: |
| |
| * Update release number to 209 for this update. |
| |
| Public Issues: |
| |
| * Add VU to slink:VkImageViewCreateInfo ensuring |
| slink:VkImageViewCreateInfo::pname:format and |
| slink:VkSamplerYcbcrConversionCreateInfo::pname:format are the same when |
| used together (public issue 1752). |
| * Add VU to slink:VkMemoryAllocateInfo to limit to one import operation at |
| a time (public issue 1782). |
| |
| Internal Issues: |
| |
| * Rephrase some VUs for apiext:VK_EXT_color_write_enable (internal issue |
| 2868). |
| * Update code:Std* structures in provisional video extensions to remove |
| SPS and VPS IDs from code:StdVideoDecode*PictureInfo. The implementation |
| should obtain the IDs indirectly from the associated PPS picture |
| parameters based on the picture parameter and slice header PPS IDs. |
| Unify/add STD Encode h.264/265 weight tables (internal issue 2930). |
| * Many minor updates to versioning and reporting for the provisional video |
| extensions (internal issue 3019). |
| * Add VU to slink:VkDeviceCreateInfo to require consistent global |
| priorities for protected and unprotected queues created from the same |
| queue family (internal issue 3021). |
| * Fix some `ifndef::` conditional expression markup (internal issue 3038). |
| * Remove the "`Common Operation`" section near the start of the <<copies>> |
| chapter and refactor the bullet points into commonvalidity valid usage |
| statements, if not already covered by VUs (internal issue 3039). |
| * Add some valid usage statements to the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section that were already being checked by `spirv-val` (internal merge |
| request 5081). |
| * Make markup for code:OpImage*Dref* consistent (internal merge request |
| 5091). |
| * Remove VU 04676, which replicates a statement in the SPIR-V |
| specification, from <<spirvenv-module-validation-standalone, Standalone |
| SPIR-V Validation>> (internal merge request 5094). |
| * Clarify that the pname:finalLayout of an attachment is not ignored in |
| the <<renderpass-load-store-ops>> section for |
| slink:VkAttachmentDescription (internal merge request 5101). |
| * Add VU for ename:VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT dynamic state to |
| the common validity statements for drawing commands (internal merge |
| request 5103). |
| |
| ----------------------------------------------------- |
| |
| Change log for March 15, 2022 Vulkan 1.3.208 spec update: |
| |
| * Update release number to 208 for this update. |
| |
| Internal Issues: |
| |
| * Change definition of _inactive triangle_ in the |
| <<acceleration-structure-inactive-prims, Inactive Primitives and |
| Instances>> section to one for which the first (X) component of _any_ |
| vertex is NaN (internal issue 3026). |
| * Add storage image equivalence for code:AHardwareBuffer-backed external |
| memory in slink:VkMemoryAllocateInfo and the |
| <<memory-external-android-hardware-buffer-usage, AHardwareBuffer Usage |
| Equivalence>> table (internal issue 3004). |
| |
| New Extensions: |
| |
| * apiext:VK_KHR_portability_enumeration |
| |
| ----------------------------------------------------- |
| |
| Change log for March 8, 2022 Vulkan 1.3.207 spec update: |
| |
| * Update release number to 207 for this update. |
| |
| GitHub Issues: |
| |
| * Rejoin part of flink:vkCreateSwapchainKHR language that had become |
| dislocated from the start of the description (public pull request 1613). |
| * Correct the `limittype` attribute for |
| slink:VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV::pname:maxFragmentShadingRateInvocationCount |
| (public issue 1767). |
| * Fix markup typo in |
| slink:VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR |
| (public issue 1786). |
| * Use consistent terminology for variable-sized descriptor bindings, and |
| add a glossary entry for the term (public issue 1724). |
| * Specify `optional` attribute correctly for the |
| pname:pDrmFormatModifierProperties member of |
| slink:VkDrmFormatModifierPropertiesListEXT and |
| slink:VkDrmFormatModifierPropertiesList2EXT (public issue 1766). |
| * Fix `limittype` attribute value for |
| slink:VkPhysicalDeviceLimits::pname:maxColorAttachments (public issue |
| 1768). |
| * Add valid usage statements to slink:VkRenderPassMultiviewCreateInfo and |
| slink:VkSubpassDescription2 to constrain requirements for the |
| <<features-multiview>> feature on render pass creation (public issue |
| 1774). |
| * Fix typos in the apiext:VK_KHR_deferred_host_operations appendix (public |
| issue 1784). |
| * Fix typo "`unscaled`" -> "`scaled`" in filtering and conversion rules |
| for flink:vkCmdBlitImage (public merge request 1792). |
| |
| Internal Issues: |
| |
| * Clarify SPIR-V valid usage statement 04680, and remove 06273, by stating |
| all possible uses of code:OpTypeRuntimeArray allowed and then removing |
| the restriction at runtime if <<features-runtimeDescriptorArray, |
| runtimeDescriptorArray>> is not enabled (internal issue 2408). |
| * Update <<resources-image-inherited-usage>> and |
| slink:VkImageViewCreateInfo to remove requirement for a YCbCr sampler |
| for video image views (internal issue 2688). |
| * Specify in the <<primsrast-depthbias-computation, Depth Bias |
| Computation>> section that depth bias only works with polygon topologies |
| with any polygon mode, but not line and point topologies (internal issue |
| 2793). |
| * Add slink:VkVideoDecodeCapabilitiesKHR, |
| elink:VkVideoDecodeCapabilityFlags, and |
| elink:VkVideoDecodeCapabilityFlagBitsKHR to the provisional |
| apiext:VK_KHR_video_decode_queue extension (internal issue 2964). |
| * Clarify which layers of an attachment et automatic layout transitions in |
| the <<renderpass-layout-transitions>> section (internal issue 3012). |
| * Make slink:VkDeviceImageMemoryRequirements::pname:planeAspect `optional` |
| in `vk.xml` (internal issue 3020). |
| * Make it more obvious that an AS update cannot change active <-> inactive |
| primitives and instances in the <<acceleration-structure-update, |
| Acceleration Structure Update Rules>> section (internal issue 3025). |
| * Clarify when the various ptext:p*State members of |
| slink:VkGraphicsPipelineCreateInfo members are used (internal issue |
| 3028). |
| * Fix resolution of issues 1 and 3 for apiext:VK_EXT_depth_clip_control |
| (internal merge request 5057). |
| * Add VUs to slink:VkAttachmentDescription2 to avoid specifying stencil |
| layout twice with depth/stencil attachments. |
| * Fix markup typo in slink:VkPhysicalDeviceMultiDrawPropertiesEXT that |
| resulted in the wrong structure name being embedded in common valid |
| usage statements. |
| * Fix missing `len` attribute in `vk.xml` for |
| slink:VkVideoProfilesKHR::pname:pProfiles. |
| |
| New Extensions: |
| |
| * apiext:VK_VALVE_descriptor_set_host_mapping |
| |
| ----------------------------------------------------- |
| |
| Change log for February 17, 2022 Vulkan 1.3.206 spec update: |
| |
| * Update release number to 206 for this update. |
| |
| GitHub Issues: |
| |
| * Add valid usage statements common to draw dispatch commands restricting |
| allowed instructions (public issue 1749). |
| * Remove unused elink:VkPrivateDataSlotCreateFlagBits type from `vk.xml` |
| (public issue 1754). |
| * Clarify that flink:vkGetInstanceProcAddr should return a valid function |
| pointer when the first argument is either NULL or a valid instance |
| handle (public issue 1763). |
| * Add `returnedonly="true"` attribute to |
| slink:VkPhysicalDeviceShaderIntegerDotProductProperties in `vk.xml` |
| (public issue 1771). |
| * Add `objecttype` attribute to |
| slink:VkDeviceMemoryReportCallbackDataEXT::pname:objectHandle in |
| `vk.xml` (public issue 1772). |
| |
| Internal Issues: |
| |
| * Update encoder capability APIs in the provisional video extensions to |
| align with H.264/H.265 codecs and support a broader range of |
| implementations (internal issues 1842 / 2842). |
| * Add `spirvextension` tag to `vk.xml` expressing the relationship between |
| apiext:VK_INTEL_shader_integer_functions2 and |
| `SPV_INTEL_shader_integer_functions` (internal issue 2899) |
| * Add a deprecation note for code:WorkgroupSize (internal issue 2908). |
| * Align the provisional slink:VkVideoEncodeH264VclFrameInfoEXT structure |
| to the similar one in apiext:VK_EXT_video_encode_h265 (internal issue |
| 2966). |
| * Add valid usage statements making code:SkipTrianglesKHR and |
| code:SkipAABBsKHR mutually exclusive (internal issue 2994). |
| * Do not include valid usage statements requiring that the |
| <<features-extendedDynamicState, extendedDynamicState>> feature be |
| enabled when building Vulkan 1.3 specifications (internal issue 3005). |
| * Update valid usage statements 06423 and 06424 common to draw dispatch |
| commands to use "`image view format`" rather than "`image format`" |
| (internal issue 3008). |
| * Remove mistaken requirement of |
| <<features-descriptorBindingUniformBufferUpdateAfterBind, |
| pname:descriptorBindingUniformBufferUpdateAfterBind>> for the |
| <<profile-features-roadmap-2022, Roadmap 2022>> profile (internal issue |
| 3017). |
| * Remove mistaken requirement of |
| <<features-vulkanMemoryModelAvailabilityVisibilityChains, |
| pname:vulkanMemoryModelAvailabilityVisibilityChains>> for Vulkan 1.3 in |
| the <<features-requirements, Feature Requirements>> section. |
| * Add valid usage statements to |
| sname:VkCommandBufferInheritanceRenderingInfo, |
| sname:VkPipelineRenderingCreateInfo, and sname:VkRenderingInfo requiring |
| that pname:depthAttachmentFormat and pname:stencilAttachmentFormat |
| include the corresponding aspects. |
| * Remove references to |
| slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT when |
| apiext:VK_EXT_buffer_device_address is not present. |
| * Clarify that excess image write data is discarded in the |
| <<textures-output-format-conversion, Texel Output Format Conversion>> |
| section (internal merge request 5053). |
| |
| ----------------------------------------------------- |
| |
| Change log for February 4, 2022 Vulkan 1.3.205 spec update: |
| |
| * Update release number to 205 for this update. |
| |
| GitHub Issues: |
| |
| * Fix <<renderpass-attachment-nonattachment>> access language. Add related |
| valid usage statements for flink:vkCmdExecuteCommands and common VUs for |
| drawing commands, and update the glossary definition of "`Image |
| Subresources`" to include "`a specific ... set of aspects of an image`" |
| (public issues 1340, 1345, 1559; internal issues 2152, 2725). |
| * Fix markup "If" and punctuation issues (public pull request 1725). |
| * Fix link to incorrect structure for flink:vkCmdSetDepthBias command |
| (public pull request 1726). |
| * Improve wording of vkCmdBindDescriptorSets (public pull request 1732). |
| * Fix mismatching struct member descriptions in |
| slink:VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV (public issue |
| 1735, 1736). |
| * Clarify that slink:VkImageCreateInfo::pname:flags is referred to by |
| slink:VkImageViewCreateInfo valid usage statement 04971 (public issue |
| 1740). |
| * Add missing `SPV_KHR_device_group` `spirvextension` tag to `vk.xml` |
| (public issue 1745). |
| * Reference underlying type instead of promoted type alias in |
| `structextends` attributes for slink:VkSampleLocationsInfoEXT and |
| slink:VkCopyCommandTransformInfoQCOM (public pull request 1746). |
| * Fix typo in <<features-storageBuffer8BitAccess, |
| storageBuffer8BitAccess>> xref (public pull request 1750). |
| * Fix formula markup in <<textures-texel-anisotropic-filtering, Texel |
| Anisotropic Filtering>> section (public pull request 1753). |
| * Fix typo in `.sType` member for |
| `proposals/VK_KHR_dynamic_rendering.asciidoc` (public pull request |
| 1762). |
| * Add missing `len` attribute for |
| slink:VkImageFormatConstraintsInfoFUCHSIA::pname:pColorSpaces in |
| `vk.xml` (https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=91104, |
| internal merge request 5021). |
| |
| Internal Issues: |
| |
| * Rename `slice` to 'sliceSegment` in several provisional video extension |
| APIs (internal issue 2833). |
| * Fix several valid usage statements for |
| slink:VkDeviceImageMemoryRequirementsKHR (internal issue 2967). |
| * XML fixes for slink:VkAttachmentSampleCountInfoAMD members |
| pname:colorAttachmentCount and pname:pColorAttachmentSamples (internal |
| issue 2968). |
| * Remove `const` from pname:pNext member of |
| slink:VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM |
| (internal issue 2973). |
| * Make definition of <<code:RayTminKHR>>, <<code:WorldRayDirectionKHR>>, |
| and <<code:WorldRayOriginKHR>> values less vague (internal issue 2984). |
| * Remove `externsync` attribute for slink:VkBuffer and slink:VkImage in |
| flink:vkQueueBindSparse (internal issue 2989). |
| * Move the <<roadmap, Vulkan Roadmap Milestones>> title markup up one |
| level so that this section appears as a separate appendix rather than |
| accidentally being merged into the previous appendix (internal issue |
| 2990). |
| * Fix a few places where promotion of APIs to Vulkan 1.3 should have |
| happened, but didn't, including defining ename:VK_IMAGE_ASPECT_NONE in |
| `vk.xml` and aliasing ename:VK_IMAGE_ASPECT_NONE_KHR to it (internal |
| issue 2999). |
| * Fix link to pipeline dynamic state section (internal merge request |
| 4990). |
| * Add video codec headers to dependencies in `xml/Makefile` so 'make test' |
| works (internal merge request 4991). |
| * Fix caption for <<img-innertri, Inner Triangle Tessellation figure>> |
| (internal merge request 4994). |
| * Fix implication of code:EarlyFragmentTests when representative fragment |
| test is enabled in |
| slink:VkPipelineRepresentativeFragmentTestStateCreateInfoNV (internal |
| merge request 5006). |
| * Set `noautovalidity` attribute for |
| slink:VkVideoDecodeH264ProfileEXT::pname:pictureLayout to avoid |
| conflicting valid usage statements (internal issue 2946). |
| * Specify which structure is extended by |
| slink:VkQueueFamilyGlobalPriorityPropertiesKHR (internal issue 2982). |
| * Change a reference from sname:VkImageFormatProperties2 to |
| slink:VkFormatProperties2 in the <<resources-image-creation-limits>> |
| section (internal merge request 5016). |
| * Specify that the <<features-dynamicRendering, pname:dynamicRendering>> |
| feature is required by Vulkan 1.3 and the |
| apiext:VK_KHR_dynamic_rendering extension (internal merge request 5017). |
| * Fix typo in <<features-shaderZeroInitializeWorkgroupMemory, |
| shaderZeroInitializeWorkgroupMemory>> xref (internal merge request |
| 5020). |
| * Add `Promotion to Vulkan 1.3` language in the |
| <<VK_KHR_buffer_device_address>> appendix to specify that |
| code:bufferDeviceAddress feature support is mandatory, unlike Vulkan |
| 1.2. |
| * Clarify that state is not inherited from static to dynamic pipelines in |
| the <<pipelines-dynamic-state, Dynamic State>> section. |
| |
| ----------------------------------------------------- |
| |
| Change log for January 25, 2022 Vulkan 1.3.204 spec update: |
| |
| * Vulkan 1.3 initial release. Update release number to 204 for this |
| update. The patch number will be used for all Vulkan 1.x spec updates, |
| and continue to increment continuously from the previous Vulkan 1.2.203 |
| update. |
| |
| GitHub Issues: |
| |
| * Reserve driver ID ename:VK_DRIVER_ID_MESA_VENUS (public merge request |
| 1733). |
| |
| Internal Issues: |
| |
| * Update scripts and registry schema document to support multiple API |
| names in the `api` and `supported` attributes, to allow specializing API |
| definitions (internal issue 2809). |
| * Minor updates - update copyright dates to 2022, update release scripts |
| to generate artifacts for 1.3 as well as earlier specification versions |
| (internal issue 2969). |
| |
| New Features: |
| |
| * apiext:VK_KHR_global_priority (internal merge request 4869). |
| * <<roadmap-2022, `VK_KHR_roadmap_2022`>> ("`Roadmap 2022`") profile |
| (internal merge request 4797). |
| |
| ----------------------------------------------------- |
| |
| Change log for December 20, 2021 Vulkan 1.2.203 spec update: |
| |
| * Update release number to 203 for this update. |
| |
| GitHub Issues: |
| |
| * Generate auxiliary `vk_video` headers containing definitions of |
| `StdVideo*` types from new `xml/video.xml`, rather than including static |
| copies in the repository (public issue 1505). |
| * Clarify indexing of |
| slink:VkPipelineColorBlendStateCreateInfo::pname:pAttachments (public |
| issue 1656). |
| * Relocate VUID-VkWriteDescriptorSet-descriptorType-00322 to the commands |
| to which the structure is passed, and modify constraints in the VU for |
| flink:vkCmdPushDescriptorSetKHR to account for its behavior with |
| etext:SAMPLER and etext:COMBINED_IMAGE_SAMPLER descriptor types (public |
| issue 1686). |
| * Fix length inputs for optional array parameters in |
| slink:VkCuLaunchInfoNVX to allow pname:paramCount and pname:extraCount |
| to be set to zero. (public issue 1709). |
| * Fix typo pname:ppEnabledExtensions -> pname:ppEnabledExtensionNames |
| (public issue 1719). |
| |
| Internal Issues: |
| |
| * Add slink:VkQueueFamilyQueryResultStatusProperties2KHR structure to the |
| provisional apiext:VK_KHR_video_queue extension to report support (or |
| lack thereof) for the ename:VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR query |
| type ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR status bit (internal |
| issue 2927). |
| * Add language to slink:VkImageCreateInfo, elink:VkImageUsageFlagBits, |
| tlink:VkImageUsageFlags, and slink:VkImageLayout for how to specify |
| usage flags when creating images for Vulkan Video implementations |
| requiring separate decode DPB and output (internal issue 2926). |
| * Require that newly created video sessions be reset before use in |
| slink:VkVideoCodingControlInfoKHR and |
| elink:VkVideoCodingControlFlagBitsKHR (internal issue 2928). |
| * Fix math <<textures-image-level-selection, describing image level |
| selection>> with apiext:VK_EXT_image_view_min_lod (internal issue 2943). |
| * Add temporal layer count field to |
| slink:VkVideoEncodeH264RateControlInfoEXT and |
| slink:VkVideoEncodeH265RateControlInfoEXT structures (internal issue |
| 2948). |
| * Add a <<spirvenv-module-validation-runtime, Runtime SPIR-V valid usage |
| statement>> to enforce the <<limits-maxComputeSharedMemorySize, |
| pname:maxComputeSharedMemorySize limit>> (internal merge request 4846). |
| * Correct etext:VK_FORMAT_ETC2_R8G8B8A8_*_BLOCK block sizes to 128 bits in |
| the XML format tags (internal merge request 4975). |
| * Script and schema updates to correctly filter out XML elements with |
| non-matching 'api' attributes and support 'api' attributes on additional |
| XML tags (internal merge request 4981). |
| * Add apiext:VK_KHR_fragment_shading_rate proposal document to |
| retroactively provide justification and design document overview |
| (internal merge request 4983). |
| * Update generator scripts to properly handle <remove> elements containing |
| non-extending <enums>. |
| * Restructure some structure descriptions for better adherence to the |
| style guide and more detailed descriptions of their members. |
| |
| New Extensions: |
| |
| * apiext:VK_GOOGLE_surfaceless_query (internal merge request 4927). |
| * apiext:VK_NV_linear_color_attachment (internal merge request 4956). |
| * apiext:VK_QCOM_fragment_density_map_offset (internal merge request 4824). |
| |
| ----------------------------------------------------- |
| |
| Change log for December 7, 2021 Vulkan 1.2.202 spec update: |
| |
| * Update release number to 202 for this update. |
| |
| GitHub Issues: |
| |
| * Split some valid usage statements for slink:VkAttachmentDescription |
| so they can have appropriate conditional protection |
| (public pull request 1698). |
| * Clean up links to GLSL and SPIR-V extension documents (public pull |
| request 1705). |
| * Fix markup for <<primsrast-polygon-barycentrics, perspective |
| interpolation>> math (public pull request 1711). |
| |
| Internal Issues: |
| |
| * Clarify valid usage statements for |
| flink:vkCmdWriteTimestamp2KHR::pname:stage to accommodate |
| ename:VK_PIPELINE_STAGE_2_NONE_KHR (internal issue 2867). |
| * Disallow descriptorset decorations on non-descriptor ray tracing |
| variables in the <<spirvenv-module-validation-standalone, Standalone |
| SPIR-V Validation>> section (internal issue 2881). |
| * Fix sentence describing behavior when |
| slink:VkRenderingFragmentDensityMapAttachmentInfoEXT is not present in |
| the slink:VkRenderingInfoKHR::pname:pNext chain (internal issue 2881). |
| * Require that |
| slink:VkPhysicalDeviceRayTracingPipelinePropertiesKHR::pname:shaderGroupHandleAlignment |
| be a power of two (internal merge request 4943). |
| * Add a new ename:VK_IMAGE_ASPECT_NONE_KHR=0 enum to |
| slink:VkImageAspectFlagBits in the apiext:VK_KHR_maintenance4 extension |
| so that pname:planeAspect can be set to zero without having to use a |
| cast, and fix some typos (internal merge request 4961). |
| * Add "`must: be a power of two`" to all alignment limits (internal issue |
| 2939). |
| * Make all limit anchors follow the `[[limit-NAME]]` style (internal merge |
| request 4969). |
| * Require render pass to be valid and add missing state subset |
| dependencies to slink:VkGraphicsPipelineCreateInfo valid usage |
| statements for apiext:VK_ARM_rasterization_order_attachment_access |
| (internal merge request 4970). |
| * Parameterize OpenGL and GLSL extension registry URLs via Asciidoctor |
| attributes in `config/attribs.txt`, and move the existing SPIR-V |
| extension registry URL from the Makefile into that file. Use `https:` |
| prefixes on URLs instead of `http:` where possible. |
| |
| ----------------------------------------------------- |
| |
| Change log for November 30, 2021 Vulkan 1.2.201 spec update: |
| |
| * Update release number to 201 for this update. |
| |
| GitHub Issues: |
| |
| * Fix typo in refpage description of ename:VK_REMAINING_MIP_LEVELS |
| (public pull request 1702). |
| * Add missing structextends attribute for |
| slink:VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM |
| (public issue 1703). |
| * Fixes and clarifications to valid usage statements for |
| slink:VkRenderPassCreateInfo, |
| slink:VkRenderPassFragmentDensityMapCreateInfoEXT, and |
| slink:VkSubpassDescriptionDepthStencilResolve (matching changes in |
| public Vulkan-ValidationLayers pull request 3571). |
| |
| Internal Issues: |
| |
| * Changes to the provisional video extension encode rate control API, |
| including changing some existing structures and adding new structures |
| and flags (internal issue 1844). |
| * Update valid usage statements for apiext:VK_NV_mesh_shader (internal |
| issue 2880). |
| * Remove valid usage statement IDs 02854 / 02855 / 06081 / 06082, which |
| are duplicates of 06166 / 06167 (internal issue 2944). |
| * Add a valid usage statement banning code:OpImage*Dref* instructions on |
| non-depth views (internal merge request 3889). |
| * Add CI test for disallowed contractions (internal merge request 4934). |
| * Generate the <<formats-compatibility, Format Compatibility Class Table>> |
| from XML tags (internal merge request 4936). |
| * Clarify that dependent operations of quad-sensitive ops have helpers |
| (internal merge request 4947). |
| * Remove redundant valid usage statement for |
| apiext:VK_QCOM_render_pass_shader_resolve (internal merge request 4950). |
| * Support `api` attribute fully in XML and scripts (internal merge request |
| 4951). |
| * Fix pname:planeIndex attribute in format XML for |
| ename:VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 (internal |
| merge request 4953). |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for November 23, 2021 Vulkan 1.2.200 spec update: |
| |
| * Update release number to 200 for this update. |
| |
| GitHub Issues: |
| |
| * Refer to flink:vkCmdPipelineBarrier2KHR::pname:pDependencyInfo as a |
| pointer, not an array (public issue 1456). |
| * Fix spelling and add backwards-compatibility aliases for some |
| elink:VkPipelinCreateFlagBits values (public issue 1676). |
| * Fix typo in apiext:VK_INTEL_shader_integer_functions2 (public issue |
| 1696). |
| * Replace usage of {depth, color} buffer with {depth, color} attachment |
| (public pull request 1701). |
| * Add restriction to the <<formats-mandatory-features-depth-stencil, |
| manadatory format support table>> for depth/stencil formats preventing |
| implementations from advertising those bits in |
| slink:VkFormatProperties::pname:bufferFeatures (public |
| Vulkan-ValidationLayers issue 3225). |
| |
| Internal Issues: |
| |
| * Add an additional guarantee for buffer memory requirements in |
| slink:VkMemoryRequirements as a minor update to the |
| apiext:VK_KHR_maintenance4 extension (internal issue 2885). |
| * Add a <<fundamentals-api-name-aliases, section to the fundamentals |
| chapter>> describing typo aliases (internal issue 2897). |
| * Determine extensions dependencies directly from `vk.xml` in the build |
| scripts, rather than generating an auxiliary `extDependency.py` target |
| (internal issue 2923). |
| * Remove redundant SPIR-V `RuntimeSpirv` valid usage statements 04830, |
| 06271, 06374, and 06375 (internal merge requests 4827, 4830). |
| * Suppress file-not-found `include::` errors for validusage target, using |
| an IncludeProcessor extension, due to the way in which the validusage |
| extension processes conditionals. Make all include paths absolute and |
| require this in the style guide (internal merge request 4925). |
| * Add missing `optional="true"` attribute to |
| slink:VkCommandBufferInheritanceRenderingInfoKHR::pname:colorAttachmentCount |
| (internal merge request 4935). |
| * Remove references to apiext:VK_KHR_synchronization2 enums when that |
| extension is not enabled in the specification being built (internal |
| merge request 4937). |
| * Minor wording changes for style guide compliance and consistency |
| (internal merge request 4938). |
| * Ignore etext:*_EXTENSION_NAME and etext:*_SPEC_VERSION aliases in |
| `makemanaliases.py` script since there are no corresponding refpages for |
| these meta-enums. |
| |
| New Extensions: |
| |
| * apiext:VK_ARM_rasterization_order_attachment_access (internal merge |
| request 3856). |
| * apiext:VK_EXT_depth_clip_control (public issues 986 and 1054). |
| |
| ----------------------------------------------------- |
| |
| Change log for November 16, 2021 Vulkan 1.2.199 spec update: |
| |
| * Update release number to 199 for this update. |
| |
| GitHub Issues: |
| |
| * Add upper bound for stext:AccelerationStructure geometry limits for |
| slink:VkPhysicalDeviceRayTracingPropertiesNV and |
| slink:VkPhysicalDeviceAccelerationStructurePropertiesKHR (public issue |
| 1670). |
| * Trivial typos in proposal documents (public pull request 1682). |
| * Add missing stage mask common valid usage statements to |
| slink:VkSubmitInfo, slink:VkSubpassDependency, and |
| slink:VkSubpassDependency2; remove unused common VU 4098; and add new |
| stage mask VUs to flink:vkCmdBeginRenderPass, |
| flink:vkCmdBeginRenderPass2, flink:vkCmdSetEvent, flink:vkCmdResetEvent, |
| flink:vkCmdWaitEvents, and flink:vkCmdPipelineBarrier (public |
| Vulkan-ValidationLayers pull request 3331). |
| |
| Internal Issues: |
| |
| * Fix formatting of <<versions-1.0, Vulkan 1.0>> appendix section headers |
| (internal issue 2921). |
| * Fix location of bad conditional `endif::` in SPIR-V environment appendix |
| VU 06271 (internal issue 2917). |
| * Use etext:VK_VERSION_m_n instead of etext:VK_API_VERSION_m_n in |
| `<spirvcapability>` and `<spirvextension>` XML tags for consistency with |
| other version / extension reqiurements. Note that there is a possibility |
| of this change affecting downstream consumers of the XML (internal issue |
| 2896). |
| * Add refpage cross-reference from slink:VkSwapchainKHR to |
| flink:vkQueuePresent (internal issue 2823). |
| * Update apiext:VK_KHR_dynamic_rendering |
| proposal document to use etext:STORE_OP_DONT_CARE |
| (internal merge request 4924). |
| * Fix most remaining dead links in the published specifications and |
| refpages by adding missing API language for basetype:VkFlags64; |
| stub reference pages for apiext:VK_NVX_binary_import; and |
| tag refpage aliases for API constants which were promoted to core |
| (internal merge request 4921). |
| * Add description of elink:VkFormats in the new <formats> |
| tag for `vk.xml`, and corresponding schema and script updates. |
| (internal issues 1761, 2484, and 2811). |
| |
| New Extensions: |
| |
| * apiext:VK_EXT_image_view_min_lod (internal merge request 4701). |
| |
| ----------------------------------------------------- |
| |
| Change log for November 9, 2021 Vulkan 1.2.198 spec update: |
| |
| * Update release number to 198 for this update. |
| |
| GitHub Issues: |
| |
| * Sort dependencies of "`Provided by`" comments in generated API includes, |
| and remove duplicates (public issue 1483, internal issue 2620). |
| * Remove max-width attribute from document headers, causing CSS to limit |
| page width in wide windows (public pull request 1660). |
| |
| Internal Issues: |
| |
| * Filter out `VK_VERSION_1_x` pages when generating refpage sources for a |
| build that does not include the corresponding core version (internal |
| issue 1971). |
| * Adjust section header level for extension appendix refpages to match |
| other refpages (internal issue 2151). |
| * Add and fix protected memory valid usage statements to require queues be |
| protected if any batch if a protected batch, and restrict indirect |
| operations when pname:protectedNoFault is supported (internal issues |
| 2169, 2841) |
| * Generate refpages to SPIR-V builtins, which were marked up in the spec |
| source but not being extracted and built (internal issue 2395). |
| * Clarify VUID 04918 regarding use of code:Location decorations (internal |
| issue 2737). |
| * Remove redundant nested VK_VERSION_1_1 conditional markup from the |
| <<initialization>> chapter (internal issue 2851). |
| * Add code:IdrPicFlag to code:StdVideoDecodeH264PictureInfoFlags for |
| provisional video extensions (internal issue 2901). |
| * Fix incorrect example code in apiext:VK_HUAWEI_subpass_shading appendix |
| sample code (internal merge request 4889). |
| * Promote ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT and |
| ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT in a few |
| places where the etext:KHR suffixes had not been removed (internal merge |
| request 4902). |
| * Add missing format properties consistency checks for |
| slink:VkDrmFormatModifierPropertiesList2EXT and |
| slink:VkAndroidHardwareBufferFormatProperties2ANDROID. |
| * Minor editorial markup fixes. |
| |
| ----------------------------------------------------- |
| |
| Change log for November 2, 2021 Vulkan 1.2.197 spec update: |
| |
| * Update release number to 197 for this update. |
| |
| GitHub Issues: |
| |
| * Align some of the provisional video standard headers enums and bitfields |
| to have predictable sizes (public issue 1571). |
| * Remove exporting of D3D memory handles from |
| slink:VkExportMemoryWin32HandleInfoKHR (public pull request 1612). |
| * Add language to slink:VkAccelerationStructureBuildGeometryInfoKHR |
| explicitly stating that source and target acceleration structures are |
| allowed to be the same or different during an update (public issue |
| 1641). |
| * Fix typos (public pull request 1662). |
| * Register remaining newly introduced `vk_video` types in `vk.xml` (public |
| pull request 1663). |
| |
| Internal Issues: |
| |
| * Clarify <<resources-external-sharing, ownership transfers on external |
| resources>> (internal issue 2692). |
| * Changes to (nearly) eliminate dead internal links and improve scripts: |
| ** Correctly generate API dependencies on extensions and core versions in |
| cases where "`spelling aliases`" were present |
| ** Clean up a few incorrectly marked up links, anchors, and refpage block |
| alias= attributes |
| ** Use an API alias map to substitute promoted API names for promoted-to |
| APIs when an older or restricted spec is being generated and the |
| promoted-to API is not included |
| * Tag sname:VkVideo{Encode,Decode}H26{4,5}ProfileEXT structures as |
| extending slink:VkQueryPoolCreateInfo in `vk.xml` (internal issue 2861). |
| * Grammar edits to slink:VkAccelerationStructureKHR (internal issue 2887). |
| * Change the cited title of the <<LoaderInterfaceArchitecture>> document |
| to "`Architecture of the Vulkan Loader Interfaces`" matching a recent |
| change in https://github.com/KhronosGroup/Vulkan-Loader/pull/685 |
| (internal merge request 4823). |
| * Re-remove etext:VkVideoEncodeH265CapabilityFlagBitsEXT, which was |
| accidentally reintroduced but is still unused (internal merge request |
| 4885). |
| * Update wording for |
| ename:VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR since it no |
| longer contains `"update`" (internal merge request 4886). |
| * Consistency edits to remove "`instance of`" when referring to a specific |
| structure, and use "`render pass`" instead of "`renderpass`" as a noun |
| (internal merge request 4896). |
| * Add -version option to 'makeSpec' frontend build script. |
| |
| New Extensions |
| |
| * `<<VK_KHR_dynamic_rendering>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for October 13, 2021 Vulkan 1.2.196 spec update: |
| |
| * Update release number to 196 for this update. |
| |
| GitHub Issues: |
| |
| * Clarify normative language for |
| ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT in |
| elink:VkImageUsageFlagBits, allowing two styles of implementation |
| (public issue 1616). |
| * Fix typo in flink:vkCmdSetScissor (public pull request 1659). |
| * Reorder attributes of elink:VkFormatFeatureFlags2KHR in `vk.xml` for |
| consistency (public pull request 1653). |
| |
| Internal Issues: |
| |
| * More cleanup of internal broken links in various builds of the specs. |
| Fix typos on xrefs and anchors, add stub pages for missing Flags and |
| FlagBits types, update `spirvcapgenerator.py` to put anchors with the |
| same table row they belong to, validate `apiext:` macro targets at build |
| time, and don't generate API requirements for `<type>` tags with no |
| `category`, eliminating spurious warnings for external types (internal |
| issues 2864, 2866). |
| * Update `htmldiff` scripts for Python3. |
| * Add subsection titles and anchors in the <<fxvertex, Fixed-Function |
| Vertex Processing>> chapter to make thematic breaks more clear (internal |
| merge request 4867). |
| |
| New Extensions |
| |
| * `<<VK_EXT_border_color_swizzle>>` |
| * `<<VK_EXT_video_encode_h265>>` *provisional* H.265 video encode codec extension |
| |
| ----------------------------------------------------- |
| |
| Change log for October 5, 2021 Vulkan 1.2.195 spec update: |
| |
| * Update release number to 195 for this update. |
| |
| GitHub Issues: |
| |
| * Add a NOTE to flink:vkDestroyQueryPool clarifying when a query pool can |
| be destroyed (public issue 1647). |
| |
| Internal Issues: |
| |
| * Begin cleanup of internal broken links in various builds of the specs, |
| including generating a Ruby API map to be used by the Asciidoctor macros |
| to validate their API name arguments; using "nofollow" on GitHub issue |
| opening links to avoid link-checkers being interpreted as DOS attacks; |
| improved checker scripts; minor markup fixes; and using the `apiext:` |
| macro to replace `<<VK_KHR_extension_name>>`-style extension links |
| everywhere (internal issue 2831). |
| * Minor editorial cleanups to descriptions of |
| apiext:VK_FUCHSIA_buffer_collection APIs (internal issue 2836). |
| * Match `Cull Mask` SPIR-V name to pname:mask parameter name in the |
| <<acceleration-structure, Acceleration Structures>> chapter (internal |
| merge request 4844). |
| * Add pname:minTexelOffset and pname:maxTexelOffset limit valid usage |
| statements for code:OpImageSample* and code:OpImageFetch* in the |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| section (internal merge request 4845). |
| * Add pname:maxFragmentDualSrcAttachments and |
| pname:maxFragmentCombinedOutputResources limit valid usage statements |
| for output and color attachments in the |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| section (internal merge request 4847). |
| |
| New Extensions |
| |
| * `<<VK_KHR_format_feature_flags2>>` |
| * `<<VK_KHR_maintenance4>>` |
| * `<<VK_EXT_rgba10x6_formats>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for September 28, 2021 Vulkan 1.2.194 spec update: |
| |
| * Update release number to 194 for this update. |
| |
| GitHub Issues: |
| |
| * Add missing `len` attribute to |
| slink:VkCuModuleCreateInfoNVX::pname:pData (public merge request 1646). |
| * Refer to dynamic state consistently from ftext:vkCmdSet* commands, and |
| link to the definition of dynamic state (public issue 1428, but with |
| expanded scope beyond the actual ask in that issue). |
| |
| Internal Issues: |
| |
| * Fix incorrect member name in slink:VkRenderPassCreateInfo valid usage |
| statement 02515 (internal issue 2824). |
| * Fix XML dependency for `<<VK_NV_device_generated_commands>>` (internal |
| issue 2818). |
| * Add packed formats from `<<VK_KHR_sampler_ycbcr_conversion>>`` to the |
| <<formats-packed, table of packed formats>> and improve description of |
| packed format naming conventions (internal merge request 4798). |
| |
| New Extensions |
| |
| * `<<VK_FUCHSIA_buffer_collection>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for September 21, 2021 Vulkan 1.2.193 spec update: |
| |
| * Update release number to 193 for this update. |
| |
| GitHub Issues: |
| |
| * Use consistent `implicitexternsync` language in XML for |
| flink:vkDestroyDevice (public issue 1482). |
| * Clarify requirements of flink:vkGetInstanceProcAddr to match that of the |
| Android loader when attempting to retrieve a global function with a |
| non-NULL instance parameter (public issue 1605). |
| * Add new elink:VK_DRIVER_ID reservations for upcoming Mesa drivers |
| (public pull request 1642). |
| |
| Internal Issues: |
| |
| * Fix flink:vkCmdEndDebugUtilsLabelEXT to clarify command buffer recording |
| interactions with debug labels (internal issue 2777). |
| * Improve NOTE for acceleration structure capture / replay in |
| slink:VkAccelerationStructureCreateInfoKHR (internal issue 2769). |
| * Add "`See Also`" crosslinks to extension refpages providing aliased APIs |
| in API refpages (internal issue 2819). |
| * Fix markup for core version (`VK_VERSION_1_0`, etc.) refpages - |
| Asciidoctor doesn't allow section headers here and this affected the |
| specification appendix rendering (internal issue 2826). |
| * Use open range notation for slink:VkSamplerCreateInfo |
| ptext:addressMode[UVW] descriptions (internal issue 2829). |
| * Replace term "`channel`" with "`component`" when discussing formats, and |
| update glossary to help clarify formats such as |
| ename:VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 and |
| ename:VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 (internal merge |
| request 4799). |
| * Fix some primitive_topology_list_restart VUIDs to only apply if |
| pname:primitiveRestartEnable is ename:VK_TRUE (internal merge request |
| 4818). |
| * Fix slink:VkPhysicalDeviceShaderCorePropertiesAMD `limittype` attributes |
| in XML (internal merge request 4819). |
| * Fix accidentally duplicated VUIDs 06256 due to missing {accessMaskName} |
| in VUID markup (internal merge request 4829). |
| * Miscellaneous minor formatting and style fixes (internal merge requests |
| 4832, 4838). |
| |
| ----------------------------------------------------- |
| |
| Change log for September 14, 2021 Vulkan 1.2.192 spec update: |
| |
| * Update release number to 192 for this update. |
| |
| GitHub Issues: |
| |
| * Correctly describe slink:VkDeviceQueueInfo2::pname:pNext (public issue |
| 1622). |
| * Improve behavior of contact links from extension metadata generator |
| (public merge request 1635). |
| * Require slink:VkDeviceAddress in 1.0 spec conditional markup, matching |
| XML (public issue 1636). |
| |
| Internal Issues: |
| |
| * Turn <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| section into formal Valid Usage statements with assigned valid usage IDs |
| (internal issue 1598). |
| * Use `pass:[~~~~]` delimiters for `[source]` blocks inside reference page |
| `[open]` blocks to bypass logic problem with VUID assignment script |
| (internal issue 2040). |
| * Update style guide to incorporate Khronos Inclusive Language document by |
| reference. Followon changes will apply the suggestions as needed |
| (internal issue 2293). |
| * Add clarifications about ray tracing transform matrices to |
| slink:VkAccelerationStructureGeometryTrianglesDataKHR, |
| slink:VkAccelerationStructureBuildOffsetInfoKHR, and the |
| <<ray-intersection-candidate-determination, Ray Intersection Candidate |
| Determination>> section (internal issue 2709). |
| * Clarify descriptor requirements for code:Buffer and code:Subpassdata in |
| the <<interfaces-resources-correspondence, Shader Resource and |
| Descriptor Type Correspondence>> table (internal issue 2751). |
| * Add aliases for versioned extensions which don't treat the trailing |
| version number as a separate word, such as |
| ename:VK_KHR_MAINTENANCE1_SPEC_VERSION -> |
| ename:VK_KHR_MAINTENANCE_1_SPEC_VERSION, and add a CI test in |
| `scripts/xml_consistency.py` to try and detect future occurrences |
| (internal issue 2810). |
| * Add missing pname:sType and pname:pNext boilerplate descriptions to spec |
| language for several elink:*Features structures that were missing it |
| (though they did have them in the XML definition of the structures) |
| (internal issue 2815). |
| * Add extension and version crosslinks to generated reference pages, |
| expressing the same information in the `Provided by` comments in |
| generated API includes (internal issue 2816). |
| * Move the old "`Fragment Shader Execution`" section from the <<shaders>> |
| chapter to the <<fragops-shader, Fragment Shading>> section of the |
| <<fragops>> chapter, change anchor names accordingly, and factor out |
| common related language from several parts of the spec into this section |
| (internal merge request 4765). |
| * Allow access to the code:PrimitiveId builtin from shaders declared with |
| the code:MeshShadingNV capability (internal merge request 4767). |
| * Make the <<features-primitiveTopologyListRestart, |
| pname:primitiveTopologyListRestart>> feature mandatory for |
| `<<VK_EXT_primitive_topology_list_restart>>` (internal merge request |
| 4790). |
| * Edit <<limits-types, Required Limit Types>> table to add Vulkan 1.2 |
| interactions for pname:filterMinmaxSingleComponentFormats and |
| pname:filterMinmaxImageComponentMapping limits (internal merge request |
| 4802). |
| * Add ename:VK_FORMAT_R10X6_UNORM_PACK16 and |
| ename:VK_FORMAT_R12X4_UNORM_PACK16 to the list of 16-bit packed formats, |
| and fix formatting of "`wildcard`" enums containing a placeholder _i_ |
| tag corresponding to supported integers (internal merge request 4803). |
| * Refactor CI scripts to use the Makefile `allchecks` target as part of CI |
| instead of multiple separate steps, allowing a quick local check |
| equivalent to that part of CI, and update that target accordingly |
| (internal merge request 4807). |
| * Make slink:VkImageCreateInfo valid usage statement 01572 apply to all |
| compressed formats (internal merge request 4812). |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for September 7, 2021 Vulkan 1.2.191 spec update: |
| |
| * Update release number to 191 for this update. |
| |
| Internal Issues: |
| |
| * Update checker scripts to detect extension number conflicts in `vk.xml`, |
| and run the check in CI (internal issue 2612). |
| * Minor cleanup for the provisional video extensions, including |
| documenting a few undocumented enums and structure members and some |
| language cleanup (internal issue 2705). |
| * Add a NOTE to flink:vkAllocateMemory.txt about protected memory |
| allocation count limits (internal issue 2791). |
| * Use "`cube map`" spelling, and add this case to the style guide |
| (internal merge request 4794). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_pageable_device_local_memory>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for August 29, 2021 Vulkan 1.2.190 spec update: |
| |
| * Update release number to 190 for this update. |
| * Released a few days in advance of the usual Tuesday spec updates due to |
| holiday meeting schedule. |
| |
| GitHub Issues: |
| |
| * Make treatment of empty etext:Vk*FlagBits types consistent in `vk.xml` |
| (public issue 1601 and merge request 1609) |
| |
| Internal Issues: |
| |
| * Add more descriptive language for transforms in the |
| <<ray-intersection-candidate-determination, Ray Intersection Candidate |
| Determination>> section (internal issue 2709). |
| * Update `-validate` logic in registry scripts to validate the `limittype` |
| attribute presence and values where required (internal issue 2606). |
| * Update common validity statements for access masks to allow shader |
| pipeline bits to be use with ename:VK_ACCELERATION_STRUCTURE_READ_BIT |
| (internal issue 2782). |
| * Fix typo in the description of code:CullDistancePerViewNV (internal |
| merge request 4769). |
| * Various fixes and simplifications for |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> valid |
| usage statements: |
| ** Flatten markup for VK_KHR_shader_subgroup_extended_types valid usage |
| statements (internal issue 1598) |
| ** Flatten markup for VK_EXT_shader_atomic_float valid usage statements |
| (internal issue 1598). |
| ** Remove Asciidoctor conditional check for |
| `VK_KHR_storage_buffer_storage_class`, not needed because the SPIR-V |
| specification is unified and `spirv-val` will throw an error if trying |
| to use code:StorageBuffer without the proper extension / version being |
| set (internal merge request 4779). |
| |
| New Extensions: |
| |
| * `<<VK_KHR_shader_integer_dot_product>>` |
| * `<<VK_EXT_primitive_topology_list_restart>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for August 17, 2021 Vulkan 1.2.189 spec update: |
| |
| * Update release number to 189 for this update. |
| |
| GitHub Issues: |
| |
| * Add parent check valid usage statements to flink:vkUpdateDescriptors |
| (public issue 1581). |
| * Document the feature requirement for separate depth/stencil layouts in |
| the <<resources-image-layouts, Image Layouts>> section (public issue |
| 1583). |
| * Revert a valid usage statement constraining |
| slink:VkMemoryAllocateInfo::pname:allocationSize (public issue 1595). |
| * Remove misleading reference to `z` from the description of image |
| coordinates for slink:VkSamplerCreateInfo::pname:unnormalizedCoordinates |
| (public issue 1602). |
| * Fix typo in <<fxvertex-input-extraction>> section (public pull request |
| 1604). |
| * Fix comment in example for `<<VK_EXT_debug_utils>>` appendix to |
| correctly reference pname:objectHandle, not ptext:object (public pull |
| request 1606). |
| * Revert `vk_platform.h` path change in `vk.xml` from public pull request |
| 1538, which was causing build issues for some projects. We will revisit |
| this in the future but did not want to put a problematic change into the |
| next SDK update (public pull request 1610). |
| |
| Internal Issues: |
| |
| * Use `hexapdf` for PDF optimization, rather than Ghostscript. This |
| improves overall PDF generation time about 15-20%, and final PDF size by |
| about 1/3 (internal issue 2422). |
| * Improve contrast for better accessibility of HTML outputs, based on |
| feedback from the ANDI tool. This includes updating the specification |
| CSS in `config/khronos.css`, switching to the rouge source code |
| highlighter instead of coderay, and overriding some of the rouge theme |
| CSS (internal issue 2784). |
| * Clarify that transforms are consumed only if transformData is non-null |
| for slink:VkAccelerationStructureBuildRangeInfoKHR.txt (internal issue |
| 2787). |
| * Make spec language describing bitmasks consistent as 'Bits which can: be |
| set' (internal merge request 4762). |
| * Support `optional` attribute in the valid usage statement generator for |
| union types (internal merge request 4772). |
| |
| ----------------------------------------------------- |
| |
| Change log for August 10, 2021 Vulkan 1.2.188 spec update: |
| |
| * Update release number to 188 for this update. |
| |
| GitHub Issues: |
| |
| * Add missing `optional="true"` attributes to pname:pNext members. Enable |
| `scripts/xml_consistency.py` in CI, and add check for this case (public |
| pull request 1597). |
| * Add missing markup (setting `refpage` attributes where they were needed |
| for commonvalidity statements) to fix some broken valid usage ID link |
| names (public issue 1598). |
| * Update valid usage statement 02650 to use "`potential format features`" |
| consistently with other recent changes (discussion on public |
| Vulkan-ValidationLayers pull request 3139). |
| |
| Internal Issues: |
| |
| * Clarify the role of <<ray-traversal-culling-face, face winding>> in the |
| context of ray intersection candidate determination and alias |
| ename:VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR to |
| ename:VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, corresponding |
| to the clarifications (internal issue 2780). |
| * Add valid usage statement for flink:vkCmdBeginTransformFeedbackEXT |
| requiring a valid graphics pipeline be bound (internal issue 2785). |
| * Use the term <<acceleration-structure-def, "`constructed`">> to refer to |
| an acceleration structure that was previously built or created by |
| copying or deserialization of a built acceleration structure (internal |
| merge request 4727). |
| * Add explicit valid usage statements to flink:vkWaitForPresentKHR and |
| slink:VkPresentInfoKHR requiring the corresponding features be enabled |
| (internal merge request 4754). |
| * Remove extraneous trailing periods from some valid usage statements |
| (internal merge request 4759). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_load_store_op_none>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for August 3, 2021 Vulkan 1.2.187 spec update: |
| |
| * Update release number to 187 for this update. |
| |
| GitHub Issues: |
| |
| * Add glossary terms for "`pipeline ray tracing instructions`" and "`ray |
| tracing commands`" (public issue 1578). |
| * Limit the code:OpTypeImage code:Unknown format restriction to storage |
| images in the <<spirvenv-module-validation-runtime, Runtime SPIR-V |
| Validation>> section (public issue 1588). |
| * Fix slink:VkRect2D::pname:extent in a few places where it was |
| misreferenced as pname:offset (public pull request 1590). |
| |
| Internal Issues: |
| |
| * Clarify that depth values outside the range [0,1] become undefined |
| following the depthClamp stage of the pipeline, by rearranging the |
| <<fragops-depth, Depth Test>> section and adding a new "`Depth Clamping |
| and Range Adjustment`" subsection (internal issues 2445, 2753). |
| * Clarify valid usage statement 01843 for slink:VkDeviceQueueInfo2 to |
| match similar statement for flink:vkGetDeviceQueue, and split off part |
| of it into a new VU statement (internal issue 2645). |
| * Fix a few enumerant and member names in the provisional video extensions |
| to comply with the spec style guidelinse (internal issue 2710). |
| * Update the descriptions of flink:vkCmdDrawMultiEXT and |
| flink:vkCmdDrawMultiIndexedEXT to clarify how they are equivalent to |
| calling underlying drawing commands multiple times with different |
| parameters (internal issue 2757). |
| * Renumber VUIDs which duplicated the numeric portion of another |
| non-common VUID, and add a duplicate number detection test to CI to |
| prevent recurrences (internal issue 2764). |
| * Make code:SubgroupSize command scope uniform in compute dispatches |
| (internal issue 2773). |
| * Expand the list of valid image layouts for |
| <<attachment-type-imagelayout, input attachments>>, |
| <<descriptorsets-sampleimage, sampled images>>, and |
| <<descriptorsets-combinedimagesampler, combined image samplers>> to |
| include DEPTH_READ_ONLY_OPTIMAL and STENCIL_READ_ONLY_OPTIMAL (internal |
| issue 2774). |
| * Remove `flowRoot` SVG elements from a few recent image updates, as they |
| are not supported by the current PDF toolchain (internal issue 2778). |
| * Update to asciidoctor-chunker 1.0.4, adding support for `aria-label` |
| accessibility tags on the chunked specification forward/back section |
| navigation arrows (internal issue 2784). |
| * Clean up description of flink:vkCmdClearAttachments and remove redundant |
| information (internal merge request 4717). |
| * Add a description of each of the |
| flink:vkCmdWriteAccelerationStructuresPropertiesKHR::pname:queryPool |
| query types (internal merge request 4728). |
| * Add new valid usage statement to slink:VkMemoryAllocateInfo when |
| allocating a memory object larger than the reported limit (internal |
| merge request 4737). |
| * Add missing description of pname:layerCount member of |
| slink:VkFramebufferAttachmentImageInfo (internal merge request 4744). |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for July 27, 2021 Vulkan 1.2.186 spec update: |
| |
| * Update release number to 186 for this update. |
| |
| GitHub Issues: |
| |
| * Reduce size and increase clarity of some SVG images for the provisional |
| video extensions (public issue 1537). |
| * Use a consistent description of pname:stride as "`byte stride`" rather |
| than "`distance in bytes`" in a few places (public issue 1575) |
| * Clarify the equivalence of flink:vkQueueWaitIdle to |
| fence submission (public issue 1579). |
| * Fix XML capabilities for new code:*Float*Atomic* SPIR-V capabilities to |
| require slink:VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT rather than |
| slink:VkPhysicalDeviceShaderAtomicFloatFeaturesEXT (public pull request |
| 1587, although fixed internally first). |
| |
| Internal Issues: |
| |
| * Refactor Asciidoctor conditionals imbedded within valid usage statements |
| so they are extracted properly to `validusage.json`, and add a CI check |
| to prevent this happening in the future (internal issues 1529, 2439). |
| * Clarify that dynamic vertex buffer object stride of 0 is allowed in |
| valid usage statement for flink:vkCmdBindVertexBuffers2EXT |
| (internal issue 2742) |
| * Add valid usage statement to |
| ftext:vkGetPhysicalDeviceSurfaceCapabilities{KHR,2EXT,2KHR}, |
| ftext:vkGetPhysicalDeviceSurfacePresentModes{KHR,2EXT}, and |
| ftext:vkGetDeviceGroupSurfacePresentModes{KHR,2EXT} requiring surface / |
| device compatibility (internal issue 2744). |
| * Clarify the requirements on code:OpTypeImage for input attachments in |
| the <<spirvenv-module-validation, Validation Rules within a Module>> and |
| <<interfaces-inputattachment, Fragment Input Attachment Interface>> |
| sections (internal issue 2752) |
| * Clarify that stipple parameters are ignored when line stipple is |
| disabled in slink:VkPipelineRasterizationLineStateCreateInfoEXT |
| (internal issue 2763) |
| * Improve wording for the shader interface code:Location limit in the |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| section (internal merge request 4693) |
| |
| ----------------------------------------------------- |
| |
| Change log for July 20, 2021 Vulkan 1.2.185 spec update: |
| |
| * Update release number to 185 for this update. |
| * Going forward we will probably be moving the default day for spec |
| updates to Tuesday (Pacific time) rather than Monday. |
| |
| GitHub Issues: |
| |
| * Clarify that only *device* extensions are required to be specified in |
| valid usage statement for flink:vkCreateDevice (public issue 1567). |
| * Fix extension dependencies for `<<VK_EXT_calibrated_timestamps>>` to |
| include `<<VK_KHR_get_physical_device_properties2>>` (public issue |
| 1568). |
| * Conditionalize xref to VkPhysicalDeviceSubgroupProperties in |
| `<<VK_KHR_spirv_1_4>>` appendix so it does not show up in a 1.0 spec |
| build (public issue 1574). |
| * Relax portability usage of the identity swizzle in |
| slink:VkImageViewCreateInfo valid usage statement 04465 (public |
| KhronosGroup/Vulkan-Portability issue 27). |
| |
| Internal Issues: |
| |
| * Document in the <<extendingvulkan-extensions-extensiondependencies, |
| Extension Dependencies>> section that instance extensions do not have |
| dependencies on device extensions, and add a similar requirement to the |
| description of the `requires` attribute of extension tags in the |
| registry schema document (internal issue 2387). |
| * Fix `optional` attribute in XML for |
| flink:vkCmdBindVertexBuffers2EXT::pname:pBuffers (internal issue 2574). |
| * Remove redundant valid usage statements from flink:vkCmdPipelineBarrier, |
| flink:vkCmdSetEvent, and flink:vkCmdResetEvent. Add missing VUs for |
| slink:VkSubpassDependency and slink:VkSubpassDependency2 (internal issue |
| 2583). |
| * Clarify that |
| ename:VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR |
| must be supported in pname:bufferFeatures (internal issue 2686). |
| * Clarify that a valid function pointer pname:fp returned from |
| flink:vkGetInstanceProcAddr must not be `NULL` (internal issue 2720). |
| * Relax code:Flat, code:NoPerspective, code:Sample, and code:Centroid |
| storage class restriction in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section (internal issue 2721). |
| * Clarify forward progress behavior of flink:vkAcquireNextImageKHR and |
| flink:vkQueuePresentKHR (internal issue 2729). |
| * Remove duplicated language describing queue submission in the |
| <<fundamentals-execmodel, Execution Model>> and |
| <<fundamentals-queueoperation, Queue Operation>> sections (internal |
| issue 2736). |
| * Describe the new pipeline stage |
| ename:VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI in several sections |
| of the <<synchronization>> chapter where it was missing (internal issue |
| 2745). |
| * Improve formatting in the <<limits>> chapter, add support for the |
| missing optionally: normative word macro, and replace most use of |
| (non-normative) "`optionally`" with normative "`can:`". Update style |
| guide to add more contractions and remove contractions from the spec. |
| add a better description of the pname:shaderDrawParameters feature |
| (internal merge requests 4699, 4708). |
| * Fix name of parameter |
| flink:vkGetMemoryRemoteAddressNV::pname:pMemoryGetRemoteAddressInfo to |
| follow Vulkan conventions (internal merge request 4704). |
| * Minor fixes for the <<resources-image-views-compatibility, image view |
| compatibility table>> and related minor spec language fixes elsewhere |
| (internal merge request 4709). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_shader_atomic_float2>>` |
| * `<<VK_HUAWEI_invocation_mask>>` |
| * `<<VK_KHR_present_id>>` |
| * `<<VK_KHR_present_wait>>` |
| |
| Miscellany: |
| |
| * Happy Lunar Landing Day! |
| |
| ----------------------------------------------------- |
| |
| Change log for July 5, 2021 Vulkan 1.2.184 spec update: |
| |
| * Update release number to 184 for this update. |
| |
| GitHub Issues: |
| |
| * Make description of |
| slink:VkSparseImageMemoryRequirements::pname:formatProperties.imageGranularity |
| consistent by replacing the nested structure descriptions with a simple |
| description of pname:formatProperties (public issue 1444). |
| * Update `<<VK_HUAWEI_subpass_shading>>` extension to rename |
| flink:vkGetSubpassShadingMaxWorkgroupSizeHUAWEI to |
| flink:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI and give it a |
| dispatchable slink:VkDevice parameter (public issue 1564). |
| * Fix labelling of "`Resource`" reference block in pipeline block |
| diagrams (public issue 1582). |
| |
| Internal Issues: |
| |
| * Replace the old <<resources-image-views-compatibility>> table with a |
| simplified image type / image view type compatibility table, and move |
| the parameter compatibility portions of the table into explicit valid |
| usage statements (internal issue 2586). |
| * Define the slink:VkPipelinCacheHeaderVersionOne structure in `vk.xml` |
| instead of the previous "`Layout for pipeline cache header version one`" |
| table (internal merge request 4011). |
| * Make the `requires` attribute of the `spirvcapability` XML tag required |
| when specifying a structure, even if what's required is |
| `"VK_VERSION_1_0"`, to address a problem in the generated table from |
| these tags (internal merge request 4689). |
| |
| New Extensions: |
| |
| * `<<VK_NV_extermal_memory_rdma>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for June 28, 2021 Vulkan 1.2.183 spec update: |
| |
| * Update release number to 183 for this update. |
| |
| GitHub Issues: |
| |
| * Rewrite and simplify the <<interfaces-iointerfaces-matching, Interface |
| Matching>> section. Clarify that results are undefined if the size of a |
| vector mismatches (public issue 666; internal issues 1269, 2059, 2323). |
| * Remove inappropriate `const` from `void *pNext` members of |
| `returnedonly` structures in `vk.xml` (public issue 1482, internal issue |
| 2644). |
| * Add a NOTE to the <<interfaces, Shader Interfaces>> chapter that SPIR-V |
| execution model keywords with extension suffixes will always be present |
| in spec builds, even in a build not supporting any extensions, since |
| these keywords appear in the unified SPIR-V specification without such |
| qualifiers (public issue 1483, internal issue 2621). |
| * Modify `vk.xml` to include the Vulkan platform header via the path |
| `vulkan/vk_platform.h` rather than just `vk_platform.h` |
| (public pull request 1538). |
| * Add length annotations for slink:VkCuLaunchInfoNVX (public issue 1548). |
| * Describe slink:VkSubpassDescription::pname:pDepthStencilAttachment |
| correctly as a pointer to a structure, not a pointer to an array of |
| structures (public issue 1561). |
| * Fix `structextends` attribute of |
| slink:VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, declare its |
| pname:pNext member correctly, and fix some typos in the related |
| extension language (public issue 1565, internal issue 2724). |
| |
| Internal Issues: |
| |
| * Add explicit valid usage statements for |
| flink:vkCmdClearColorImage::slink:VkClearColorValue and |
| slink:VkRenderPassBeginInfo::slink:VkClearValue (internal issue 2490). |
| * Change the term "`vertex processing {shader} stage`" to |
| "`pre-rasterization shader stage`" throughout the specification, link to |
| a single definition, and add "`pre-rasterization`" to the glossary |
| (internal issue 2634). |
| * Add an `<implicitexternsync>` constraint for |
| flink:vkResetCommandBuffers::pname:pool (internal issue 2646). |
| * Fix typo `vkCmdResetEvent` -> `vkResetEvent` in flink:vkResetEvent valid |
| usage statements (internal issue 2651). |
| * Fix wording of scope dependencies for slink:VkMemoryBarrier2KHR, |
| slink:VkBufferMemoryBarrier2KHR, and slink:VkImageMemoryBarrier2KHR |
| members pname:srcAccessMask and pname:dstAccessMask (internal issue |
| 2654). |
| * Require support for pname:shaderInt64 in the <<features-requirements, |
| Feature Requirements>> section when pname:atomicInt64 features are |
| supported (internal issue 2660). |
| * Clarify ray tracing valid usage statements for cases where a parameter |
| refers to an acceleration structure that must have been built (internal |
| issue 2715). |
| * Add a NOTE clarifying shader record buffer uniformity in the |
| <<shader-binding-table, Shader Binding Table>> section (internal issue |
| 2719). |
| * Minor clarifications and typo fixes to `<<VK_HUAWEI_subpass_shading>>` |
| (internal issue 2722). |
| * Add missing <spirvextension> entry in `vk.xml` to enable |
| `SPV_KHR_subgroup_uniform_control_flow` |
| (internal issue 2733). |
| * Move SPIR-V valid usage statement from the |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| section to <<spirvenv-module-validation-standalone]] Standalone SPIR-V |
| Validation>> (internal merge request 4637). |
| * Add a new <<spirvenv-image-signedness, Signedness of SPIR-V Image |
| Accesses>> section to allow the use of unsigned Sampled Types with |
| code:SignExtend and signed code:Format decorations (internal merge |
| request 4638). |
| * Add missing slink:VkDeviceCreateInfo to `structextends` attribute of |
| slink:VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT (internal merge |
| request 4652). |
| * Remove nonexistent pname:minFragmentSize from the <<limits-minmax, Limit |
| Requirements>> table (internal merge request 4655). |
| * Fix markup typo for `<<VK_NV_fragment_shader_barycentric>>` ifdef |
| (internal merge request 4663). |
| |
| ----------------------------------------------------- |
| |
| Change log for June 21, 2021 Vulkan 1.2.182 spec update: |
| |
| * Update release number to 182 for this update. |
| |
| GitHub Issues: |
| |
| * Add XML attributes & schema updates to link untyped Vulkan object handle |
| values to corresponding object types (public issue 1536). |
| |
| Internal Issues: |
| |
| * Automatically generate links to extension proposal documents from |
| extension appendices (internal issue 2713). |
| * Clean up wording of flink:vkCmdWriteTimestamp and |
| flink:vkCmdWriteTimestamp2KHR (internal issue 2425). |
| * Fix hpp-compile CI stage after recent changes to Vulkan-Headers |
| repository which generate additional header files. |
| |
| New Extensions: |
| |
| * `<<VK_EXT_acquire_drm_display>>` (public pull request 1529). |
| * `<<VK_EXT_multi_draw>>` |
| * `<<VK_EXT_physical_device_drm>>` (public pull request 1356). |
| * `<<VK_HUAWEI_subpass_shading>>` |
| * `<<VK_NV_ray_tracing_motion_blur>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for June 14, 2021 Vulkan 1.2.181 spec update: |
| |
| * Update release number to 181 for this update. |
| |
| GitHub Issues: |
| |
| * Add stub slink:VkPipelineLayoutCreateFlagBits <enum> type in `vk.xml` to |
| reduce spurious warnings from XML processing scripts that don't respect |
| the `supported="disabled"` attribute, and update the registry schema |
| documentation to make more clear that `extension` tags with this |
| attribute should not be processed (public issue 1549). |
| |
| Internal Issues: |
| |
| * Clarify implicit conversions between the vertex input attribute |
| description format and the shader vertex attribute input type in the |
| <<fxvertex-attrib-location, Attribute Location and Component |
| Assignment>> and <<fxvertex-input-extraction>> sections (internal issue |
| 902). |
| * Add text about the <<interfaces-alignment-requirements, base alignment |
| of empty structures>> (internal issue 2174). |
| * Clarify the use of rasterization order <<primsrast-order, |
| "`operations`">> (internal merge request 4582). |
| * Allow any pipeline barrier command for queue transfers in the |
| <<synchronization-queue-transfers, Queue Family Ownership Transfer>> |
| section (internal merge request 4596). |
| * Remove potentially confusing reference to |
| ename:VK_ERROR_INVALID_SHADER_NV in the description of |
| flink:vkCreateShaderModule (internal merge request 4602). |
| * Improve visibility of instance creation callbacks by migrating some |
| language from the `<<VK_EXT_debug_report>>` and `<<VK_EXT_debug_utils>>` |
| appendix examples to the description of slink:VkInstanceCreateInfo |
| (internal merge request 4614). |
| * Fix markup for sparse image atomic requirements in the |
| <<features-requirements, Feature Requirements>> section and for |
| slink:VkDeviceCreateInfo valid usage statements (internal merge request |
| 4618). |
| * Correct the definition of |
| ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT |
| to constrain pname:chromaFilter, not pname:minFilter / pname:magFilter |
| (internal merge request 4623). |
| * Add level 3 headings in <<pipelines-cache, Pipeline Cache>> section |
| (internal merge request 4627). |
| * Clarify flink:vkCmdCopyAccelerationStructureKHR to add details on the |
| copy command itself, as well as the etext:CLONE and etext:COMPACT copy |
| modes (internal merge request 4631). |
| * Remove `<mask>` tags from some SVG images in the provisional video |
| extensions. These tags are not supported by components of the PDF |
| toolchain. Removing them removes many warnings from the PDF build and is |
| a workaround for editing the SVGs to use alternate constructs for the |
| intended purpose, although it also make these images in the HTML output |
| show the same artifacts as the PDF output. |
| |
| ----------------------------------------------------- |
| |
| Change log for June 7, 2021 Vulkan 1.2.180 spec update: |
| |
| * Update release number to 180 for this update. |
| |
| GitHub Issues: |
| |
| * Add more details about zero shader group handles and draw linkage to |
| etext:VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL* flags (public issue 1487). |
| * Clarify that semaphore operations don't do work in a specific pipeline |
| stage in slink:VkSemaphoreSubmitInfoKHR::pname:stageMask (public issue |
| 1501). |
| * Fix markup in shared valid usage statements 03766 / 03767 (public issue |
| 1528). |
| |
| Internal Issues: |
| |
| * Grammatical improvements for various ray tracing sections. Add statement |
| that AABB intersections may be false-positives (internal issue 2597). |
| * Disambiguate ASTC HDR block error handling in |
| <<appendix-compressedtex-astc, ASTC Compressed Image Formats>> and the |
| following "`ASTC decode mode`" section (internal issue 2603). |
| * Fix some holes in `<<VK_EXT_vertex_input_dynamic_state>>`, including |
| adding some missing common draw validity statements; an interaction |
| with VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT; an interaction |
| with code:nullDescriptor to flink:vkCmdBindVertexBuffers2EXT; and |
| language to |
| slink:VkGraphicsPipelineCreateInfo::pname:pVertexInputState (internal |
| issue 2637, 2684). |
| * Make elink:VkAccessFlagBits and elink:VkAccessFlagBits2KHR descriptions |
| consistent and reorganize them in matching order (internal issue 2650). |
| * Add slink:VkSpecializationInfo::pname:pMapEntries valid usage |
| statement requiring the pname:constantID values be unique (internal |
| issue 2668). |
| * Clarify <<queries-wait-bit-not-set, the cases in which |
| flink:vkGetQueryPoolResults returns VK_NOT_READY>> (internal issue |
| 2676). |
| * Add spec language and refpages for API constants. With this change all |
| APIs should be defined in the spec (internal issue 2698). |
| * Move some restrictions in the <<interfaces, Shader Interfaces>> chapter |
| into the <<spirvenv-module-validation-standalone, Standalone SPIR-V |
| Validation>> section (internal merge request 4537). |
| * Add missing member descriptions to slink:VkSurfaceCapabilities2EXT |
| (internal merge request 4544). |
| * Update glossary definition of "`Aspect`" to accommodate copy commands |
| which can operate on multiple aspects (internal merge request 4586). |
| * Add ename:VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHING_EXT |
| enum to provide a standard way to disable caching of shader validation |
| results (internal merge request 4589). |
| * Remove the `pipeline` attribute from `vk.xml`, and the corresponding |
| "`Pipeline Types`" column from the generated command properties tables. |
| The `queues` attribute should be used instead (internal merge request |
| 4594). |
| * Fix typos and improve consistency in the provisional video extension |
| language (internal merge request 4598). |
| * Use "`implementation-dependent`" spelling consistently, and update the |
| style guide to match (internal merge request 4611). |
| * Update <<ray-intersection-candidate-determination, ray tracing |
| intersection equation>> for triangles to match other API. This cannot be |
| distinguished in practice (internal vk-gl-cts issue 2846). |
| |
| New Extensions: |
| |
| * `<<VK_KHR_shader_subgroup_uniform_control_flow>>` |
| * `<<VK_EXT_global_priority_query>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for May 24, 2021 Vulkan 1.2.179 spec update: |
| |
| * Update release number to 179 for this update. |
| |
| GitHub Issues: |
| |
| * Require that the queried |
| slink:VkPhysicalDeviceExternalMemoryHostPropertiesEXT::pname:minImportedHostPointerAlignment |
| is a power of two (public issue 1442). |
| * Fix direction of enum aliasing for fragment shading rate extensions, |
| so NV tokens don't show up in a KHR-only specification build |
| (public issue 1482). |
| * Split the new <<fundamentals-validusage, Valid Usage>> section off from |
| its previous location within the <<fundamentals-errors, Errors>> section |
| (public pull request 1503). |
| * Correct some typos in stage parameter names (public pull request 1507). |
| * Fix minor markup issues (public pull request 1508). |
| * Add missing `optional` attribute to |
| flink:vkGetPhysicalDeviceVideoFormatPropertiesKHR::pname:pVideoFormatPropertyCount |
| in `vk.xml` (public pull request 1514). |
| * Add additional header dependencies for external code:Std* types in the |
| provisional video extensions (public pull request 1515). |
| * Tagged slink:VkCuModuleCreateInfoNVX::pname:pName as |
| `len="null-terminated"` in `vk.xml` (public issue 1526). |
| * Fix `:anchor-prefix:` markup showing up in spec outputs due to |
| overzealous whitespace removal (public issue 1530). |
| * Protect use of `__cplusplus` macro in a preprocessor test in the headers |
| (public Vulkan-Headers issue 4). |
| |
| Internal Issues: |
| |
| * Rephrase the language describing lifetime of EDID query results for |
| slink:VkDisplayPropertiesKHR to be more precise (internal issue 695). |
| * Clarify descriptor pool size aggregation behavior for |
| slink:VkDescriptorPoolCreateInfo.txt (internal issue 2577). |
| * Make valid usage statements for slink:VkImportMemoryFdInfoKHR and |
| slink:VkMemoryGetFdInfoKHR properly enforce the relationship between |
| pname:fd and pname:handleType (internal issue 2607). |
| * Add missing common, non-indirect shared valid usage statements for |
| flink:vkCmdDispatchBase (internal issue 2625). |
| * Call out precision of pname:subPixelPrecisionBits clearly in the |
| <<vertexpostproc-viewport, Controlling the Viewport>> section (internal |
| issue 2635) |
| * Do not allow code:RayPayloadKHR on any-hit shaders in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section (internal issue 2640). |
| * Simplify specification language for sname:VkMemoryDedicatedRequirements |
| (internal issue 2661). |
| * Remove `optional="true"` attributes from XML for |
| slink:VkSurfaceCapabilities* members pname:supportedTransforms, |
| pname:supportedCompositeAlpha, and pname:supportedUsageFlags, matching |
| descriptions in the specification (internal issue 2666). |
| * Add a concurrent deferred host operation example to the |
| `<<VK_KHR_deferred_host_operations>>` appendix (internal issue 2677). |
| * Add a NOTE to slink:VkAccelerationStructureCompatibilityKHR encouraging |
| host-cachable memory for host acceleration structure builds (internal |
| issue 2682). |
| * Remove redundant language in basetype:VkSampleMask duplicating valid |
| usage statements for slink:VkGraphicsPipelineCreateInfo (internal issue |
| 2624). |
| * Allow `<<VK_EXT_shader_image_atomic_int64>>` to enable the |
| code:shaderImageInt64Atomics SPIR-V feature in `vk.xml` (internal SPIR-V |
| issue 644). |
| * Add valid usage statement to fname:vkCmdWriteTimestamp* for the |
| pname:query index in pname:queryPool (internal merge request 4528). |
| * Add valid usage statements to flink:vkQueueSubmit2KHR for pname:fence |
| (internal merge request 4530). |
| * Add *GlCompute* to the disallowed *Output* storage classes in shared valid |
| usage statement 04644 for ray tracing functionality (internal merge |
| request 4532). |
| * Remove redundant code:Patch decoration shared valid usage statement 04671 |
| (internal merge request 4530). |
| * Make the code:sparseImage*Atomics features a superset of the corresponding |
| code:shaderImage*Atomics features, in the slink:VkDeviceCreateInfo valid |
| usage statements and the <<features-requirements, Feature Requirements>> |
| section (internal merge request 4561). |
| * Add `specialuse="glemulation,d3demulation"` attribute to XML for |
| `<<VK_EXT_custom_border_color>>` (internal merge request 4564). |
| * Make array count and pointer-to-array parameter / member descriptions |
| more consistent (internal merge request 4566). |
| * Add third-level section headings to the <<memory-device, Device Memory>> |
| section for clarity (internal merge request 4567). |
| * Use the terminology "`drawing/dispatching command`" consistently, add it |
| to the style guide, and remove occasional use of "`record`" or "`perform`" |
| in refpage summaries of ftext:vkCmd* (internal merge request 4569). |
| * Use Asciidoctor attributes to genericize more instances of header file |
| names, to enable future variant APIs (internal merge request 4581). |
| * Fix SVG for some images that render incorrectly in Chrome on MacOS |
| (internal merge request 4583). |
| * Move some valid usage statements for |
| `<<VK_QCOM_render_pass_shader_resolve>>` into |
| slink:VkGraphicsPipelineCreateInfo, slink:VkRenderPassCreateInfo2, and |
| the <<spirvenv-module-validation-standalone, Standalone SPIR-V |
| Validation>> section (internal merge request 4584). |
| |
| ----------------------------------------------------- |
| |
| Change log for May 10, 2021 Vulkan 1.2.178 spec update: |
| |
| * Update release number to 178 for this update. |
| |
| GitHub Issues: |
| |
| * Add `optional` attribute to pname:pFragmentShadingRateAttachment member |
| of slink:VkFragmentShadingRateAttachmentInfoKHR, to match specification |
| text (public issue 1482). |
| * Lots of minor markup and phrasing fixes (public issue 1482). |
| * Additional fixes specific to ray tracing extensions, including a few |
| duplicate valid usage statements, incorrect descriptions of structure |
| members, and incorrect SPIR-V opcodes (public issue 1483). |
| * Fix formatting around "`Special Use`" sections in generated refpages |
| (public issue 1518). |
| |
| Internal Issues: |
| |
| * Language cleanup including removing contractions, and some wording in |
| more egregious violation of the style guide. |
| * Make parameter handling text in the |
| <<deferred-host-operations-requesting, Requesting Deferral>> section |
| consistent with the <<fundamentals>> chapter (internal issue 2018). |
| * Relax slink:VkCopyDescriptorSet valid usage statements to remove some |
| constraints on copying descriptors from sets residing in host memory |
| other kinds of sets (internal issue 2610). |
| * Clarify the definition of "`intersection`" in the |
| <<ray-intersection-candidate-determination, Ray Intersection Candidate |
| Determination>> section (internal issue 2623). |
| * Allow pname:stride to equal buffer size in |
| slink:VkStridedDeviceAddressRegionKHR (internal issue 2631). |
| * Fix the ray tracing shader interface table in the |
| <<interfaces-raypipeline, Ray Tracing Pipeline Interface>> section |
| (internal issue 2640). |
| * Try to use consistently-phrased descriptions of etext:*FlagBits* members |
| and parameters everywhere (internal issue 2656). |
| * Replace "`optional pointer`" terminology with "`NULL or a pointer`" (and |
| similar uses), and update the style guide accordingly (internal issue |
| 2662). |
| * Modify wording of some pipeline creation valid usage statements to tidy |
| up cases where certain state isn't required (internal merge request |
| 4496). |
| * Clarify consistent <<descriptorsets-updates-consecutive, consecutive |
| binding updates>> (internal merge request 4500). |
| * Clarify that code:scalarBlockLayout is supported on the |
| code:ShaderRecordBufferKHR storage class in the |
| <<interfaces-resources-standard-layout, Standard Buffer Layout>> section |
| (internal merge request 4525). |
| * Hide boilerplate Features and Properties text where it incorrectly |
| appeared outside the descriptions of feature and property structures, |
| respectively (internal merge request 4541). |
| * Add missing section headers to the |
| `<<VK_KHR_zero_initialize_workgroup_memory>> appendix (internal merge |
| request 4553). |
| * Add missing `R64ui` and `R64i` entries to the SPIR-V |
| <<spirvenv-format-type-matching tables, image format matching tables>> |
| for `<<VK_EXT_shader_image_atomic_int64>>` (internal |
| Tracker/vk-gl-cts#2885). |
| |
| New Extensions: |
| |
| * `<<VK_NVX_binary_import>>` (only appendix and XML - no spec language |
| yet). |
| |
| ----------------------------------------------------- |
| |
| Change log for April 26, 2021 Vulkan 1.2.177 spec update: |
| |
| * Update release number to 177 for this update. |
| |
| GitHub Issues: |
| |
| * Add valid usage statement to flink:vkDestroyImage to prevent destruction |
| of presentable images acquired from flink:vkGetSwapchainImagesKHR |
| (public Vulkan-ValidationLayers issue 2718). |
| |
| Internal Issues: |
| |
| * Add proposal template for new feature development (internal issue 2529). |
| * Remove valid usage statement 03361 from flink:vkCmdBindVertexBuffers2EXT |
| (internal issue 2600). |
| * Finish fixing refpage formatting issues for the new video extensions |
| (internal issue 2611). |
| * Invert direction of ray space matrix to correct the |
| <<ray-intersection-candidate-determination, ray/triangle sidedness |
| test>> (internal merge request 4480). |
| * Fix capitalization of etext:*_EXTENSION_NAME and etext:*_SPEC_VERSION |
| tokens for `<<VK_QCOM_render_pass_store_ops>>` (internal merge request |
| 4490). |
| * Don't generate etext:*_MAX_ENUM tokens for 64-bit flag types. Note that |
| these tokens are *explicitly* not part of the Vulkan API and are not |
| included in the Specification, only in generated headers. They are added |
| to enumerated types to ensure padding to 32 bits, but are completely |
| pointless for the 64-bit flag types, which are defined as integer |
| constants rather than enumerants (internal merge request 4493). |
| * Remove empty VK_ENABLE_BETA_EXTENSION guards from headers when disabling |
| extensions (internal merge request 4498). |
| * Reproduce valid usage statement constraining pname:query from |
| flink:vkCmdBeginQuery to |
| flink:vkCmdWriteAccelerationStructuresPropertiesKHR (internal merge |
| request 4520). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_provoking_vertex>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for April 19, 2021 Vulkan 1.2.176 spec update: |
| |
| * Update release number to 176 for this update. |
| |
| GitHub Issues: |
| |
| * Fix many typos (based on public issues 1483 & 1484). |
| * Fix an error in the definition of dname:VK_NULL_HANDLE which caused a |
| compilation error with one version of MSVC (public issue 1502). |
| * Remove duplicate requirement for elink:VkStructureType from |
| dname:VK_VERSION_1_0 block of `vk.xml` (public merge request 1504). |
| |
| Internal Issues: |
| |
| * Modify extension metadoc generator to include Contact information in |
| extension reference pages (internal issue 2611). |
| * Fix XML consistency checker script to add exceptions to naming patterns |
| for new extensions (internal merge request 4491). |
| * Clean up latest revision numbers in some video extension appendices to |
| be integers, for compatibility with the consistency checker script |
| (internal merge request 4492). |
| * Mark slink:VkIndirectCommandsLayoutCreateInfoNV pname:flags member as |
| `optional` in `vk.xml` (internal merge request 4501). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_extended_dynamic_state2>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for April 13, 2021 Vulkan 1.2.175 spec update: |
| |
| * Update release number to 175 for this update. |
| |
| GitHub Issues: |
| |
| * Specify that fragment shader invocations in the same quad scope are also |
| in the same primitive scope (public issue 1465). |
| * Fix an incorrect reference to ename:VK_SHARING_MODE_CONCURRENT to the |
| correct ename:VK_SHARING_MODE_EXCLUSIVE in the queue transfer wording |
| for slink:VkBufferMemoryBarrier2KHR (public issue 1479). |
| * Fix description of <<vertexpostproc-clipping, Primitive Clipping>> |
| (public issues 1480 and 1481). |
| |
| Internal Issues: |
| |
| * Use consistent language in describing <<features, feature>> and |
| <<limits, property (limit)>> queries. In particular, a few structures |
| were described as being usable to query feature support, but not to set |
| it. This was incorrect. All feature structures which can appear in the |
| pname:pNext chain of slink:VkPhysicalDeviceFeatures2 can be used to both |
| query and set (internal issue 2310). |
| * Add `limittype` attributes to the XML schema and to `vk.xml` for |
| structure members which are part of physical device property queries, to |
| annotate how the resulting properties are interpreted and replace some |
| manual interpretation of these properties (internal issue 2427). |
| * Improve slink:VkAttachmentDescription2 wording around the use of |
| slink:VkAttachmentDescriptionStencilLayout for specifying the stencil |
| aspect layout (internal issue 2496). |
| * Split the <<extendingvulkan-coreversions-versionnumbers, major version |
| field>> of a packed pname:apiVersion value, introducing a new `variant` |
| field. This field allows identification of APIs based on Vulkan, but not |
| fully compatible with Vulkan applications. Vulkan is variant 0, making |
| the change backwards compatible with the previous definition of |
| pname:apiVersion. This change was introduced to enable variants of the |
| Vulkan API that Khronos may release in the future, in particular the |
| in-development Vulkan SC API. It is purely a future-proofing measure and |
| no near-term further use is planned. To support this split, a set of new |
| macros is introduced: dname:VK_API_VERSION_VARIANT, |
| dname:VK_API_VERSION_MAJOR, dname:VK_API_VERSION_MINOR, and |
| dname:VK_API_VERSION_PATCH (internal issue 2531). |
| * Clarify that the slink:VkRectLayerKHR members of a |
| slink:VkPresentRegionKHR structure must not be transformed to align with |
| the swapchain's pname:pTransform. The presentation engine must do this |
| transform (internal issue 2571). |
| * Fix minor issues with exposed Asciidoctor markup in spec outputs |
| (internal issue 2576). |
| * Tighten up wording around pool entries of mutable descriptor types. for |
| slink:VkDescriptorPoolCreateInfo (internal issue 2578). |
| * Expand on wording of code:FPRoundingMode valid usage statement in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section (internal merge request 4298). |
| * Document interaction with `<<VK_KHR_fragment_shading_rate>>` for |
| `<<VK_QCOM_render_pass_transform>>` (internal merge request 4221). |
| * Require compile time constants be explicitly tagged as unsigned or float |
| in `vk.xml`. Modify the generator scripts and schema documentation to |
| require `type` attributes for such constants. This allows generating |
| headers compliant with MISRA section 10.4 requirements, where needed |
| (internal merge request 4451). |
| * Minor editorial fixes (internal merge request 4454). |
| * Disallow code:*Offset* decorations on storage images |
| in the <<spirvenv-module-validation-standalone, Standalone SPIR-V |
| Validation>> section (internal merge request 4465). |
| * Improve the code: macro used in spec markup to allow imbedded wildcards |
| separating words and a trailing wildcard (internal merge request 4466). |
| * Modify `vk.xml` `requires` attributes to reorder definitions of |
| dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE and dname:VK_NULL_HANDLE. This |
| prevents a corner case where the app overriding the first macro |
| explicitly would prevent definition of dname:VK_NULL_HANDLE (internal |
| merge request 4476). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_color_write_enable>>` |
| * `<<VK_EXT_vertex_input_dynamic_state>>` |
| * `<<VK_EXT_ycbcr_2plane_444_format>>` |
| * `<<VK_NV_inherited_viewport_scissor>>` |
| * Vulkan video core & codecs provisional extension package, including |
| ** `<<VK_KHR_video_queue>>` |
| ** `<<VK_KHR_video_decode_queue>>` |
| ** `<<VK_KHR_video_encode_queue>>` |
| ** `<<VK_EXT_video_decode_h264>>` |
| ** `<<VK_EXT_video_decode_h265>>` |
| ** `<<VK_EXT_video_encode_h264>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for March 29, 2021 Vulkan 1.2.174 spec update: |
| |
| * Update release number to 174 for this update. |
| |
| GitHub Issues: |
| |
| * Add a common header macro dname:VK_USE_64_BIT_PTR_DEFINES to specify at |
| compile time whether non-dispatchable handles are declared using a |
| 64-bit pointer type, or a 64-bit unsigned integer type. NOTE: it is |
| possible that the complex platform-dependent C preprocessor block will |
| move from vk.xml into the static (non-generated) vk_platform.h header in |
| the near future (partially addresses public issue 1431, in addition to |
| internal needs). |
| * Clarify code:PatchVertices documentation for tessellation shaders |
| (public pull request 1475). |
| |
| Internal Issues: |
| |
| * Add valid usage statements restricting bitfield operations to 32-bit |
| types in the <<spirvenv-module-validation-standalone, Standalone SPIR-V |
| Validation>> section (internal issue 2561). |
| * Update registry documentation to require providing the `type` attribute |
| of `enum` tags when they are specifying compile time constants, and |
| change the accepted values of the attribute to a small set of C scalar |
| type names, instead of schema-specific names. The XML schema itself |
| would ideally be updated to match, but we don't know how to do that yet |
| (internal issue 2564). NOTE: it is possible this will affect downstream |
| consumers of `vk.xml`, although we consider this unlikely. |
| * Document in the style guide that bits reserved in corresponding 32- and |
| 64-bit bitmasks should be reserved in both types (internal merge issue |
| 2565). |
| * Add output generator options to generate MISRA-friendly headers, and |
| check generator scripts to avoid generating etext:RESERVED 64-bit |
| bitflag names specified by `disabled` extensions in `vk.xml` (internal |
| merge request 4239, internal issue 2572). |
| * Clarify that compressed copies need to round up division in the |
| computation `rowLength` and `imageHeight` in the sample code for the |
| <<copies-buffers-images-addressing, Buffer and Image Addressing>> |
| section (internal merge request 4439). |
| |
| ----------------------------------------------------- |
| |
| Change log for March 21, 2021 Vulkan 1.2.173 spec update: |
| |
| * Update release number to 173 for this update. |
| |
| GitHub Issues: |
| |
| * Fix valid usage statement for flink:vkCmdBeginQueryIndexedEXT to allow |
| multiple active queries of the same type, as long as their index values |
| are different (public issue 1357). |
| * Fix tagging for slink:VkPhysicalDeviceVulkan11Features in `vk.xml` |
| (public issue 1437). |
| * Update the <<WSI Swapchain>> chapter's use of "`release`" and |
| "`present`" terminology (public pull request 1470). |
| * Migrate from Azure Pipelines to GitHub Actions for CI, and use updated |
| Khronos Docker image to build (public pull request 1473). |
| |
| Internal Issues: |
| |
| * Document requirements for extension <<extensions-feature-structures, |
| Feature Structures>> (internal issue 2503). |
| * Add missing valid usage statements for slink:VkAttachmentReference2 and |
| separate depth/stencil layouts (internal issue 2509). |
| * Clarify interactions between `<<VK_EXT_buffer_device_address>>` and |
| Vulkan 1.2 in slink:VkDeviceCreateInfo valid usage (internal issue |
| 2530). |
| * Allow variation in number of acceleration structure handles following a |
| top-level acceleration structures for |
| flink:vkCmdCopyAccelerationStructureToMemoryKHR (internal issue 2538). |
| * Specify implementation requirement for device timestamps in the |
| description of elink:VkTimeDomainEXT (internal issue 2551). |
| * Update valid usage ID assignment and extraction scripts to handle IDs |
| containing function pointer names (internal issue 2557). |
| * Move some runtime restrictions to |
| <<spirvenv-module-validation-standalone Standalone SPIR-V>> valid usage |
| statements (internal merge request 4286). |
| * Use new version of the HTML asciidoctor-chunker, which runs much faster, |
| and a new Docker image which omits the old implementation of the chunker |
| (internal merge request 4391). |
| * Fix <<devsandqueues-devices, logical device creation language>> for |
| Vulkan 1.1 (internal merge request 4405). |
| * Modify scripts to enable platform extensions to be filtered by the |
| `"supported"` attribute in `vk.xml` (internal merge request 4411). |
| * Add common valid usage statement for draw/dispatch commands on format |
| support for mip filters (internal merge request 4413). |
| * Fix valid usage statement extractor (vu-to-json) to add padding after |
| inserted list items, so they don't absorb other markup that might come |
| after in the document (internal merge request 4423). |
| * Disallow shadow lookups on 3D images in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section. This is not supported on all hardware, and should not have been |
| allowed (internal merge request 4424). |
| |
| New Extensions: |
| |
| * `<<VK_FUCHSIA_external_memory>>` |
| * `<<VK_FUCHSIA_external_semaphore>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for March 8, 2021 Vulkan 1.2.172 spec update: |
| |
| * Update release number to 172 for this update. |
| |
| Internal Issues: |
| |
| * Remove Asciidoctor conditional markup for extensions from |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V valid usage |
| statements>>, and add a note to this effect for future additions |
| (internal issue 2512). |
| * Update the descriptions (and related validation rules) of |
| code:uniformAndStorageBuffer8BitAccess and |
| code:uniformAndStorageBuffer16BitAccess to only refer to the |
| code:Uniform storage class; and update the 16-bit storage feature |
| validation rules to refer to 16-bit floating-point, similarly to the |
| feature descriptions. These changes are in the |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| <<features-requirements, Feature Requirements>> sections (internal issue |
| 2535). |
| * Ban recursion in tlink:PFN_vkDebugUtilsMessengerCallbackEXT callbacks, |
| for consistency of `<<VK_EXT_debug_utils_callbacks>>` with |
| `<<VK_EXT_device_memory_report>>` and the rules for |
| slink:VkAllocationCallbacks (internal issue 2537). |
| * Remove dependency on `<<VK_KHR_create_renderpass2>>` from `vk.xml` for |
| `<<VK_KHR_synchronization2>>` (internal issue 2539). |
| * Add the transform feedback pipeline stage as valid for |
| ename:VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT access (internal |
| merge request 4355). |
| * Fix typo in `<<VK_EXT_debug_utils>>` examples (internal merge request |
| 4395). |
| * Fix typo to refer to "`buffer view`" rather than "`image view`" in the |
| valid usage statements for code:OpImageWrite (internal merge request |
| 4398). |
| * Fix typo in the mandatory features section related to |
| `<<VK_KHR_ray_tracing_pipeline>>` (internal merge request 4406). |
| |
| ----------------------------------------------------- |
| |
| Change log for March 1, 2021 Vulkan 1.2.171 spec update: |
| |
| * Update release number to 171 for this update. |
| |
| GitHub Issues: |
| |
| * Use `strictly increasing` rather than `monotonically increasing` in the |
| definition of <<glossary, timeline semaphores>> (public issue 1424). |
| * Add missing raytracing pipeline creation information from |
| `<<VK_KHR_pipeline_executable_properties>>` to |
| flink:vkGetPipelineExecutableStatisticsKHR and |
| flink:vkGetPipelineExecutableInternalRepresentationsKHR valid usage |
| statements (public issue 1433). |
| * Add missing `SPV_EXT_shader_atomic_float` to `vk.xml` (public issue |
| 1447). |
| * Fix ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL to |
| ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT in synchronization |
| valid usage statement 03938 (public issue 1458). |
| * Correct the <<interfaces-resources-setandbinding, DescriptorSet and |
| Binding Assignment>> "`noteworthy example`" to refer to code:OpTypeImage |
| code:Samplerd=1, not code:OpTypeSampler code:Sampled=1 (public pull |
| request 1459). |
| * Clarify that the value of slink:VkViewport::pname:minDepth is not |
| restricted relative to pname:maxDepth (Vulkan-Headers public issue 180). |
| * Add valid usage statement to <<spirvenv-module-validation-standalone, |
| Standalone SPIR-V Validation>> specifying that push constant array |
| members must only be accessed with dynamically uniform indices |
| (SPIRV-Tools public issue 2909) |
| * Add valid usage statement to <<spirvenv-module-validation-standalone, |
| Standalone SPIR-V Validation>> specifying when the code:Flat decoration |
| must be used (SPIRV-Tools public issue 3154) |
| |
| Internal Issues: |
| |
| * Specify the maximum allowed pname:depthBias unit for |
| flink:vkCmdSetDepthBias (internal issue 2455). |
| * Add `"protect"` attribute to provisional extension enumerants, and emit |
| them with that symbol for runtime conditional inclusion from |
| `vulkan_core.h`. Update description of ename:VK_ENABLE_BETA_EXTENSIONS |
| to match (internal issue 2481). |
| * Add valid usage statement to slink:VkImageViewCreateInfo to ban 3D image |
| views when the ename:VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT is |
| set (internal issue 2501). |
| * Add explicit language for the zero hit group intersection shader to the |
| <<ray-intersection-confirmation, Ray Intersection Confirmation>> section |
| (internal issue 2505). |
| * Add a new <<raytraversal-ray-intersection-candidate-diagram, basic ray |
| diagram>> (internal issue 2518). |
| * Clarify that acceptable fragment shading rates are less than *or equal* |
| to, not just less than, in the description of the |
| <<primsrast-fragment-shading-rate-combining final combined shading |
| rate>> (internal issue 2524) |
| * Refer to correct barycentric coordinates for |
| <<ray-intersection-candidate-determination, triangle intersection |
| coordinates>> (internal issue 2525). |
| * Add valid usage statements to drawing commands to match |
| pname:rasterizationSamples in the pipeline state and the current |
| attachments (internal merge request 4332). |
| * Make use of ename:VK_WHOLE_SIZE consistent with sized flush in valid |
| usage statement for slink:VkMappedMemoryRange (internal merge request |
| 4373). |
| * Fix Asciidoctor ifdef markup around |
| ename:VK_MEMORY_HEAP_MULTI_INSTANCE_BIT (internal merge request 4383). |
| * Move improperly placed valid usage statements from |
| slink:VkImageViewCreateInfo to slink:VkImageCreateInfo (internal merge |
| request 4390). |
| * Add valid usage statements to <<spirvenv-module-validation-standalone, |
| Standalone SPIR-V Validation>> for pname:minTexelGatherOffset and |
| pname:minTexelGatherOffset. |
| * Make <<spirvenv-module-validation-standalone, Standalone SPIR-V |
| Validation>> valid usage statement 04681 unconditional, rather than |
| having two versions when a relevant Vulkan extension is or is not |
| enabled, since this is *standalone* validation. |
| |
| New Extensions |
| |
| * `<<VK_QNX_screen_surface>>` (public pull request 1449). |
| |
| ----------------------------------------------------- |
| |
| Change log for February 15, 2021 Vulkan 1.2.170 spec update: |
| |
| * Update release number to 170 for this update. |
| |
| Internal Issues: |
| |
| * Add missing language for zero hit groups to the <<shader-binding-table, |
| Shader Binding Table>> section and related valid usage statements |
| (internal issue 2505). |
| |
| New Extensions: |
| |
| * `<<VK_KHR_synchronization2>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for February 2, 2021 Vulkan 1.2.169 spec update: |
| |
| * Update release number to 169 for this update. |
| |
| GitHub Issues: |
| |
| * Fix typos in language in the <<vertexpostproc-renderpass-transform, |
| Render Pass Transform>> section (public issue 1406). |
| * Fix case of etext:EXTENSION_NAME and etext:SPEC_VERSION enums in |
| `vk.xml` for the `<<VK_QCOM_rotated_copy>>` extension (public issue |
| 1427). |
| * Fix equations in the <<ray-intersection-candidate-determination, Ray |
| Intersection Candidate Determination>> section (public issue 1427). |
| * Modify examples in the `<<VK_EXT_debug_utils>>` appendix to use |
| flink:vkGetInstanceProcAddr (public issue 1432). |
| * Various typo fixes (public pull request 1434). |
| |
| Internal Issues: |
| |
| * Add missing query types to the introduction of the <<queries>> chapter |
| (internal issue 2488). |
| * Tag use of union types in `vk.xml` as `noautovalidity`, since we don't |
| generate meaningful valid usage statements or validation layer code at |
| present. This removes a few nonsensical, and unimplemented valid usage |
| statements of form 'ptext:param must: be a valid stext:VkUnionType union |
| (internal issue 2490). |
| * Flatten inline lists in valid usage statements in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section so the VU extraction script can process them properly (internal |
| issue 2502). |
| * Move some common copy buffer / copy image valid usage statements to |
| `copy_bufferimage_to_imagebuffer_common.txt` so they can be shared |
| (internal merge request 4344). |
| * Update copyright dates to 2021 (internal merge request 4345), |
| * Fix typos in Asciidoctor conditional markup in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section (internal issue 4349). |
| * Fix typos in SPIR-V capability names |
| code:WorkgroupMemoryExplicitLayout8BitAccessKHR and |
| code:WorkgroupMemoryExplicitLayout16BitAccessKHR (internal merge request |
| 4359). |
| * Fix typo in description of |
| slink:VkCoarseSampleLocationNV::pname:pSampleLocations (internal merge |
| request 4365). |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for January 25, 2021 Vulkan 1.2.168 spec update: |
| |
| * Update release number to 168 for this update. |
| |
| Internal Issues: |
| |
| * Change slink:VkAccelerationStructureNV resource classification to |
| non-linear, and slink:VkAccelerationStructureKHR is neither linear nor |
| non-linear. This affects the memory classification for purposes of |
| <<resources-bufferimagegranularity,bufferImageGranularity>> (internal |
| issue 2289). |
| * Specify which storage classes are affected by code:scalarBlockLayout in |
| the <<interfaces-resources-standard-layout, Standard Buffer Layout>> |
| section (internal merge request 4280). |
| * Flatten valid usage statements in the |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| section so they are correctly processed by the VU extractor script |
| (internal merge request 4285). |
| |
| New Extensions: |
| |
| * `<<VK_KHR_workgroup_memory_explicit_layout>>` |
| * `<<VK_KHR_zero_initialize_workgroup_memory>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for January 19, 2021 Vulkan 1.2.167 spec update: |
| |
| * Update release number to 167 for this update. |
| |
| GitHub Issues: |
| |
| * Clarify valid usage statements for slink:VkGraphicsPipelineCreateInfo |
| interaction with potential format features (public issue 1392). |
| * Use default PDF theme with a local fallback font, to provide |
| floor/ceiling symbols (public issue 1400). |
| * Fix valid usage statements to clarify that |
| flink:vkCmdWriteAccelerationStructuresPropertiesNV only accepts |
| ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV (public |
| Vulkan-ValidationLayers issue 2448). |
| * Add missing `SPV_KHR_multiview` SPIR-V extension to `vk.xml` (public |
| Vulkan-ValidationLayers issue 2456). |
| |
| Internal Issues: |
| |
| * Move Acceleration Structure chapter before Ray Traversal and Ray Tracing |
| chapters and reorganize Asciidoctor source markup, including inlining |
| ray tracing sub-chapters (internal issue 2249). |
| * Clarify the definition of the `optional='true'` XML attribute to allow |
| its use with scalar types, and use it consistently in the specification |
| and XML; this removes a few uses of the attribute and simplifies some |
| valid usage statements (internal issue 2435). |
| * Clarify that it is not valid to create an image view using a format that |
| requires YCbCr conversion without passing a |
| slink:VkSamplerYcbcrConversion in valid usage for |
| slink:VkImageViewCreateInfo (internal issue 2458). |
| * Clarify that pipeline flags do not cause the corresponding flags to |
| appear in code:IncomingRayFlagsKHR variables (internal issue 2470). |
| * Require that pname:supportedAlpha is never zero in text and valid usage |
| statements for slink:VkDisplayPlaneCapabilitiesKHR and |
| slink:VkDisplaySurfaceCreateInfoKHR (internal issue 2471). |
| * Clarify that Dref values are supposed to be clamped for fixed-point |
| accesses in the <<textures-depth-compare-operation, Depth Compare |
| Operation>> section (internal issue 2474). |
| * Fix typo for a destination stage in an issue in the |
| `<<VK_EXT_transform_feedback>>` extension appendix (internal issue |
| 2477). |
| * Restrict code:OpImageQueryLod, code:OpImageQuerySizeLod, and |
| code:OpImageQueryLevels to require a sampler (not storage image) in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section (internal issue 2478). |
| * Allow |
| flink:vkGetAccelerationStructureBuildSizesKHR::pname:pMaxPrimitiveCounts |
| to be zero by setting the `optional` attribute in the XML (internal |
| issue 2480). |
| * Update description of |
| slink:VkDeviceMemoryReportCallbackDataEXT::pname:objectType for |
| consistency with description of other parameters (internal issue 2485). |
| * Add a valid usage statement to slink:VkRayTracingPipelineCreateInfoKHR |
| requiring that all linked pipelines have the same set of flags specified |
| from the etext:VK_PIPELINE_CREATE_RAY_TRACING_* bits (internal issue |
| 2489). |
| * Add valid usage statements to flink:vkCmdBeginQuery / |
| flink:vkCmdBeginQueryIndexedEXT to disallow use with pools created with |
| ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR / |
| ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR types |
| (internal issue 2493). |
| * Fix normative language for valid usage statements in the <<spirvenv, |
| Vulkan Environment for SPIR-V>> appendix (internal merge request 4265). |
| * Remove a few cases where `_KHR` suffixes were left on promoted |
| extensions in valid usage statements (internal merge request 4293) |
| * Update and futureproof a previously hardwired reference to Vulkan 1.1 in |
| the <<introduction-conventions, Document Conventions>> section (internal |
| merge request 4295). |
| * Add code:PhysicalStorageBuffer as a valid atomic storage class in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section (internal merge request 4296). |
| * Clean up phrasing of valid usage statements in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section (internal merge request 4297). |
| * Add shared valid usage statement for buffer copy commands requiring |
| pname:bufferRowLength to fit in a signed 32-bit integer (internal merge |
| request 4302). |
| * Add dname:VK_NO_STDDEF_H to allow apps to prevent including |
| `<stddef.h>`, and document it in the <<boilerplate, API Boilerplate>> |
| appendix (internal merge request 4312). |
| * Fix typo `SkipTrianglesKHR` -> `SkipAABBsKHR` in the |
| <<ray-traversal-culling-primitive, Ray Primitive Culling>> section |
| (internal merge request 4315). |
| |
| ----------------------------------------------------- |
| |
| Change log for January 4, 2021 Vulkan 1.2.166 spec update: |
| |
| * Update release number to 166 for this update. |
| |
| GitHub Issues: |
| |
| * Add an Issue to the appendix for `<<VK_EXT_debug_report>>` discussing |
| how to compare handles returned by the debug report callback to |
| application handles (public issue 368). |
| * Specify the purpose of ename:VK_LOD_CLAMP_NONE in the description of |
| slink:VkSamplerCreateInfo::pname:maxLod (public issue 663). |
| * Clarify in the <<extendingvulkan-extensions-extensiondependencies, |
| Extension Dependencies>> section that extensions may depend on both |
| other extensions, and specific core API versions. Together with previous |
| changes to this section, this should close out the original issue |
| (public issue 865). |
| |
| Internal Issues: |
| |
| * Add descriptions of image queries to the <<textures, Image Operations |
| Overview>> and <<textures-queries, Image Query Instructions>> sections |
| (internal issues 2416 and 2423). |
| * Allow axis swapping to be carried through clamping in the |
| <<primsrast-fragment-shading-rate-combining, Combining the Fragment |
| Shading Rates>> section (internal issue 2420). |
| * Move even-size requirements for planar formats to valid usage statements |
| for slink:VkImageCreateInfo and slink:VkImageViewCreateInfo, and tweak |
| descriptions of <<formats-definition, the corresponding formats>> |
| accordingly (internal issue 2434). |
| * Remove Asciidoctor conditional macros from markup for |
| slink:VkSamplerCreateInfo valid usage statement 01079 (internal issue |
| 2440). |
| * Clarify behavior of the <<features-alphaToOne, pname:alphaToOne>> |
| feature by linking the enable to the corresponding <<fragops-covg, |
| Multisample Coverage>> fragment operation language, and specifying in |
| the introduction to the <<fragops, Fragment Operations>> chapter that |
| "`replacing`" a fragment shader output occurs whether or not the shader |
| actually wrote that output (internal issue 2448). |
| * Modify XML for |
| slink:VkPipelineViewportShadingRateImageStateCreateInfoNV::pname:viewportCount |
| to allow pname:viewportCount == 0 (internal issue 2449). |
| * Remove "`built as`" requirement from valid usage statement 03579 for |
| slink:VkWriteDescriptorSetAccelerationStructureKHR (internal issue |
| 2466). |
| * Remove incorrect valid usage statement 03655 for |
| slink:VkAccelerationStructureGeometryTrianglesDataKHR (internal issue |
| 2467). |
| * Add location limits for mesh shaders to the |
| <<interfaces-iointerfaces-limits, Shader Input and Output Locations>> |
| table (internal merge request 3428). |
| |
| ----------------------------------------------------- |
| |
| Change log for December 14, 2020 Vulkan 1.2.165 spec update: |
| |
| * Update release number to 165 for this update. |
| |
| GitHub Issues: |
| |
| * Fix interaction between imageless framebuffers and |
| slink:VkImageViewUsageCreateInfo for slink:VkRenderPassBeginInfo, |
| elink:VkImageUsageFlagBits, and in the |
| <<resources-image-inherited-usage>> section (public issue 1391). |
| * Fix `vk.xml` `optional` / `noautovalidity` attributes and corresponding |
| explicit valid usage statements for |
| slink:VkBuildAccelerationStructureModeKHR (public issue 1405). |
| * Remove redundant / incomplete handle comments from `vk.xml` for |
| elink:VkObjectType enumerants (public merge request 1412). |
| |
| Internal Issues: |
| |
| * Create valid usage statements from constraints in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section (internal issue 2394). |
| * Fix valid usage statement 01256 for slink:VkDisplaySurfaceCreateInfoKHR |
| (internal issue 2404). |
| * Expand and clarify the event race condition warning for |
| flink:vkCmdWaitEvents to include two additional scenarios in which the |
| effect and/or state of an event becomes undefined without additional |
| synchronization operations (internal issue 2411). |
| * Update valid usage statement for flink:vkSetLocalDimmingAMD (internal |
| issue 2446). |
| * Recast slink:VkStridedDeviceAddressRegionKHR valid usage statements in |
| terms of size being non-zero, instead of pname:deviceAddress (internal |
| issue 2450). |
| * Add missing ename:VK_SHARING_MODE_CONCURRENT valid usage statement for |
| flink:vkQueueSubmit (internal merge request 4244). |
| * Add limits related to local size to the |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| section (internal merge request 4255). |
| * Fix typo in description of |
| slink:VkDescriptorUpdateTemplateEntry::pname:dstArrayElement (internal |
| merge request 4260). |
| * Remove repeated "`all`" from slink:VkGraphicsPipelineCreateInfo valid |
| usage statements (internal merge request 4266). |
| * Fix internal xrefs to the SPIR-V capabilities tables, which broke as a |
| side effect of generating the table instead of handcoding it (internal |
| merge request 4270). |
| * Fix normative language for code:WorkgroupSize (internal merge request |
| 4272). |
| * Restore `len` attribute to `vk.xml` after its recent accidental removal |
| from slink:VkDescriptorSetAllocateInfo::pname:pSetLayouts (internal |
| merge request 4275). |
| * Remove trailing periods from SPIR-V valid usage statements (internal |
| merge request 4284). |
| * Base PDF theme on builtin fallback theme, simplifying it and adding |
| support for some math characters not found in the default theme |
| (internal merge request 4287). |
| |
| ----------------------------------------------------- |
| |
| Change log for December 7, 2020 Vulkan 1.2.164 spec update: |
| |
| * Update release number to 164 for this update. |
| |
| GitHub Issues: |
| |
| * Reserve vendor ID for PoCL (public pull request 1411). |
| |
| Internal Issues: |
| |
| * Add valid usage statements to ray tracing commands requiring they be |
| given a ray tracing pipeline, and removing support for |
| ename:ACCELERATION_STRUCTURE_TYPE_GENERIC in |
| flink:vkCmdBuildAccelerationStructureNV (internal issue 2271). |
| * Add valid usage statements disallowing the use of protected command |
| buffers with Ray Tracing Pipelines and Ray Query instructions (internal |
| issue 2409). |
| * Move the un-numbered glossary / abbreviations / prefixes pseudo-chapters |
| into a single appendix, so the table of contents looks cleaner (internal |
| issue 2437). |
| * Remove redundant valid usage statement from |
| slink:VkCommandBufferAllocateInfo (internal merge request 4229). |
| * Add missing <<features-inlineUniformBlock>> valid usage statement to |
| slink:VkDescriptorSetLayoutBinding (internal merge request 4246). |
| * Tweak example of Docker image invocation in `BUILD.adoc` (internal merge |
| request 4249). |
| * Capitalize code:LaunchIdKHR the same as in SPIR-V. code:LaunchSizeKHR |
| and code:LaunchIdKHR are accessible in the code:CallableKHR shader stage |
| (internal merge request 4252). |
| * Remove unreachable (redundant) valid usage statements from |
| flink:vkCmdBeginRenderPass and flink:vkCmdBeginRenderPass2 (internal |
| merge request 4254). |
| * Add missing `objtypeenum` attribute to `vk.xml` for slink:VkInstance |
| (internal merge request 4263). |
| * Change the chunked HTML target to use a more robust method of inserting |
| additional Javascript and HTML to support the searchbox. |
| |
| New Extensions: |
| |
| * `<<VK_NV_acquire_winrt_display>>` |
| * `<<VK_VALVE_mutable_descriptor_type>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for November 30, 2020 Vulkan 1.2.163 spec update: |
| |
| * Update release number to 163 for this update. |
| |
| GitHub Issues: |
| |
| * Add XML mapping between VK_OBJECT_TYPE_* names and object type names |
| (public issue 1379). |
| * Remove *_READ_BIT from .srcAccessMask in code samples (public issue |
| 1389). |
| * Fix example code for slink:VkPushConstantRange to take |
| elink:VkShaderStageFlags, not elink:VkPipelineStageFlags (public pull |
| request 1393). |
| * Add missing :refpage: attribute to slink:VkBlitImageInfo2KHR (public |
| issue 1407). |
| * Remove extraneous newline from texel block size table (public issue |
| 1409). |
| |
| Internal Issues: |
| |
| * Update style guide to require `optional="true"` be set on pname:pNext |
| structure members (internal issue 2428). |
| * Sort conditionals in ifdef:: output of spirvcapgenerator for stability |
| (internal issue 2430). |
| * Fix slink:VkGraphicsPipelineShaderGroupsCreateInfoNV VU 02886 |
| (internal merge request 4225). |
| |
| |
| ----------------------------------------------------- |
| |
| Change log for November 23, 2020 Vulkan 1.2.162 spec update: |
| |
| * Update release number to 162 for this update. |
| |
| GitHub Issues: |
| |
| * Mark pname:pNext pointers as `optional="true"` in `vk.xml` (public pull |
| request 1396). |
| * Make a formerly implicit slink:VkSubpassDescriptionDepthStencilResolve |
| valid usage statement explicit (public Vulkan-ValidationLayers issue |
| 2311). |
| |
| Internal Issues: |
| |
| * Clarify lifetime of push constants in the flink:vkCmdPushConstants |
| description (internal issue 2168). |
| * Clarify that flink:vkGetDeviceProcAddr is not intended to return |
| physical device-level commands (internal issue 2344). |
| * Tweak CI test for SPEC_VERSION to always succeed when the branch name |
| exists, but the extension is disabled (internal merge request 4219). |
| |
| New Extensions: |
| |
| * Add final (non-provisional) versions of the Vulkan Ray Tracing |
| extensions (internal merge request 4143): |
| ** `<<VK_KHR_acceleration_structure>>` |
| ** `<<VK_KHR_ray_tracing_pipeline>>` |
| ** `<<VK_KHR_ray_query>>` |
| ** `<<VK_KHR_pipeline_library>>` |
| ** `<<VK_KHR_deferred_host_operations>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for November 16, 2020 Vulkan 1.2.161 spec update: |
| |
| * Update release number to 161 for this update. |
| |
| GitHub Issues: |
| |
| * Add some missing types to the table of handle type <-> |
| etext:VK_OBJECT_TYPE_* enums in the debugging chapter (in response to a |
| comment on public issue 1379). |
| |
| Internal Issues: |
| |
| * Move copyright statement into its own "`Preamble`" chapter to simplify |
| preprocessing for chunked HTML target and make PDF / single-page HTML |
| consistent with the chunked output (internal issue 2384). |
| * Clarify that slink:VkExternalMemoryBufferCreateInfo::pname:handleTypes |
| and slink:VkExternalMemoryImageCreateInfo::pname:handleTypes can be |
| zero, and fix missing `optional` attribute in `vk.xml` for the latter |
| case (internal issue 2388). |
| * Make `specialuse` attributes in source markup expand properly in |
| extension refpages (internal issue 2412). |
| * Remove as yet unused slink:VkSemaphoreCreateFlagBits type from `vk.xml` |
| (internal issue 2413). |
| * Remove unreachable valid usage statements for |
| slink:VkRenderPassMultiviewCreateInfo::pname:pViewMask in the |
| slink:VkRenderPassCreateInfo pname:pNext chain, and for |
| slink:VkRenderPassCreateInfo2::pname:viewMask. These statements cannot |
| ever be violated given that view masks cannot exceed index 31 and |
| pname:maxFramebufferLayers exceeds this value (internal merge request |
| 4204). |
| * Only allow forward pointers for physical storage buffers in the |
| <<spirvenv-module-validation>> section (internal merge request 4206). |
| * Fix a variety of minor valid usage statement issues with the |
| `<<VK_KHR_fragment_shading_rate>>` extension (internal merge request |
| 4207). |
| |
| ----------------------------------------------------- |
| |
| Change log for November 9, 2020 Vulkan 1.2.160 spec update: |
| |
| * Update release number to 160 for this update. |
| |
| GitHub Issues: |
| |
| * Remove redundant input attachment valid usage statements from |
| slink:VkAttachmentReference2 (public issue 1378). |
| |
| Internal Issues: |
| |
| * Restore "`Preamble`" section containing the copyright statement to the |
| proper place in the chunked specification index (internal issue 2384). |
| * Add missing valid usage statements for |
| flink:vkCmdDrawIndirectByteCountEXT (internal issue 2400). |
| * Move vertex input example from the <<fxvertex>> chapter to the Vulkan |
| Guide (internal merge request 4162). |
| * Clarify update-after-bind limits for dynamic buffers in the |
| <<limits-maxDescriptorSetUpdateAfterBindUniformBuffersDynamic>> and |
| <<limits-maxDescriptorSetUpdateAfterBindStorageBuffersDynamic>> sections |
| (internal merge request 4186). |
| * Clarify slink:VkFramebufferCreateInfo to allow read-only use of depth |
| images as attachments and non-attachments (internal merge request 4191). |
| * Remove redundant valid usage statement from slink:VkWriteDescriptorSet |
| (internal merge request 4196). |
| * Remove redundant valid usage statement from flink:vkFreeDescriptorSets |
| (internal merge request 4198). |
| * Fix typo in slink:VkDisplaySurfaceCreateInfoKHR valid usage statement |
| (internal merge request 4199). |
| * Remove redundant pname:firstViewport / pname:firstScissor limit checks |
| in valid usage statements for flink:vkCmdSetViewportWScalingNV, |
| flink:vkCmdSetScissor, flink:vkCmdSetExclusiveScissorNV, |
| flink:vkCmdSetViewportShadingRatePaletteNV, and flink:vkCmdSetViewport |
| (internal merge request 4200). |
| |
| New Extensions: |
| |
| * `<<VK_NV_fragment_shading_rate_enums>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for November 1, 2020 Vulkan 1.2.159 spec update: |
| |
| * Update release number to 159 for this update. |
| |
| GitHub Issues: |
| |
| * Clarify handle uniqueness with private data in the |
| <<fundamentals-objectmodel-overview, Object Model>> section (public |
| issue 1349). |
| * Make ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR |
| an alias of |
| ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR |
| and ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR |
| an alias of |
| ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, |
| for backwards compatibility while complying with naming conventions |
| (public issue 1367). |
| * Make ename:VK_SURFACE_COUNTER_VBLANK_EXT an alias of |
| ename:VK_SURFACE_COUNTER_VBLANK_BIT_EXT for backwards compatibility |
| while complying with naming conventions (public issue 1368). |
| * Add a note to the <<memory-model-synchronizes-with, Synchronizes-With>> |
| section that fragment shader interlock instructions don't perform |
| implicit availability or visibility operations (public issue 1383). |
| |
| Internal Issues: |
| |
| * Dynamically generate SPIR-V <<spirvenv-capabilities-table, |
| Capabilities>> and <<spirvenv-extensions-table, Extensions>> tables from |
| new tags in `vk.xml`, exposing this information for other projects |
| downstream (internal issue 2156). |
| * Clarify when a <<renderpass-feedbackloop, feedback loop>> creates a data |
| race (internal issue 2296). |
| * Remove un-needed `noautovalidity` attributes on pname:pNext structure |
| members, including a few cases where they were actually suppressing |
| appropriate autogenerated validity statements (internal issue 2335; |
| similar purpose to closed public PR 1339). |
| * Clarify treatment of most-negative signed normalized fixed-point values |
| in the <<fundamentals-fixedfpconv, Conversion from Normalized |
| Fixed-Point to Floating-Point>> section (internal issue 2367). |
| * Clarify that enabling an extension cannot change existing implementation |
| behavior in the introduction to the <<extendingvulkan-extensions, |
| Extensions>> chapter (internal issue 2375). |
| * Add missing valid usage statement to flink:vkCreatePrivateDataSlotEXT |
| (internal issue 2379). |
| * Fix a misplaced Asciidoctor `endif::` for flink:vkCreateSwapchainKHR |
| (internal merge request 4177). |
| * Add missing pname:aspectMask valid usage statement to |
| slink:VkSubpassDescription2, matching |
| slink:VkInputAttachmentAspectReference (internal merge request 4177). |
| * Clarify <<interfaces, SPIR-V rules on decorations>> (internal |
| spirv/SPIR-V issue 444). |
| * Add missing `<<VK_VERSION_1_2>>` to all |
| `<<VK_EXT_separate_stencil_usage>>` conditional markup (internal |
| vulkansc/vulkansc issue 58). |
| |
| New Extensions: |
| |
| * `<<VK_QCOM_rotated_copy_commands>>` (internal merge request 4132). |
| |
| ----------------------------------------------------- |
| |
| Change log for October 19, 2020 Vulkan 1.2.158 spec update: |
| |
| * Update release number to 158 for this update. |
| |
| Internal Issues: |
| |
| * Clarify that linear filtering can be used with comparison sampling |
| in valid usage statements for dispatched draw commands |
| (internal issue 2365). |
| * Add valid usage statement for flink:vkGetQueryPoolResults requiring |
| pname:stride to be large enough for a single performance query result |
| (internal issue 2380). |
| * Move input attachment imageLayout to valid usage reference section, |
| and refer to the <<attachment-type-imagelayout>> section |
| to reduce complexity of valid usage statement |
| (internal merge request 4117). |
| * Update issues list for `<<VK_QCOM_render_pass_transform>>` |
| (internal merge request 4175). |
| * Add valid usage statement for |
| slink:VkPipelineColorBlendStateCreateInfo::pname:attachmentCount (public |
| Vulkan-ValidationLayers issue 2197). |
| |
| New Extensions: |
| |
| * `<<VK_KHR_fragment_shading_rate>>` |
| * `<<VK_KHR_shader_terminate_invocation>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for October 12, 2020 Vulkan 1.2.157 spec update: |
| |
| * Update release number to 157 for this update. |
| |
| GitHub Issues: |
| |
| * Fix `<<VK_KHR_shader_draw_parameters>>` missing as a feature alias |
| (based on public pull request 1310). |
| * Remove unnecessary sentence about device extensions implemented by |
| layers in the flink:vkCreateDevice description (based on public pull |
| request 1350). |
| * Fix parenthesis in equation in the |
| <<textures-texel-anisotropic-filtering, Texel Anisotropic Filtering>> |
| section (public merge request 1365). |
| * Add missing types to `vk.xml` for `<<VK_EXT_device_memory_report>>` |
| (public issue 1374). |
| * Add slink:VkBufferImageCopy valid usage statement for |
| ename:VK_IMAGE_ASPECT_DEPTH_BIT and ename:VK_IMAGE_ASPECT_STENCIL_BIT |
| pname:aspectMask values (public Vulkan-ValidationLayers issue 2113). |
| |
| Internal Issues: |
| |
| * Remove unused etext:VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT |
| token |
| (internal issue 2275). |
| * Clarify the specific stage requirement for synchronization |
| between flink:vkCmdResetEvent and flink:vkCmdWaitEvents |
| (internal merge request 4152). |
| |
| ----------------------------------------------------- |
| |
| Change log for October 5, 2020 Vulkan 1.2.156 spec update: |
| |
| * Update release number to 156 for this update. |
| |
| GitHub Issues: |
| |
| * Define memory import/export using the glossary term _payload_, rather |
| than "`the same underlying memory`", for slink:VkFence, |
| <<synchronization-semaphores-payloads, the semaphore payload section>>, |
| and many places in the <<memory, Memory Allocation>> chapter (public |
| issue 1145). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_device_memory_report>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for September 28, 2020 Vulkan 1.2.155 spec update: |
| |
| * Update release number to 155 for this update. |
| |
| New Extensions: |
| |
| * `<<VK_EXT_shader_image_atomic_int64>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for September 7, 2020 Vulkan 1.2.153 spec update: |
| |
| * Update release number to 153 for this update. |
| |
| GitHub Issues: |
| |
| * Specification default branch for updates and PRs is now `main` instead |
| of `master`. `master` branch still exists, but is frozen at the 1.2.152 |
| level. If you are pulling content from this repository, please switch |
| from `master` to `main` branch (internal issue 1351). |
| * Fix slink:VkSubpassDependency2 link from slink:VkRenderPassCreateInfo2 |
| (public issue 1358). |
| |
| Internal Issues: |
| |
| * Add developer documentation to the appendices for |
| `<<VK_EXT_memory_budget>>`, `<<VK_KHR_buffer_device_address>>`, |
| `<<VK_KHR_depth_stencil_resolve>>`, `<<VK_KHR_draw_indirect_count>>`, |
| `<<VK_KHR_multiview>>`, `<<VK_KHR_sampler_ycbcr_conversion>>` (internal |
| issue 2109). |
| * Implement VUID expander treeprocessor plugin to make VUID text visible |
| and searchable in generated outputs (internal issue 2253, 2258). |
| * Clarify when acceleration structures can be indexed dynamically in the |
| <<interfaces-resources-descset, Descriptor Set Interface>> section |
| (internal issue 2316). |
| * Add missing valid usage statement for flink:vkImportFenceWin32HandleKHR |
| (internal merge request 4087). |
| * Replace badly formatted VUID for `<<VK_AMD_display_native_hdr>>` |
| (internal merge request 4096). |
| * Add ray tracing acceleration structures to the lists of objects where |
| appropriate in the <<fundamentals-objectmodel-lifetime, Object |
| Lifetime>> section (internal merge request 4100). |
| * Move GLSL and SPIR-V extension references in the extension appendices |
| into the "`Interactions and External Dependencies`" sections (internal |
| merge request 3969). |
| |
| ----------------------------------------------------- |
| |
| Change log for August 26, 2020 Vulkan 1.2.152 spec update: |
| |
| * Update release number to 152 for this update. |
| |
| GitHub Issues: |
| |
| * Add attachment image layout valid usage statements for |
| slink:VkSubpassDescription and slink:VkSubpassDescription2 (public issue |
| 1316). |
| * Clarify and generalize use of "`graphics commands`" in the |
| <<descriptorsets>> and <<pipelines>> chapters (public issue 1322). |
| * Fix description of handle returned in slink:VkDeviceQueueInfo2 (public |
| pull request 1347). |
| |
| Internal Issues: |
| |
| * Promote valid usage statements requiring multiple parameters of a copy |
| command from the structure parameter descriptions to the command itself, |
| significantly restructuring some of the common validity files (internal |
| issue 2034). |
| * Add details of clamping and quantization behavior for border colors that |
| are outside the normal range for slink:VkSamplerCreateInfo and in the |
| <<textures-operation-validation, Instruction/Sampler/Image View |
| Validation>> and <<textures-texel-replacement, Texel Replacement>> |
| sections (internal issue 2281). |
| * Clarify in the <<spirvenv-module-validation-standalone, Standalone |
| SPIR-V Validation>> section that the value of code:XfbBuffer cannot |
| differ for members of the same block (internal issue 2307). |
| * Add valid usage blocks to the <<interfaces>> chapter where discussing |
| allowed uses of built-in SPIR-V variables (internal merge requests 3933, |
| 4090). |
| * Refactor <<spirvenv-module-validation-standalone, Standalone SPIR-V |
| Validation>> constraints to single statement phrases not using ifdef::ed |
| Asciidoctor markup, and move some of them down to the |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| section (internal merge request 4054). |
| * Fix XML attributes for some `<<VK_INTEL_performance_query>>` interfaces |
| (internal merge request 4061). |
| * Fix the "`Differences relative to `VK_KHR_shader_float16_int8``" |
| paragraph in the <<versions-1.2, Version 1.2>> appendix (internal merge |
| request 4062). |
| * Fix several valid usage statements for |
| flink:vkCmdBindTransformFeedbackBuffersEXT (public |
| KhronosGroup/Vulkan-ValidationLayers issue 2105). |
| * Clarify `shader_read_only` layout restrictions for |
| slink:VkWriteDescriptorSet and elink:VkImageLayout (internal merge |
| request 4060). |
| * Clarify wording for required 4444 and {YCbCr} formats in the |
| <<formats-mandatory-features-subbyte, Mandatory format support: sub-byte |
| channels>> and <<formats-requiring-sampler-ycbcr-conversion, Formats |
| requiring sampler {YCbCr} conversion for ename:VK_IMAGE_ASPECT_COLOR_BIT |
| image views>> tables (internal merge request 4066). |
| * Move a feature valid usage statement from flink:vkCmdDrawIndexedIndirect |
| to its proper home in flink:vkCmdDrawIndexedIndirectCount, matching what |
| the validation layer already does (internal merge request 4070). |
| * Split valid usage statement for slink:VkWriteDescriptorSet into one |
| statement for each descriptor type for image layout requirements |
| (internal merge request 4071). |
| * Add the a <<valid-imageview-imageusage>> definition to capture which |
| elink:VkImageUsageFlagBits must be set when creating a |
| sname:VkImageView, and use that definition to simplify |
| slink:VkImageViewCreateInfo valid usage statements (internal merge |
| request 4073). |
| * Remove redundant valid usage statement 03269 for slink:VkPresentInfoKHR |
| (internal merge request 4084). |
| * Move valid usage statement from slink:VkProtectedSubmitInfo to |
| slink:VkSubmitInfo (internal merge request 4085). |
| * Update reference to pname:framebufferIntegerColorSampleCounts from the |
| description of the <<limits-framebufferColorSampleCounts>> feature if |
| Vulkan 1.2 is supported (internal merge request 4088). |
| |
| ----------------------------------------------------- |
| |
| Change log for August 17, 2020 Vulkan 1.2.151 spec update: |
| |
| * Update release number to 151 for this update. |
| |
| GitHub Issues: |
| |
| * Clarify that the <<memory-protected-memory,Protected Memory>> is not |
| cross-physical device (public issue 1335). |
| |
| Internal Issues: |
| |
| * Improve the layout of the <<Standard sample locations>> table to avoid |
| overflow in the HTML output (internal issue 1354). |
| * Also build core-only HTML spec in internal CI, to try and catch |
| extension ifdef errors (should probably also do this in Azure CI on |
| GitHub) (internal issue 1770). |
| * Add internal CI test for un-tagged uses of "`undefined`", to help make |
| sure we've carefully considered all such uses (internal issue 2270). |
| * Add style guide section "`Commands which Return Error Codes`" to give |
| guidance on assigning error codes and when to use |
| ename:VK_ERROR_OUT_OF_HOST_MEMORY (internal issue 2290). |
| * Use the term "`reference monitor`" instead of "`mastering display`" for |
| the `<<VK_EXT_hdr_metadata>>` extension (internal issue 2291). |
| * Explicitly state that SPIR-V modules must be valid after specialization |
| in slink:VkPipelineShaderStageCreateInfo and the |
| <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| section (internal issue 2302). |
| * Add slink:VkShaderModuleCreateInfo valid usage statements to match the |
| SPIR-V capabilities (internal merge request 4047). |
| * Add missing features to the <<spirvenv-module-validation-runtime, |
| Runtime SPIR-V Validation>> section (internal merge request 4048). |
| * Update slink:VkPhysicalDeviceVulkan11Properties to follow the same |
| renaming of "`subgroups`" to "`groups`" previously done for |
| slink:VkPhysicalDeviceSubgroupProperties (internal merge request 4050). |
| |
| ----------------------------------------------------- |
| |
| Change log for August 10, 2020 Vulkan 1.2.150 spec update: |
| |
| * Update release number to 150 for this update. |
| |
| GitHub Issues: |
| |
| * Remove ename:VK_ERROR_TOO_MANY_OBJECTS as a required error code for |
| flink:vkAllocateMemory and and flink:vkCreateSampler, and note that |
| while it may still occur as a historical artifact, exceeding |
| implementation limits will result in undefined behavior (public issue |
| 1295). |
| * Allow duplicate slink:VkDebugUtilsMessengerCreateInfoEXT structs in |
| pname:pNext chain (public issue 1329) |
| * Fix typo in slink:VkSubmitInfo valid usage statement 04120 (public merge |
| request 1336). |
| * Remove `KHR` suffix from some names promoted to core, in the |
| <<renderpass, Render Pass>> chapter (public merge request 1341). |
| |
| Internal Issues: |
| |
| * Add ename:VK_ERROR_OUT_OF_HOST_MEMORY to `vk.xml` as a possible error |
| code for some additional commands returning elink:VkResult, and add a |
| note to the description of elink:VkResult giving some guidance on which |
| commands may and may not return that error code (internal issue 2063). |
| * Make a handful of terminology changes which move this repository closer |
| to the conventions of the AOSP |
| https://source.android.com/setup/contribute/respectful-code[Coding with |
| Respect] document (internal issue 2282). |
| * Update `<<VK_MVK_ios_surface>>` and `<<VK_MVK_macos_surface>>` |
| documentation and mark them as deprecated and replaced by |
| `<<VK_EXT_metal_surface>>` (internal merge request 4024). |
| * Add a section to the style guide on markup for the copyright and license |
| block on files in the repository (internal merge request 4036). |
| * Add ename:VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT to |
| `<<VK_EXT_validation_features>>` to enable synchronization validation |
| (internal merge request 4037). |
| |
| ----------------------------------------------------- |
| |
| Change log for August 3, 2020 Vulkan 1.2.149 spec update: |
| |
| * Update release number to 149 for this update. |
| |
| GitHub Issues: |
| |
| * Fix valid usage statements to clarify interactions between |
| `<<VK_EXT_extended_dynamic_state>>` and the old viewport related |
| extensions `<<VK_NV_clip_space_w_scaling>>`, |
| `<<VK_NV_shading_rate_image>>` (for the palettes), |
| `<<VK_NV_viewport_swizzle>>`, and `<<VK_NV_scissor_exclusive>>` (public |
| issue 1296). |
| |
| Internal Issues: |
| |
| * Clarify wording around non-uniform and non-constant descriptor access in |
| <<interfaces-resources-descset, Descriptor Set Interface>> (internal |
| issue 2163). |
| * Add a missing code:StorageBuffer reference in the <<interface-resources, |
| Shader Resource Interface>> section (internal issue 2191). |
| * Refactor common valid usage statements for flink:vkBindBufferMemory, |
| slink:VkBindBufferMemoryInfo, flink:vkBindImageMemory, and |
| slink:VkBindImageMemoryInfo (internal issue 2260). |
| * Copy over import/export behavior for sync file descriptor value `-1` |
| from slink:VkImportFenceFdInfoKHR to slink:VkImportSemaphoreFdInfoKHR |
| (internal issue 2274). |
| * State that a deriviative group is a quad scope instance in the |
| <<shaders-derivative-operations, Derivative Operations>> section |
| (internal merge request 4025) |
| |
| New Extensions: |
| |
| * `<<VK_EXT_4444_formats>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for July 19, 2020 Vulkan 1.2.148 spec update: |
| |
| * Update release number to 148 for this update. |
| |
| GitHub Issues: |
| |
| * Move description of slink:VkPhysicalDevicePerformanceQueryFeaturesKHR to |
| the <<features>> chapter (public merge request 1312). |
| * Fix a few broken internal and external links, and add stub description |
| of empty elink:VkPipelineCompilerControlFlagsAMD type (public merge |
| request 1313). |
| |
| Internal Issues: |
| |
| * Fix a few new places where "`undefined`" was used imprecisely, by |
| clarifying the difference between undefined results and undefined |
| behavior (internal issue 543). |
| * Add valid usage statement to common indirect draw valid usage statements |
| requiring that the pname:countBufferOffset to the count being used lie |
| within the pname:countBuffer (internal issue 1309). |
| * Add <<interfaces-raypipeline, Ray Tracing Pipeline Interface>> section |
| (internal issues 2094, 2237). |
| * Add valid usage statement to flink:vkCmdBeginTransformFeedbackEXT to |
| require that the last vertex processing stage of the bound graphics |
| pipeline be declared with the code:Xfb execution mode (internal issue |
| 2124). |
| * Do not allow flink:vkWaitForFences or flink:vkWaitSemaphores to return |
| timeouts before the period has expired, even though this is valid in |
| some other synchronisation APIs (internal issue 2146). |
| * Add elink:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT as an alias |
| of elink:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT for clarity |
| when interacting with D3D11 fences (internal issue 2175). |
| * Ignore slink:VkMemoryAllocateInfo::pname:allocationSize when importing |
| D3D resources (internal issue 2176). |
| * Clarify the definition of flink:vkCmdBindVertexBuffers2EXT::pname:pSizes |
| (internal issue 2262). |
| * Fix markup error in slink:VkDescriptorSetLayoutBindingFlagsCreateInfo |
| (internal merge request 3998). |
| * Remove un-needed dependency of `<<VK_EXT_filter_cubic>>` on |
| `<<VK_IMG_filter_cubic>>` (internal merge request 4000). |
| * Minor textual clarifications in ray tracing extensions (internal merge |
| request 4017). |
| * Modify the validity generator, so that when generating valid usage for |
| array lengths with a chain of parameters (e.g. pname:pFoo->bar), |
| non-zero values are not required if any parameter in the chain is |
| optional, and consider the last parameter only when deciding the type of |
| the parameter (internal merge request 4021). |
| * Fix a typo in the `<<VK_EXT_fragment_density_map2>>` extension appendix |
| markup that caused refpage build warnings, and modify CI and |
| `BUILD.adoc` to use `makeSpec` instead of the old `makeAllExts` script |
| (internal merge request 4023). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_image_robustness>>` |
| * `<<VK_EXT_shader_atomic_float>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for July 13, 2020 Vulkan 1.2.147 spec update: |
| |
| * Update release number to 147 for this update. |
| |
| GitHub Issues: |
| |
| * Allow physical-device-level structures in pname:pNext chains (public |
| merge request 1303). |
| * Remove elink:VkRenderPassCreateFlags from dependencies of |
| `<<VK_QCOM_render_pass_transform>>` (public merge request 1311) |
| |
| Internal Issues: |
| |
| * Require that variables with code:HitAttributeKHR storage class must: |
| <<spirvenv-module-validation-standalone, only be written in intersection |
| shaders>> (internal issue 2103). |
| * Specify that acceleration structure scratch buffer accesses from |
| acceleration structure build should be synchronized with the |
| ename:VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline |
| stage and an access mask of |
| ename:VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR or |
| ename:VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR (internal issue |
| 2173). |
| * Improve description of 3D blitting in flink:vkCmdBlitImage (internal |
| issue 2212). |
| * Split <<fragops-coverage-reduction, Coverage Reduction>> section into |
| multiple steps when multi-pixel fragments are involved: first per-pixel |
| coverage is separated out, then per-sample coverage is generated for |
| each color sample from per-pixel coverage. Additionally, the definition |
| of "`color sample mask`" and discussions of it have been removed in |
| favor of the per-color-sample coverage. (internal merge request 3951). |
| * Modify slink:VkSamplerYcbcrConversionCreateInfo valid usage statements, |
| as well as the <<textures-chroma-reconstruction, Chroma Reconstruction>> |
| section, to make it clear the values of pname:xChromaOffset and |
| pname:yChromaOffset are only validated when chroma channels are |
| downsampled (internal merge request 3959). |
| * Allow flink:vkGetBufferMemoryRequrements and |
| flink:vkGetBufferMemoryRequrements2 to be called for an Android Hardware |
| Buffer backed slink:VkBuffer, before it has been bound to memory |
| (internal merge request 3982). |
| * Remove *Draft* status from `<<VK_EXT_private_data>>` (internal merge |
| request 3982). |
| * Move valid usage statement from slink:VkProtectedSubmitInfo to |
| slink:VkSubmitInfo (internal merge request 3987). |
| * Add valid usage statements for protected buffers to |
| slink:VkBindBufferMemoryInfo and slink:VkBindImageMemoryInfo |
| (internal merge request 3988). |
| * Add valid usage statement to slink:VkImageCreateInfo requiring that |
| images with linear tiling cannot have sparse residency (internal merge |
| request 3988). |
| * Clarify that the ptext:maxPerStageDesciptorUpdateAfterBind* |
| <<limits-required, Required Limits>> must be at least the corresponding |
| non- ptext:UpdateAfterBind limits (internal merge request 3992). |
| |
| ----------------------------------------------------- |
| |
| Change log for July 3, 2020 Vulkan 1.2.146 spec update: |
| |
| * Update release number to 146 for this update. |
| |
| GitHub Issues: |
| |
| * Fix valid usage generation script for optional bitmasks in a |
| non-optional array (public pull request 1228). |
| * Add lunr to `package.json` and update the locally cached copy (public |
| pull request 1238). |
| * Require that newly released extensions have etext:*_SPEC_VERSION `1` |
| (public issue 1263). |
| * Add to the NOTE in slink:VkPhysicalDeviceIDProperties, advising |
| implementations on returning unique pname:deviceUUID values and avoiding |
| hardwired values, especially 0 (public issue 1273). |
| * Add noscript fallback for HTML output (public pull request 1289). |
| * Fix duplicated VUIDs in flink:vkCmdExecuteGeneratedCommandsNV (public |
| pull request 1304). |
| * Fix link markup in <<ray-traversal, Ray Traversal>> chapter, nested link |
| markup, and linear equation markup in |
| <<textures-unnormalized-to-integer>> (public pull requests 1305, 1306, |
| 1307). |
| |
| Internal Issues: |
| |
| * Add comments to extending enums in the generated API interfaces showing |
| which core version and/or extensions provide the enum, matching recent |
| changes to show this information for commands and structures (internal |
| issue 1431, public issue 444). |
| * Only allow code:Invocation memory scope in the |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| section when memory semantics is *None* (internal issue 1782). |
| * Make reflow script properly handle literal block delimiters and lines |
| containing only whitespace (internal issues 2039, 2042). |
| * Clarify definition of <<limits-maxFragmentCombinedOutputResources, |
| pname:maxFragmentCombinedOutputResources>> (internal issue 2236). |
| * Add missing `errorcodes=` XML attributes for some |
| `<<VK_EXT_display_control>>` commands. |
| * Clarify <<features-extentperimagetype, allowed extent values based on |
| image type>> and the related <<limits-maxImageDimension1D>>, |
| <<limits-maxImageDimension2D>>, <<limits-maxImageDimension3D>>, |
| <<limits-maxImageDimensionCube>> limits (internal merge request 3922). |
| * Remove redundant valid usage statement |
| VUID-VkFramebufferCreateInfo-flags-03188 (internal merge request 3934). |
| * Update style guide to recommend new extension spec language be contained |
| in existing Asciidoctor files, unless it is of enough scope to create a |
| new chapter (internal merge request 3955). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_directfb_surface>>` (public pull requests 1292, 1294). |
| * `<<VK_EXT_fragment_density_map2>>` (internal merge request 3914). |
| |
| ----------------------------------------------------- |
| |
| Change log for June 20, 2020 Vulkan 1.2.145 spec update: |
| |
| * Update release number to 145 for this update. |
| |
| GitHub Issues: |
| |
| * Fix `<<VK_EXT_conservative_rasterization>>` interactions with external |
| SPIR-V and GLSL functionality in the extension appendix (public issue |
| 1288). |
| |
| Internal Issues: |
| |
| * Break SPIR-V validation into two sections, |
| <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>> |
| and <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> |
| (internal issue 1598). |
| * Add VkFormat enums for ASTC 3D formats to `vk.xml`. These values are |
| slotted into the reserved, and still disabled extension 289. They will |
| not appear in the published `vulkan_core.h` header and there is no |
| published extension utilizing them, but this allows external projects |
| such as KTX2 to use these values as part of their internal cross-API |
| formats by generating a header including this disabled extension |
| (internal merge requests 1662, 2216). |
| * Clarify that shader binding table accesses from ray tracing |
| pipelines should be synchronized with the |
| ename:VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR pipeline stage and |
| the access mask of ename:VK_ACCESS_SHADER_READ_BIT (internal issue |
| 1749). |
| * Validate that 3D image views are not used as attachments in |
| slink:VkFramebufferCreateInfo and slink:VkRenderPassAttachmentBeginInfo |
| (internal issue 2142). |
| * Increase the number of conditions recognized as build errors by the |
| valid usage extraction plugin (internal issue 2215). |
| * Relax slink:VkImportAndroidHardwareBufferInfoANDROID valid usage |
| statement 01881 to support external formats (internal issue 2220). |
| * Clearly define what "`optional capabilities`" means in the |
| <<spirvenv-capabilities, Capabilities>> section, and specify that if |
| *any* of the core versions and/or extensions required for a capability |
| is enabled, then it is valid to use that capability (internal merge |
| request 3827). |
| * Add ename:VK_FORMAT_B5G5R5_UNORM_PACK16 and |
| ename:VK_FORMAT_B5G5R5A1_UNORM_PACK16 to |
| `<<VK_EXT_custom_border_color>>` as exceptions when |
| <<features-customBorderColorWithoutFormat, |
| pname:customBorderColorWithoutFormat>> is enabled (internal merge |
| request 3833). |
| * Add new <<spirvenv-format-type-matching, Image Format and Type |
| Matching>> section and refer to it from elsewhere in the spec, |
| clarifying rules regarding types for image operations (internal merge |
| request 3916). |
| * Fix typo sname:VkImageFormatProperties -> slink:VkFormatProperties |
| (internal merge request 3921). |
| * Move <<sparsememory-examples, sparse image examples>> to the Vulkan |
| Guide (internal merge request 3930). |
| * Fix typo in slink:VkAccelerationStructureBuildOffsetInfoKHR valid usage |
| statement 03553 (internal merge request 3938). |
| * Support <remove> tags for extending enumerants in XML (internal merge |
| request 3942). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_extended_dynamic_state>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for June 8, 2020 Vulkan 1.2.144 spec update: |
| |
| * Update release number to 144 for this update. |
| |
| Internal Issues: |
| |
| * Require `volatile` semantics for loading <<builtin-volatile-semantics, |
| certain variables used in ray pipeline stages>> in the |
| <<spirvenv-module-validation, Validation Rules within a Module>> and |
| also the <<ray-tracing-shader-call, Shader Call Instructions>> section |
| (internal issue 1924). |
| * Created new <<potential-format-features, Potential Format Features>> |
| section and corresponding glossary term, use the new term where |
| appropriate, and add some related valid usage statements to |
| flink:vkCmdBeginRenderPass, flink:vkCmdBeginRenderPass2, |
| slink:VkSubpassDescription, and slink:VkSubpassDescription2 (internal |
| issue 2031). |
| * Add interaction with `<<VK_KHR_ray_tracing>>` and corresponding `NV` |
| extension to flink:vkUpdateDescriptorSetWithTemplate (internal issue |
| 2193). |
| * Resolve collisions in common VUID names using `{stageMaskName}` |
| qualifiers as part of the name and make fixes to |
| `config/vu-to-json/extension.rb` to match (internal issue 2215). |
| * Replace `shutil.move` operations with `copy` / `remove` in the base |
| `generator.py` code, working around a problem with bind mounts while |
| using the Khronos docker build image with `podman` instead of `docker` |
| (internal merge request 3872). |
| * Add a new <<spirvenv-extensions, SPIR-V Extensions>> subsection |
| containing a table showing the corresponding Vulkan extension or core |
| API required to support each of the SPIR-V extensions, replacing a |
| harder-to-read list of extensions (internal merge request 3876). |
| * Remove two redundant valid usage statements from flik:vkCmdResolveImage |
| (internal merge request 3878). |
| * Make repository REUSE-compliant, and run the `reuse` license checker as |
| part of internal CI. While most files now have SPDX license identifier |
| tags, some licenses are recorded in `.reuse/dep5` instead. Note that |
| this does not change licenses in the repository (aside from adding some |
| to files missing them), just ensures that every file *has* an explicit |
| license (internal merge request 3904). |
| * Clarify that code:ImageMSArray is supported as part of the |
| <<features-shaderStorageImageMultisample>> feature (internal merge |
| request 3905). |
| * Reorganize some valid usage statements for flink:vkCmdBlitImage, |
| flink:vkCmdCopyBuffer, flink:vkCmdCopyBufferToImage, |
| flink:vkCmdCopyImage, flink:vkCmdCopyImageToBuffer, and |
| flink:vkCmdResolveImage as common valid usage statements, for |
| future-proofing (internal merge requests 3906, 3907, 3908, 3909, 3910). |
| * Add two valid usage statements to flink:vkAllocateMemory and |
| flink:vkCreateSampler for allocation limits of slink:VkDeviceMemory and |
| elink:VkSamplers, respectively (internal merge request 3923). |
| |
| ----------------------------------------------------- |
| |
| Change log for June 8, 2020 Vulkan 1.2.143 spec update: |
| |
| * Update release number to 143 for this update. |
| |
| GitHub Issues: |
| |
| * Move `translate_math.js` to the `scripts/` directory (public pull |
| request 1286). |
| * Minor cleanup of math markup (public pull request 1287). |
| |
| Internal Issues: |
| |
| * Reorganize some valid usage statements for slink:VkBufferMemoryBarrier, |
| and for commands with elink:VkPipelineStageFlags parameters, as common |
| valid usage statements, for future-proofing (internal merge requests |
| 3863, 3867). |
| * Misc. licensing updates (internal issue 1017): |
| ** Replace the "`Exceptions`" clause on `vk.xml` with a dual Apache-2.0 OR |
| MIT license, with agreement of downstream developers known to be |
| affected by it. This enables use of `vk.xml` in GPLed projects under a |
| more widely used licensing scheme. |
| ** Use `SPDX-License-Identifier` tags in place of longer license text. |
| This does not change the license terms on files other than `vk.xml`, |
| but makes license statements in most files more compact. |
| ** Reorganize repository documentation (README.adoc, COPYING.adoc, |
| LICENSE.adoc, CONTRIBUTING.adoc, CODE_OF_CONDUCT.adoc, and BUILD.adoc) |
| with a more widely used split of information; make all of these files |
| Asciidoctor instead of Markdown format for consistency with the rest of |
| the repository; describe use of SPDX identifiers; and point to full |
| license text of the various OSS licenses used in the repository. |
| * Add new <<resources-image-views-identity-mappings, text describing the |
| identity swizzle>> incorporating the existing "`Component Mappings |
| Equivalent To ename:VK_COMPONENT_SWIZZLE_IDENTITY`" table, and refer to |
| this text in place of explicit references to |
| ename:VK_COMPONENT_SWIZZLE_IDENTITY in many places (internal merge |
| request 3399). |
| * Require code:storageBuffer16BitAccess capability if |
| `<<VK_KHR_16bit_storage>>` is enabled (internal merge request 3709). |
| * Added XML schema and generator script extensions to support 64-bit flags |
| and corresponding bitmasks (internal merge request 3718). |
| * Correct <<interfaces-resources-standard-layout, Standard Buffer Layout>> |
| alignment rules (internal merge request 3750). |
| * Relax non-strict line constraints in the <<primsrast-lines-basic>> and |
| <<primsrast-lines-bresenham>> sections (internal merge request 3792). |
| * Add missing `structextends` attribute to the |
| slink:VkPhysicalDevicePrivateDataFeaturesEXT definition in `vk.xml` |
| (internal merge request 3873). |
| * Move slink:VkImageFormatListCreateInfo valid usage statements to |
| flink:vkCreateImageView (internal merge request 3879). |
| * Update valid usage statements for slink:VkImageViewASTCDecodeModeEXT to |
| allow ASTC HDR formats (internal merge request 3881). |
| * Add missing extension dependency to |
| `<<VK_KHR_pipeline_executable_properties>>` definition in `vk.xml` |
| (internal merge request 3882). |
| * Require the <<features-customBorderColors, pname:customBorderColors>> |
| feature be enabled when using etext:VK_BORDER_COLOR_* in |
| slink:VkSamplerCreateInfo (internal merge request 3884). |
| |
| ----------------------------------------------------- |
| |
| Change log for June 1, 2020 Vulkan 1.2.142 spec update: |
| |
| * Update release number to 142 for this update. |
| |
| GitHub Issues: |
| |
| * Add boilerplate descriptions of reserved bitmask types (public pull |
| request 1265). |
| * Move dynamic state valid usage statements from |
| slink:VkPipelineViewportExclusiveScissorStateCreateInfoNV and |
| VkPipelineViewportShadingRateImageStateCreateInfoNV to |
| slink:VkGraphicsPipelineCreateInfo, where they are testable, and make |
| corresponding tweaks in `vk.xml` (public pull request 1268). |
| * Add missing flink:vkDestroyPrivateDataSlotEXT explicit valid usage |
| statement (public pull request 1269). |
| * Cast arguments of dlink:VK_MAKE_VERSION macro to code:uint32_t to avoid |
| compiler warnings (public pull request 1279). |
| |
| Internal Issues: |
| |
| * Update <<fundamentals-validusage-pNext, description of pname:pNext |
| chains>> to allow structures in the chain to be defined by either core |
| versions or extensions. Add the new term "`extending structure`" to the |
| glossary to describe such structures, and use it in place of "`extension |
| structure`". Update the style guide accordingly (internal issue 1083). |
| * Add a comment to the beginning of generated API includes showing which |
| combinations of API core versions and extensions provide that API, based |
| on the explicit requirements in the API XML. This does not yet document |
| enumerants introduced by extending a base enum type (internal issue |
| 1431). |
| * Relax the restriction that slink:VkBufferImageCopy::pname:bufferOffset |
| must be a multiple of 4 for flink:vkCmdCopyBufferToImage and |
| flink:vkCmdCopyImageToBuffer when run on graphics or compute queues, but |
| not on transfer queues (internal issue 1701). |
| * Document the types of "`special use`" extensions in the new |
| <<extendingvulkan-compatibility-specialuse, Special Use Extensions>> |
| section, summarize special uses in the generated metadata for extension |
| appendices, and link back to the new section from each special use |
| extension (internal issue 1938). |
| * Clarify behavior of flink:vkGetDeferredOperationMaxConcurrencyKHR, |
| allowing it to return zero for completed operations (internal issue |
| 2036). |
| * Allow flink:vkGetInstanceProcAddr to resolve itself with a `NULL` |
| pname:instance (internal issue 2057). |
| * Modify the valid usage statement ID assignment script to track a range |
| of unused IDs for each extension branch under development, instead of |
| only allowing VUID assignment in `master` and `devel` branches (internal |
| issue 2100). |
| * Add `selector` and `selection` attributes for unions in XML, to enable |
| automatic generation of validation code (internal issue 2140). |
| * Fix validity generator for stext:Vk*Flags types that are aliases, |
| correcting generation of implicit valid usage for |
| slink:VkAccelerationStructureInfoNV::pname:flags. Remove |
| `noautovalidity` attribute for this member, as well as the previously |
| written explicit valid usage (internal issue 2140). |
| * Fix description of slink:VkTextureLODGatherFormatPropertiesAMD (internal |
| issue 2189). |
| * Remove redundant text about variables being explicitly laid out in the |
| <<interfaces-resources-layout, Offset and Stride Assignment>> section |
| (internal merge request 3691). |
| * Fix conflicting slink:VkSamplerYcbcrConversionCreateInfo valid usage |
| statements (internal merge request 3716). |
| * Fix use of code:AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT to |
| code:AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER in valid usage statement |
| 02386 for slink:VkMemoryAllocateInfo (internal merge request 3808). |
| * Add missing `externsync` XML attributes for ftext:vkCmd* commands |
| (internal merge request 3825). |
| * Add missing `extends` attribute to |
| slink:VkDevicePrivateDataCreateInfoEXT XML (internal merge request |
| 3834). |
| * Add code:RayGeometryIndexKHR to the `<<VK_KHR_ray_tracing>>` list of |
| built-in variables (internal merge request 3853). |
| * Restrict slink:VkBufferViewCreateInfo with ename:VK_WHOLE_SIZE, and |
| round down results of division in calculating the test in the |
| corresponding valid usage statements (internal merge request 3858). |
| * Miscellaneous cleanup and reorganization of synchronization language in |
| multiple places, and add the |
| <<synchronization-image-barrier-layout-transition-order>> section |
| (internal merge request 3861). |
| * Redefine ename:VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT and |
| ename:VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT as pseudo-stages in multiple |
| places (internal merge request 3862). |
| * Reorganize some valid usage statements, especially but not limited to |
| stage mask parameters for slink:VkImageMemoryBarrier, |
| slink:VkPipelineStageFlags, flink:vkCmdPipelineBarrier, |
| flink:vkCmdResetEvent, flink:vkCmdSetEvent, flink:vkCmdWaitEvents, |
| flink:vkCmdWriteBufferMarkerAMD, and flink:vkCmdWriteTimestamp as common |
| valid usage statements, for future-proofing (internal merge requests |
| 3864, 3865, 3866, 3867, 3868). |
| |
| ----------------------------------------------------- |
| |
| Change log for May 15, 2020 Vulkan 1.2.141 spec update: |
| |
| * Update release number to 141 for this update. |
| * *Note*: Using the default build options, specification outputs will now |
| be created in `gen/out/` instead of `out/`, and header files will be |
| created in `gen/include/vulkan` instead of `include/vulkan`. This can be |
| overridden using the `-genpath` option to the frontend scripts like |
| `makeAllExts` and `makeSpec`, or by specifying `GENERATED=*path*` on the |
| make command line when invoking it directly. |
| |
| GitHub Issues: |
| |
| * Assign new elink:VkDriverId and elink:VkVendorId enums for Mesa (public |
| issue 1256). |
| |
| Internal Issues: |
| |
| * Fix a typo in the <<fragops-stencil, Stencil Test>> section, removing a |
| sentence fragment accidentally left over from an earlier merge conflict |
| resolution (internal issue 2158). |
| * Typo fixes for flink:vkGetRayTracingShaderGroupHandlesKHR and |
| flink:vkGetRayTracingCaptureReplayShaderGroupHandlesKHR valid usage |
| statements (internal merge request 3831). |
| * Add a `requiredBy` dictionary to the generated `vkapi.py` showing which |
| core versions or extensions require each API (internal merge request |
| 3832). |
| * Allow specifying multiple API names for and tags in registry processing |
| scripts. Update the registry schema documentation accordingly, and |
| remove the redundant `xml_supported_name_of_api` method from the |
| VulkanConventions object (internal merge request 3836). |
| * Consolidate generated intermediate files and output documents into |
| $(GENERATED) directory, add -genpath option to scripts requiring them, |
| and modify Makefile accordingly. Add a new `makeSpec` script, which |
| combines and extends the functionality of the `makeExt`, `makeKHR`, and |
| `makeAllExts` scripts (internal merge requests 3837, 3838, 3840, 3841). |
| * Add "`runtime`" to style guide and use that spelling consistently |
| (internal merge request 3843). |
| |
| ----------------------------------------------------- |
| |
| Change log for May 3, 2020 Vulkan 1.2.140 spec update: |
| |
| * Update release number to 140 for this update. |
| |
| GitHub Issues: |
| |
| * Add `vk.xml` `noautovalidity` attribute to |
| flink:vkCmdBindTransformFeedbackBuffersEXT::pname:pSizes to cause change |
| in the generation of implicit valid usage statement for |
| pname:bindingCount (public issue 1227). |
| * Remove the special tokens (not part of the Vulkan API) suffixed with |
| etext:*_BEGIN_RANGE etext:*_END_RANGE, and etext:*_RANGE_SIZE from the |
| generated C headers, after consultation with downstream components and |
| ISVs and advanced warning to the developer community (public issue 1230, |
| internal issue 872). |
| |
| *Note* if you absolutely require these tokens for some reason, you can |
| still build a version of the header which restores them. Edit |
| `scripts/genvk.py` to add the parameter `genEnumBeginEndRange = True` to |
| the `CGeneratorOptions` objects for the header file targets you want to |
| restore. See the version of `genvk.py` in the 1.2.139 spec update for an |
| example. |
| * Add valid usage statement to slink:VkApplicationInfo requiring that |
| pname:apiVersion be greater than or equal to dlink:VK_API_VERSION_1_0 |
| (public pull request 1252). |
| * Add \<implicitexternsync> tags to `vk.xml` for flink:vkDestroyDevice |
| slink:VkQueue objects received from pname:device (public pull request |
| 1255). |
| * Fix typo in slink:VkBufferMemoryBarrier language (public pull request |
| 1257). |
| |
| Internal Issues: |
| |
| * Automatically generate interface lists for extension appendices from |
| `vk.xml` using a new interface generator script, and update the style |
| guide's description of these appendices accordingly (internal issue |
| 977, internal merge request 3819). |
| * Add transitive language to the <<formats-compatible-planes, Compatible |
| formats of planes of multi-planar formats>> section to pull in format |
| compatibility classes as well (internal issue 1615). |
| * Add valid usage statements to ftext:vkCmdBuildAccelerationStructure*KHR, |
| flink:vkCmdCopyAccelerationStructureToMemoryKHR, and |
| flink:vkCmdCopyMemoryToAccelerationStructureKHR for structure builds |
| bound to device memory (internal issue 2033). |
| * Don't generate etext:*_MAX_ENUM values in documentation generators, |
| since they're not part of the API, and only meaningful on compiled |
| headers (internal issue 2056). |
| * Remove special lifetime rules for pipelines in the |
| <<fundamentals-objectmodel-lifetime-cmdbuffers>> section (internal issue |
| 2068). |
| * Improve valid usage statements for ftext:vkCmdTraceRays*, share more |
| common VUs between ftext:vkTraceRays*, and add ftext:vkCmdTracerays* VUs |
| for bound buffers. Improve documentation for the |
| pname:raygenShaderBindingOffset parameters and fork `NV` and `KHR` valid |
| usage statements, since the shader binding table is described |
| differently (internal issues 2075, 2136). |
| * Clarify lifetime of acceleration structure build inputs for |
| flink:vkCreateAccelerationStructureKHR (internal issue 2077). |
| * Add a Note to the <<framebuffer-blending, Blending>> section to stop |
| claiming that blending is ignored for all integer formats (internal |
| issue 2098). |
| * Mark handle parameters of some ftext:vkDestroy* commands as `optional` |
| and `externsync="true"` in `vk.xml` (internal issue 2129). |
| * Add missing `:refpage:` attributes for ray tracing common valid usage |
| statements (internal issue 2141). |
| * Redefine fragment to include the possibility of it covering multiple |
| pixels. This affects many parts of the specification including the |
| <<pipelines, Pipelines>>, <<primsrast, Rasterization>>, and <<fragops, |
| Fragment Operations>> chapters, the `<<VK_EXT_post_depth_coverage>>` |
| appendix, the `Coverage*` and `Sample Index` glossary entries, the |
| code:SampleId and code:SampleMask definitions in the |
| <<interfaces-builtin-variables, Built-In Variables>> section, and the |
| <<shaders-fragment-execution, Fragment Shader Execution>>, |
| <<shaders-fragment-earlytest, Early Fragment Tests>>, and |
| <<textures-texel-coordinate-systems, Texel Coordinate Systems>> sections |
| (internal merge request 3568). |
| * Refactor `scripts/genvk.py` script to specify generator and generator |
| options to the `Registry` object before loading XML. This allows |
| generator options to influence behavior such as reparenting enum |
| elements from feature/extension elmements to the enums they are being |
| added to, which is desirable for generating complete feature lists for |
| an extension or core version (internal merge request 3789). |
| * Raise a fatal error (instead of a warning) in `scripts/generator.py` |
| when two enumerants that are not aliased have the same value, so that CI |
| will fail (internal merge request 3807). |
| * Remove accidentally duplicated slink:VkSubpassDependency2 valid usage |
| statement 03093 (internal merge request 3826). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_private_data>>` |
| * `<<VK_EXT_custom_border_color>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for April 26, 2020 Vulkan 1.2.139 spec update: |
| |
| * Update release number to 139 for this update. |
| |
| GitHub Issues: |
| |
| * Configure GitHub CI with Azure pipelines and the Khronos Docker build |
| image (public pull request 1141). |
| * Move NOTE in flink:vkEnumerateInstanceVersion prior to valid usage |
| statements (public pull request 1237). |
| * Add `implicitexternsyncparams` to flink:vkDestroyInstance for |
| slink:VkPhysicalDevice objects (public pull request 1244). |
| * Note in the style guide that extension names are used as preprocessor |
| symbols in all the generated Vulkan headers (public pull request 1245). |
| * Move NOTE about app use of `switch` statements and Vulkan API enums from |
| the style guide into the <<fundamentals-validusage-enums, Valid Usage |
| for Enumerated Types>> section (public pull request 1246). |
| * Modify generator script to use Unix newlines on all platforms (public |
| pull request 1250). |
| |
| Internal Issues: |
| |
| * Allow ename:VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT error to be |
| generated by flink:vkQueuePresentKHR (internal issue 1932). |
| * Update references to the SPIR-V Specification to version 1.5.3 (internal |
| issue 1957). |
| * Add a \<comment> explaining why the bitfields defined for |
| slink:VkAccelerationStructureInstanceKHR in `vk.xml` are non-normative |
| (internal issue 1975). |
| * Add valid usage statement for flink:vkBindImageMemory2::pname:pBindInfos |
| to prevent binding disjoint memory twice (internal merge request 3696). |
| * Add valid usage statements to flink:vkGetBufferMemoryRequirements, |
| flink:vkGetImageMemoryRequirements, and |
| slink:VkBufferMemoryRequirementsInfo2 requiring that external Android |
| hardware buffers be bound to memory (internal merge request 3717). |
| * Fix implicit valid usage statement generation script for handle |
| parameters with `optional="false,true"` XML attributes (internal merge |
| request 3753). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_robustness2>>` |
| * `<<VK_QCOM_render_pass_shader_resolve>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for April 16, 2020 Vulkan 1.2.138 spec update: |
| |
| * Update release number to 138 for this update. |
| |
| GitHub Issues: |
| |
| * Use correctly tagged normative term macros in various places (public |
| pull request 1217). |
| * Fix C arrow markup in parameter descriptions (public pull request 1222). |
| |
| Internal Issues: |
| |
| * Add language to the <<features-requirements, Feature Requirements>> |
| section, the <<versions, Core Revisions>> appendix, and the applicable |
| extensions to require major feature bits if the corresponding extension |
| is supported (internal issue 1961). |
| * Allow slink:VkAccelerationStructureCreateInfoKHR::pname:maxGeometryCount |
| = 0, and clarify that exactly one of pname:compactedSize and |
| pname:maxGeometryCount must: be zero. (internal issue 2079). |
| * Add `allowduplicate` attribute to XML `type` tags to enable future |
| structures which can allow multiple copies of a structure in their |
| pname:pNext chain (internal issue 2090). |
| * Add the glossary term "`format features`", and make minor clarifications |
| to uses of this term in several places in the <<resources, Resource |
| Creation>> chapter and the |
| <<resources-sampler-ycbcr-conversion-format-features, Sampler Ycbcr |
| Conversion Format Features>> section (internal merge request 3727). |
| * Add a constraint to the <<memory-external-android-hardware-buffer, |
| Android Hardware Buffer>> section requiring that bound slink:VkImage or |
| slink:VkBuffer objects be created with the |
| ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID |
| flag set, and corresponding valid usage statements to |
| flink:vkBindBufferMemory, slink:VkBindBufferMemoryInfo, |
| flink:vkBindImageMemory, and slink:VkBindImageMemoryInfo (internal merge |
| request 3732). |
| * Fix pname:memoryTypes ordering description for device coherent memory |
| (ename:VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD) in the |
| <<memory-device-bitmask-list>> section (internal merge request 3738). |
| * Replace code:AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT with |
| code:AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER in the |
| <<memory-external-android-hardware-buffer-usage, AHardwareBuffer Usage |
| Equivalence>> table, and add |
| ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT flag for this case |
| (internal merge request 3741). |
| * Add more references to `NV` and `KHR` ray tracing pipelines in |
| discussions of creating pipelines, or generalize text so they need not |
| all be mentioned by name (internal merge request 3743). |
| * Allow *ShaderCallKHR* memory scope in ray tracing shaders, in the |
| <<spirvenv-module-validation, Validation Rules within a Module>> |
| appendix (internal merge request 3744). |
| * Use Khronos Dockerhub image for spec builds in internal CI (internal |
| merge request 3748). |
| * Add the `<<VK_KHR_dedicated_allocation>>` extension as a dependency of |
| `<<VK_ANDROID_external_memory_android_hardware_buffer>>` (internal merge |
| request 3751). |
| |
| ----------------------------------------------------- |
| |
| Change log for April 06, 2020 Vulkan 1.2.137 spec update: |
| |
| * Update release number to 137 for this update. |
| |
| GitHub Issues: |
| |
| * Incorporate several changes to the specification build process and HTML |
| load-time scripts which pre-render KaTeX math, pre-fetch fonts, and |
| perform several other optimizations which can significantly improve load |
| time for the single-page HTML specification. In our internal evaluation |
| these changes appear to primarily help when using Chrome or Chromium, |
| with smaller improvements for Firefox and Safari. Speedups seem more |
| significant on Linux, Windows, and Android platforms, while MacOS |
| browsers may benefit less (public pull requests 702, 704, and 708). |
| * Clarify that code:OpVariable is decorated with code:Location, not |
| code:OpTypeStruct in the <<interfaces-iointerfaces-locations, Location |
| Assignment>> section (public issue 1203). |
| * Add a NOTE about the WSI origin location in the description of |
| flink:vkQueuePresentKHR (public pull request 1208). |
| * Add the `null-terminated` attribute to |
| slink:VkPerformanceValueDataINTEL::pname:valueString in `vk.xml` (public |
| pull request 1209). |
| * Mark slink:VkPhysicalDeviceVulkan11Properties and |
| slink:VkPhysicalDeviceVulkan12Properties structures as `returnedonly` in |
| `vk.xml` (public pull request 1210). |
| * Create explicit valid usage statements from text in the description of |
| slink:VkValidationFeaturesEXT (public pull request 1212). |
| * Update style guide to add "`user`" to the list of words *not* to use, |
| instead recommending "`application`" (public pull request 1213). |
| * Fix typos where `ext:` was used in the style guide instead of the new |
| `apiext:` Asciidoctor macro (public pull request 1214). |
| * Miscellaneous minor markup and editing fixes (public pull request 1215). |
| * Remove etext:KHR from promoted ename:VK_MAX_DRIVER_NAME_SIZE in the |
| description of slink:VkPhysicalDeviceDriverProperties (public pull |
| request 1218). |
| * Correct use of `NULL` to dlink:VK_NULL_HANDLE in the |
| <<acceleration-structure-inactive-prims, Inactive Primitives and |
| Instances>> section (public pull request 1219). |
| * Remove trailing periods on valid usage statement text, as required by |
| the style guide, and add `scripts/deperiodize_vuids.py` to do this in |
| the future if needed (public pull request 1220). |
| |
| Internal Issues: |
| |
| * Provide a warning in the repository `README.adoc` of pending header |
| changes to remove etext:VK_*_BEGIN_RANGE, etext:VK_*_END_RANGE, and |
| etext:VK_*_RANGE_SIZE tokens (internal issue 872). |
| * Describe the meaning of code:Device for the `<<VK_KHR_shader_clock>>` |
| extension in the <<shaders-scope-device, Device>>, |
| <<shaders-scope-queue-family, Queue Family>>, and |
| <<shaders-scope-command, Command>> sections of the shader |
| <<shaders-scope, Scope>> section (internal issue 1955). |
| * Allow slink:VkDebugUtilsObjectNameInfoEXT::pname:pObjectName to be |
| either NULL or an empty string to remove a previously set name (internal |
| issue #2019). |
| * Add missing VK_ERROR_OUT_OF_HOST_MEMORY error code in `vk.xml` for |
| flink:vkEnumerateInstanceVersion (internal issue 2029). |
| * Require code:R32i or code:R32ui image format for |
| code:OpImageTexelPointer atomic operations in the |
| <<spirvenv-module-validation, Validation Rules within a Module>> section |
| (internal issue 2049). |
| * Remove the `<pattern>` element from images used in the specification, to |
| avoid complaints from prawn-svg during PDF spec builds (internal issue |
| 2053). |
| * Clarify usable sample counts for empty subpasses in the |
| <<features-variableMultisampleRate>> section and the related |
| flink:vkCmdBindPipeline valid usage statement, as well as in the |
| <<limits-framebufferNoAttachmentsSampleCounts>> |
| <<renderpass-noattachments>> sections (internal issue 2066). |
| * Clarify pname:aspectMask usage in render passes in |
| slink:VkGraphicsPipelineCreateInfo valid usage statement 01565 and in |
| slink:VkAttachmentReference2 (internal merge request 3664). |
| * Remove unused etext:VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_KHR |
| token from `vk.xml` and the `<<VK_KHR_ray_tracing>>` appendix |
| (internal merge request 3680). |
| * Require <<features-subgroup-extended-types, |
| pname:shaderSubgroupExtendedTypes>> for Vulkan 1.2 (internal merge |
| request 3680). |
| * Generate symlinks from refpage aliases to the API they're aliasing |
| (internal merge request 3694). |
| * Add an alias from the old ename:VK_ANDROID_NATIVE_BUFFER_EXTENSION_NAME |
| token (internal merge request 3697). |
| * Add `scripts/compImages.sh` to compare all images in two git branches of |
| the specification (internal merge request 3699). |
| * Improve valid usage statements for `<<VK_NV_device_generated_commands>>` |
| in flink:vkCmdExecuteGeneratedCommandsNV, |
| slink:VkGeneratedCommandsInfoNV, |
| flink:vkCmdPreprocessGeneratedCommandsNV, |
| slink:VkIndirectCommandsStreamNV, slink:VkIndirectCommandsLayoutTokenNV |
| and slink:VkGraphicsPipelineCreateInfo (internal merge request 3702). |
| * Clarify differences between `<<VK_NV_ray_tracing>>` and |
| `<<VK_KHR_ray_tracing>>` for |
| slink:VkPipelineCreationFeedbackCreateInfoEXT pipeline creation, |
| pname:shaderGroupHandleSize and pname:maxRecursionDepth limit |
| requirement differences, and detangle `SPV_KHR/NV_ray_tracing` in the |
| <<spirvenv-capabilities-table, List of SPIR-V Capabilities and enabling |
| features or extensions>> (internal merge request 3710). |
| * Add flink:vkGetImageViewAddressNVX and |
| slink:VkImageViewAddressPropertiesNVX to `<<VK_NVX_image_view_handle>>` |
| (internal merge request 3710). |
| * Shorten 'make' output by reducing redundant logging output from refpage |
| build targets (internal merge request 3729). |
| * Replace sname: macro with slink: everywhere except language actually |
| describing the structure in the macro argument (internal merge request |
| 3728). |
| * Add flink:vkGetBufferMemoryRequirements2 and |
| flink:vkGetImageMemoryRequirements2 to the commands for which the |
| implementation makes guarantees about certain properties of the memory |
| requirements in the <<resources-association, Resource Memory |
| Association>> section, following the description of |
| slink:VkMemoryRequirements (internal merge request 3730). |
| * Add valid usage statements for |
| `<<VK_ANDROID_external_memory_android_hardware_buffer>>` (internal merge |
| request 3731). |
| * Add requirements on the |
| slink:VkAccelerationStructureMemoryRequirementsInfoKHR acceleration |
| structure for which memory type bits must be exposed (internal |
| advisorypanel issue 28). |
| |
| New Extensions: |
| |
| * `<<VK_QCOM_render_pass_store_ops>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for March 24, 2020 Vulkan 1.2.136 spec update: |
| |
| * Update release number to 136 for this update. |
| |
| GitHub Issues: |
| |
| * Generate per-extension refpages from the extension appendices in the |
| specification instead of the old, minimal generated refpages, and update |
| the registry index to point to these refpages instead of the |
| specification (public issue 1195, internal issue 1999). |
| * Rename ename:VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL to |
| ename:VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL |
| to match the similar renaming of sname:VkQueryPoolCreateInfoINTEL to |
| slink:VkQueryPoolPerformanceQueryCreateInfoINTEL (public issue 1207, |
| internal issue 2048). |
| |
| Internal Issues: |
| |
| * Add a new <<resources-sampler-ycbcr-conversion-format-features, Sampler |
| Ycbcr Conversion Format Features>> section, and update |
| elink:VkFormatFeatureFlagBits and valid usage statements for |
| slink:VkSamplerCreateInfo and slink:VkSamplerYcbcrConversionCreateInfo |
| to refer to it (internal issue 1963). |
| * Comment out reserved but unused ename:VK_ACCESS_RESERVED_31_BIT_KHR to |
| avoid generator script warnings (internal issue 2016). |
| * Fix some `<<VK_KHR_ray_tracing>>` valid usage IDs that were broken in |
| the 1.2.135 update (internal issue 2044). |
| * Remove `const` qualifier from |
| sname:VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::pname:pNext |
| in `vk.xml` (internal issue 2047). |
| * Remove `flowRoot` elements supported only by Inkscape from some of the |
| images, and update a couple to 96 DPI from 90 DPI due to current |
| Inkscape's insistence. This reduces warnings from prawn-svg during PDF |
| builds (internal issue 2053). |
| * Remove reference in the <<devsandqueues-lost-device, Lost Device>> |
| section to a non-existent list of functions returning |
| ename:VK_ERROR_DEVICE_LOST (internal merge request 3667). |
| * Add valid usage statements to slink:VkImageViewCreateInfo for cube and |
| cube array image view (internal merge request 3682). |
| * Remove redundant valid usage statement 00228 from flink:vkCmdBlitImage |
| (internal merge request 3684). |
| * Document the Khronos-provided Docker image, whose use is recommended |
| when building documents and generated files from this repository |
| (internal merge request 3686). |
| * Rename ename:VK_PIPELINE_COMPILE_REQUIRED_EXT from |
| ename:VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT and add an alias from the |
| old name, since it is not actually an error code. Add it to the |
| `successcodes` attributes of appropriate commands in `vk.xml` (internal |
| merge request 3687). |
| |
| ----------------------------------------------------- |
| |
| Change log for March 17, 2020 Vulkan 1.2.135 spec update: |
| |
| * Update release number to 135 for this update. |
| |
| GitHub Issues: |
| |
| * Add missing dependencies of slink:VkExportMemoryWin32HandleInfoKHR on |
| slink:VkExportMemoryAllocateInfo in the slink:VkMemoryAllocateInfo |
| pname:pNext chain; slink:VkExportFenceWin32HandleInfoKHR on |
| slink:VkExportFenceCreateInfo in the slink:VkFenceCreateInfo pname:pNext |
| chain; and slink:VkExportSemaphoreWin32HandleInfoKHR on |
| slink:VkExportSemaphoreCreateInfo in the slink:VkSemaphoreCreateInfo |
| pname:pNext chain (public issue 1095). |
| * Update the <<spirvenv-module-validation, Validation Rules within a |
| Module>> section of the SPIR-V environment appendix to allow the |
| code:PhysicalStorageBuffer64 addressing model (public issue 1199). |
| * Fix markup in parameters section of |
| flink:vkGetPhysicalDeviceXcbPresentationSupportKHR (public pull request |
| 1201). |
| * Amend rules in the <<extensions-vendor-id, Registering a Vendor ID with |
| Khronos>> section of the style guide to allow other Khronos APIs such as |
| OpenCL to reserve vendor IDs here so they can be shared with those APIs |
| (public KhronosGroup/OpenCL-Docs pull request 203). |
| |
| Internal Issues: |
| |
| * Clarify layer loading order for slink:VkInstanceCreateInfo and in the |
| <<extendingvulkan-layers, Layers>> chapter following the specification |
| of slink:VkLayerProperties (internal issue 1986). |
| * Simplify markup for SPIR-V versions required by different Vulkan |
| versions in the <<spirvenv, Vulkan Environment for SPIR-V>> appendix |
| (internal issue 2011). |
| * Rename sname:VkQueryPoolCreateInfoINTEL to |
| slink:VkQueryPoolPerformanceQueryCreateInfoINTEL in the |
| `<<VK_INTEL_performance_query>>` extension (internal issue 2022). |
| * Add ename:VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT to |
| elink:VkValidationFeatureEnableEXT to specify that layers will process |
| code:debugPrintfEXT operations (internal issue 2023). |
| * Fix conflicting language in slink:VkSamplerYcbcrConversionCreateInfo |
| valid usage statement 01653 (internal merge request 3629). |
| * Add missing valid usage statement for slink:VkSparseImageMemoryBindInfo |
| to require slink:VkImage objects created with the |
| ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag set (internal merge |
| request 3633). |
| * Remove redundant valid usage statement 00122 from flink:vkCmdCopyImage |
| (internal merge request 3643). |
| * Fix several places where `VULKAN_1_1` was used in Asciidoctor |
| conditional markup instead of `VK_VULKAN_1_1` (internal merge request |
| 3654). |
| * Fix conditional markup around slink:VkImageViewCreateInfo valid usage |
| statement 01018 to ensure it doesn't overlap a similar valid usage |
| statement written for another combination of enabled extensions and |
| versions (internal merge request 3655). |
| * Remove redundant valid usage statement from flink:vkCmdCopyImage that |
| was already covered by statements for slink:VkImageCopy. Eventually this |
| will be inverted so the statements are located with flink:vkCmdCopyImage |
| but that requires more work and is deferred (internal merge request |
| 3656). |
| * Clarify wording of slink:VkImageMemoryBarrier valid usage statement |
| 01671 and add a missing statement (internal merge request 3657). |
| * Minor fixes to the style guide to bring it up to date with respect to |
| the Asciidoctor client, assignment of valid usage ID tags, and proper |
| placement of valid usage statements (internal merge request 3662). |
| * Add missing valid usage statements to slink:VkSubpassDescription2 based |
| on comparable statements for slink:VkSubpassDescription (internal merge |
| request 3663). |
| |
| New Extensions |
| |
| * Ray Tracing package of extensions, including |
| ** `<<VK_KHR_deferred_host_operations>>` |
| ** `<<VK_KHR_pipeline_library>>` |
| ** `<<VK_KHR_ray_tracing>>` |
| * `<<VK_EXT_pipeline_creation_cache_control>>` |
| * `<<VK_NV_device_diagnostics_config>>` |
| * `<<VK_NV_device_generated_commands>>` (replacing |
| `VK_NVX_device_generated_commands`, which was an experimental vendor |
| extension and has been removed from the Specification and `vk.xml`). |
| |
| ----------------------------------------------------- |
| |
| Change log for March 6, 2020 Vulkan 1.2.134 spec update: |
| |
| * Update release number to 134 for this update. |
| |
| GitHub Issues: |
| |
| * Fix flink:vkGetPhysicalDeviceToolPropertiesEXT implicit array valid |
| usage statements, rewrite for consistency, and explicitly state lifetime |
| of retrieved results (public pull request 1148). |
| * Change use of "`happens before`" to glossary term "`happens-before`" |
| (public pull request 1170). |
| * Use glossary terms "`release operation`" / "`acquire operation`" instead |
| of similar colloquial language (public pull request 1171). |
| * Fix minor spelling errors and duplicated words (public pull request |
| 1174). |
| * Remove duplicate "`to`" word (public pull request 1176). |
| * Rephrase description of signaling / unsignaling for slink:VkEvent |
| (public pull request 1179). |
| * Update Asciidoctor extension handling of C arrow operator to avoid need |
| for escaping it in custom macros, and corresponding fixes to markup in |
| the spec and to the style guide (public pull request 1186). |
| * Move layout transition NOTE in the |
| <<synchronization-image-layout-transitions, Image Layout Transitions>> |
| section below the corresponding normative paragraph (public pull request |
| 1190). |
| * Change the parent handle types of slink:VkDisplayKHR and |
| slink:VkDisplayModeKHR in `vk.xml` (public pull request 1194). |
| * Add missing `len` attribute for |
| flink:vkQueueSignalReleaseImageANDROID::pname:pWaitSemaphores parameter |
| in `vk.xml` (public pull request 1196). |
| |
| Internal Issues: |
| |
| * Link to HTML preview of `SPV_KHR_non_semantic_info` link in the |
| `<<VK_KHR_shader_non_semantic_info>>` appendix, instead of Asciidoctor |
| source document (internal merge request 3614). |
| * Improve registry schema documentation description of allowed <enum> tags |
| inside <remove> tags (internal merge request 3614). |
| |
| * Clarify behavior when reading or writing image formats with padding |
| ("`X`" components) in the "`Common Operation`" section of the <<copies>> |
| chapter, and that padding components are unused in the elink:VkFormat |
| description of such formats (internal issue 1122). |
| * Clarify that flink:vkGetDeviceProcAddr can be used for device-level |
| commands from instance extensions (internal issue 1960). |
| * Add a note to the <<primsrast-lines-bresenham, Bresenham Line Segment |
| Rasterization>> section clarifying that line rasterization does not |
| depend on sample locations (internal issue 1855). |
| * Add a new header macro dlink:VK_HEADER_VERSION_COMPLETE which provides |
| the complete version (major, minor, and patch/release) of the Vulkan |
| headers at compile time, and document the intended use cases for this |
| macro (internal issue 1990). |
| * Remove `optional` attribute from |
| slink:VkDebugUtilsObjectNameInfoEXT::pname:pObjectName in `vk.xml`, |
| making the string required (internal issue 2002). |
| * Add a missing `structextends` attribute for |
| slink:VkQueryPoolCreateInfoINTEL in `vk.xml` (internal merge request |
| 3599). |
| * Clarify when implicit subpass dependencies are introduced in the |
| definition of slink:VkSubpassDependency (internal merge request 3603). |
| * Update several valid usage statements for flink:vkCmdResetQueryPool, |
| flink:vkCmdBeginQuery, and flink:vkCmdBeginQueryIndexedEXT which |
| interact with the presence of flink:vkCmdResetQueryPool commands in a |
| command buffer, and restrict the VUs to performance queries (internal |
| merge request 3604). |
| * Simplify a hard-to-parse sentence in the <<textures-RGB-sexp, RGB to |
| Shared Exponent Conversion>> section (internal merge request 3606). |
| * Add a `pdfwidth` attribute to markup for images inside tables, to work |
| around a crash occurring in recent versions of asciidoctor-pdf (internal |
| merge request 3626). |
| |
| New Extensions |
| |
| * `<<VK_QCOM_render_pass_transform>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for February 15, 2020 Vulkan 1.2.133 spec update: |
| |
| * Update release number to 133 for this update. |
| |
| GitHub Issues: |
| |
| * Clarify language describing the <<commandbuffers-lifecycle, command |
| buffer lifecycle>> (public pull request 1152). |
| * Add anchor handles to chapters and VUID statements in the HTML outputs |
| (public pull request 1157). |
| * Update declaration of flink:vkCmdDrawIndexedIndirectCountAMD to alias |
| the core function rather than the KHR extension function (public pull |
| request 1165). |
| * Remove redundant NOTE discussing |
| ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT after the description |
| of slink:VkCommandBufferInheritanceInfo.txt (public pull request 1167). |
| * Reserved vendor ID for Codeplay (public pull request #1167). |
| |
| Internal Issues: |
| |
| * Restrict flag bits to bit positions 0..30. Add language to the |
| <<fundamentals-validusage-flags, Valid Usage for Flags>> section |
| expressing the restriction; to the registry documentation where the |
| `bitpos` attribute is defined; and finally, add a test to the generator |
| scripts that warns of bits 31 and higher being used (internal issue |
| 1945). |
| * Clarify dynamic indexing of sampler objects in the |
| <<interfaces-resources-descset, Descriptor Set Interface>> section, to |
| be controlled by the same feature as sampled images (internal issue |
| 1951). |
| * Make the effect of query reset commands requiring multiple passes to |
| complete explicit, by disallowing resets of the same query from the same |
| primary command buffer in the description of flink:vkCmdResetQueryPool |
| and the valid usage statements for ftext:vkCmdBeginQuery* (internal |
| issue 1965). |
| * Update interaction between elink:VkFormatFeatureFlagBits affecting |
| slink:VkSamplerYcbcrConversionCreateInfo::pname:forceExplicitReconstruction |
| (internal merge request 3533). |
| * Generate implicit pname:sType-unique valid usage statements from |
| `validitygenerator.py` even for pname:pNext chains with only a single |
| valid structure type, to enable validation layers work (internal merge |
| request 3534). |
| * Clean up wording of some flink:vkBindImageMemory valid usage statements |
| (internal merge request 3547). |
| * Mark the `VK_EXT_shader_subgroup_vote` and |
| `VK_EXT_shader_subgroup_ballot` as deprecated in `vk.xml` (internal |
| merge request 3558). |
| * Tighten slink:VkSamplerYcbcrConversionCreateInfo::pname:chromaFilter |
| valid usage restriction to be ename:VK_FILTER_NEAREST instead of |
| ename:VK_FILTER_LINAER, now that other filters exist (internal merge |
| request 3561). |
| * Add valid usage statements to slink:VkCommandPoolCreateInfo and |
| slink:VkDeviceQueueCreateInfo requiring that the corresponding |
| ename:VK_COMMAND_POOL_CREATE_PROTECTED_BIT and |
| ename:VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT not be set if the protected |
| memory feature is not enabled. Previously this restriction was described |
| for the elink:VkCommandPoolCreateFlagBits and |
| elink:VkDeviceQueueCreateFlagBits types containing those flags, but not |
| in valid usage statements (internal merge request 3563). |
| * Fix conditional markup in the <<shaders-scope-device>> and |
| <<shaders-scope-queue-family>> sections to apply to Vulkan 1.2, as well |
| as `VK_KHR_vulkan_memory_model` (internal merge request 3570). |
| * Add performance queries to the list in the introduction of the |
| <<supported query types, queries>> chapter (internal merge request |
| 3577). |
| |
| New Extensions |
| |
| * `<<VK_KHR_shader_non_semantic_info>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for January 20, 2020 Vulkan 1.2.132 spec update: |
| |
| * Update release number to 132 for this update. |
| |
| GitHub Issues: |
| |
| * Move and reword a NOTE in the <<extendingvulkan-extensions, Extensions>> |
| section (public pull request 1131). |
| * Change redundant description of application error when using |
| flink:vkMapMemory into a non-normative NOTE (public pull request 1143). |
| * Remove redundant valid usage statement for flink:vkCmdExecuteCommands |
| (public pull request 1151). |
| * Remove redundant command buffer |
| ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT language in |
| flink:vkCmdExecuteCommands valid usage statements (public pull request |
| 1153). |
| * Add flink:vkBeginCommandBuffer valid usage statement to prevent using a |
| primary command buffer with both the |
| ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT and |
| ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flags (public pull |
| request 1154). |
| * Add slink:VkRenderPassBeginInfo valid usage statements for |
| pname:renderArea (public pull request 1159). |
| * Add missing valid usage statements for flink:vkCmdBeginRenderPass when |
| `VK_KHR_separate_depth_stencil_layouts` is enabled (public |
| KhronosGroup/Vulkan-ValidationLayers issue 1470). |
| |
| Internal Issues: |
| |
| * Clarify the definition of "`transfer commands`" for |
| <<synchronization-pipeline-stages-transfer, |
| ename:VK_PIPELINE_STAGE_TRANSFER_BIT>> (internal issue 816). |
| * Clarify VK_ATTACHMENT_STORE_OP_DONT_CARE and reorder render pass chapter |
| (internal issue 1098). |
| * Clarify that <<pipelines-dynamic-state, Dynamic State>> can be set |
| before pipeline bind, and update valid usage statements accordingly |
| (internal issue 1624). |
| * Clarify the behavior of floating-point divide by zero in the |
| <<spirvenv-precision-operation, Precision and Operation of SPIR-V |
| Instructions>> section (internal issue 1669). |
| * Add a valid usage statement to flink:vkCmdResetQueryPool which allows |
| not calling flink:vkCmdEndQuery if a prior flink:vmCmdResetQuery command |
| was called (internal issue 1700). |
| * Refactor specification of shader scopes into the new <<shaders-scope, |
| Scope>> section, and modify other references to this language |
| accordingly. Also describe quad invocation groups properly, with |
| derivative and quad group operations referencing the description, and |
| call out helper invocations as being able to become spontaneously |
| inactive. Simplify parts of the texturing chapter accordingly (internal |
| issues 1824, 1884, 1885, 1911). |
| * Stop claiming that semaphore signals are ordered between different queue |
| commands in the <<synchronization-signal-operation-order>> section |
| (internal merge request 3542). |
| * Move a valid usage statement from slink:VkBindImagePlaneMemoryInfo to |
| flink:vkBindImageMemory2, where it can be determined (internal merge |
| request 3548). |
| |
| ----------------------------------------------------- |
| |
| Change log for January 15, 2020 Vulkan 1.2.131 spec update: |
| |
| * Vulkan 1.2 initial release. Update release number to 131 for this |
| update. The patch number will be used for all Vulkan 1.x spec updates, |
| and continue to increment continuously from the previous Vulkan 1.1.130 |
| update. |
| |
| GitHub Issues: |
| |
| * Use the attributes {prime}, {YCbCr}, and {RGBprime} for better markup of |
| prime symbols, and ease of changing the markup for the commonly used |
| color format names (public issue 636). |
| * Expand the <<extendingvulkan-extensions-extensiondependencies, Extension |
| Dependencies>> section to acknowledge that extension dependencies are |
| usually, but not always satisfied by promoted versions of the |
| dependencies, and point to the extension and version appendices for more |
| information (public issue 1085). |
| * Clarify the <<features-shaderStorageImageExtendedFormats, |
| pname:shaderStorageImageExtendedFormats>> feature and add corresponding |
| formats to the <<formats-mandatory-features-2byte>>, |
| <<formats-mandatory-features-10bit>>, |
| <<formats-mandatory-features-16bit>>, and |
| <<formats-mandatory-features-64bit>> tables (public pull request 1098). |
| * Fix issue 2 wording in the `<<VK_KHR_surface>>` appendix (public pull |
| request 1100). |
| * Fix valid usage statements for |
| slink:VkSwapchainCreateInfoKhr::pname:minImageCount interactions with |
| `<<VK_KHR_shared_presentable_image>>` (public pull request 1101). |
| * Change the etext:VK_QUERY_SCOPE_* tokens in the |
| slink:VkPerformanceCounterScopeKHR to aliases of new |
| etext:VK_PERFORMANCE_COUNTER_SCOPE_* tokens, following the naming |
| conventions for enumerants (public issue 1130). |
| * Move `NV` extension pipe stages in elink:VkShaderStageFlagBits so they |
| are not included in enmae:VK_SHADER_STAGE_ALL_GRAPHICS (public pull |
| request 1133). |
| * Clarify the introduction of the "`Surface Queries`" section of the |
| <<wsi, Window System Integration>> chapter (public pull request 1135). |
| * Fix macros that consume codelike text like pname:foo\->bar (public pull |
| request 1149). |
| |
| Internal Issues: |
| |
| * Add a new <<fundamentals-errorcodes, error code>>, |
| ename:VK_ERROR_UNKNOWN, that can be returned by any function that has |
| error returns (internal issue 1654). |
| * Remove the `<<VK_EXT_filter_cubic>>` requirement to cubic filter the |
| formats etext:*USCALED_PACKED32, etext:*SSCALED_PACKED32, |
| etext:*UINT_PACK32, and etext:*SINT_PACK32 in the |
| <<features-required-format-support, Required Format Support>> section |
| (internal issue 1934). |
| * Add a missing valid usage statement for |
| `<<VK_KHR_buffer_device_address>>` to slink:VkBindBufferMemoryInfo, |
| based on a similar statement for flink:vkBindBufferMemory (internal |
| merge request 3512). |
| * Fix some 'name:' macros to the correct 'pname:' (internal merge request |
| 3529). |
| * Changes to script tools to stay relatively aligned with OpenXR scripts |
| (internal merge request 3530). |
| |
| ----------------------------------------------------- |
| |
| Change log for December 9, 2019 Vulkan 1.1.130 spec update: |
| |
| * Update release number to 130 |
| |
| GitHub Issues: |
| |
| * Mark slink:VkPipelineExecutableInternalRepresentationKHR as |
| `returnedonly` in `vk.xml` (public pull request 1092). |
| * Use 'slink:' in autogenerated valid usage statements instead of 'sname:' |
| (public pull request 1093). |
| * Split flink:vkGetQueryPoolResults VU statement 00815, which had |
| disallowed internal Asciidoctor conditionals into two (public issue |
| 1094). |
| * Minor markup and editing fixes (public pull request 1099). |
| * Hide outdated valid usage statement when not building with timeline |
| semaphore extension (public pull request 1121). |
| * Add `<<VK_NV_glsl_shader>>` deprecation note (public pull request 1125). |
| * Add SPV and GLSL links to `<<VK_KHR_multiview>>` (public pull request |
| 1128). |
| |
| Internal Issues: |
| |
| * Clarify and consistently refer to the shader interface matching rules in |
| the <<interfaces, Shader Interfaces>> chapter (internal issue 1067). |
| * Clarify that inner array dimensions can't be sized with specialization |
| constants in the <<spirvenv-module-validation, Validation Rules within a |
| Module>> section (internal issue 1739). |
| * Use consistent markup for nested access (members, array references, |
| pointers) to structure members and function parameters (internal issues |
| 503, 1765). |
| * Make slink:VkDeviceQueueInfo2::pname:flags optional in `vk.xml` to |
| remove an inappropriate valid usage statement (internal issue 1805). |
| * Fix API name assignment for valid usage blocks in `scripts/reflow.py` |
| (internal issue 1809). |
| * Make spec language more internally consistent by fixing remaining cases |
| where the term "`an instance of (structurename)`" was used, and |
| expanding the style guide rules for describing pname:pNext chains along |
| with corresponding edits it (internal issue 1814). |
| * Disallow code:Workgroup memory and execution scope and code:Workgroup |
| storage class in all but compute, mesh, and task shaders in the |
| <<spirvenv-module-validation, Validation Rules within a Module>> |
| section. There is an exception for code:Workgroup execution scope in |
| tessellation control shaders because we do not have a more appropriate |
| scope for patch barriers (internal issue 1905). |
| * Restore 'Promoted to Vulkan 1.1 Core' comments in extension appendices, |
| which were accidentally removed in spec revision 1.1.129 (internal issue |
| 1914). |
| * Add some minor markup fixes as well as new valid usage statements for |
| slink:VkAttachmentDescription, slink:VkAttachmentDescription2KHR, and |
| slink:VkAttachmentReference2KHR (internal merge request 3493). |
| |
| New Extensions |
| |
| * `<<VK_EXT_tooling_info>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for November 25, 2019 Vulkan 1.1.129 spec update: |
| |
| * Update release number to 129 |
| |
| GitHub Issues: |
| |
| * Rename "`pixel shaders`" to "`fragment shaders`" (public issue 1082). |
| * Fix some markup in external semaphore extension (public pull request |
| 1083). |
| * Fix styleguide em-dash example (public pull request 1088). |
| * Update `.gitignore` to include some additional static refpages (public |
| pull request 1089). |
| * Restructure query language in <<wsi, Window System Integration (WSI)>> |
| chapter - split into sections, reordered orphaned paragraphs, simplify |
| language (public pull request 1090). |
| |
| Internal Issues: |
| |
| * Remove NVIDIA contributors from `<<VK_KHR_performance_query>>` (internal |
| merge request 3481). |
| |
| New Extensions |
| |
| * `<<VK_KHR_buffer_device_address>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for November 18, 2019 Vulkan 1.1.128 spec update: |
| |
| * Update release number to 128 |
| |
| GitHub Issues: |
| |
| * Fix valid usage condition for |
| flink:vkAllocationMemory::pname:pAllocateInfo (public issue 1032). |
| * Change explicit valid usage statements for queue transfer operations in |
| flink:vkCmdWaitEvents and flink:vkCmdPipelineBarrier, and corresponding |
| language in the <<synchronization-queue-transfers-release>> section, to |
| incorporate access masks and clarify when queue transfer ops occur |
| (public pull request 1046). |
| * Ignore disabled bits in valid usage statements (public pull request |
| 1062). |
| * Fix some broken HTML links (public pull request 1063). |
| * Change ename:VK_PIPELINE_CREATE_DISPATCH_BASE to an alias of new token |
| ename:VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, to follow the naming |
| conventions for bitmasks (public issue 1075). |
| |
| Internal Issues: |
| |
| * Add valid usage statement to flink:vkQueueSubmit for attempted use of a |
| resource currently not available for use (internal issue 1751). |
| * Make it invalid for an implementation to return anything but |
| ename:VK_SUCCESS for the flink:vkFreeDescriptorSets and |
| flink:vkResetDescriptorPool commands (internal issue 1781). |
| * Add a note clarifying the relationship between |
| code:SubgroupLocalInvocationId and code:LocalInvocationId or |
| code:LocalInvocationIndex to the <<interfaces-builtin-variables-sgli, |
| code:SubgroupLocalInvocationId>> description (internal issue 1810). |
| * Add valid usage statements for scissor regions to |
| slink:VkPipelineViewportStateCreateInfo based on similar statements for |
| flink:vkCmdSetScissor, and generalize all these VUs to cover each |
| element of the pname:pScissors array (internal issue 1861). |
| * Fix the basis matrix for <<textures-texel-cubic-filtering, Texel Cubic |
| Filtering>> (internal issue 1878). |
| * Make the |
| slink:VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::pname:pNext |
| member non-const, like other feature structures (internal issue 1880). |
| * Document that aggregate load/store may access padding bytes in the |
| <<memory-model-memory-location, Memory Location>> appendix (internal |
| cross-api/memory-model issue 113). |
| * Clarify in the description of elink:VkDescriptorBindingFlagBitsEXT that |
| ename:VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT descriptors allow |
| for updating different descriptors in the same set at the same time on |
| multiple threads (internal merge request 3419). |
| * Clarify that resolve attachments don't need to be compatible in the |
| <<renderpass-compatibility, Render Pass Compatibility>> section |
| (internal merge request 3422). |
| * Add Visual Studio folders to `.gitignore` (internal merge request 3450). |
| * Add language to |
| slink:sname:VkPipelineCoverageModulationStateCreateInfoNV documenting |
| that coverage modulation has no effect when using the |
| ename:VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV reduction mode, clarifying |
| an interaction with `<<VK_NV_coverage_reduction_mode>>` (internal merge |
| request 3456). |
| |
| New Extensions |
| |
| * `<<VK_KHR_performance_query>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for November 4, 2019 Vulkan 1.1.127 spec update: |
| |
| * Update release number to 127 |
| |
| GitHub Issues: |
| |
| * Consistently use the feature name pname:pipelineExecutableInfo as found |
| in `vk.xml` and the generated header files, instead of |
| pname:pipelineExecutableProperties as sometimes used in the |
| specification text (public issue 1061). |
| * Clarify the definition of the code:PrimitiveId returned by a |
| `<<VK_NV_ray_tracing>>` shader (public issue 1068). |
| |
| Internal Issues: |
| |
| * Remove unused `draw_renderpass_validation.txt` valid usage text |
| (internal issue 1869). |
| * Require <<features-features-timelineSemaphore, pname:timelineSemaphore>> |
| if the `<<VK_KHR_timeline_semaphore>>` extension is supported (internal |
| issue 1873). |
| * Fix typos in slink:VkBindBufferMemoryInfo valid usage statement 02791 |
| and various slink:VkSparseMemoryBind VUs (internal merge request 3411). |
| * Minor non-semantic markup and diagram fixes (internal merge request |
| 3417). |
| * Clarify that <<interfaces-iointerfaces-locations, Location>> values are |
| physical slots, not a virtual table that just imposes an overall maximum |
| on the number of locations that can be used (internal merge request |
| 3426). |
| * Add links to GLSL specs from the `<<VK_KHR_shader_clock>>` appendix, as |
| well as expected mappings for GLSL builtins (internal merge request |
| 3429). |
| |
| New Extensions |
| |
| * `<<VK_KHR_separate_depth_stencil_layouts>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for October 21, 2019 Vulkan 1.1.126 spec update: |
| |
| * Update release number to 126 |
| |
| GitHub Issues: |
| |
| * Update the elink:VkAccessFlagBits etext:VK_ACCESS_MEMORY_* flags |
| definition to make clear that ename:VK_ACCESS_MEMORY_READ_BIT and |
| ename:VK_ACCESS_MEMORY_WRITE_BIT are meant to be equivalent to setting |
| all applicable etext:READ and etext:WRITE access flags, and update the |
| <<synchronization-access-types-supported, supported access types>> table |
| accordingly (public pull request 1014). |
| * Remove misleading NOTE in the <<synchronization-dependencies-chains>> |
| section (public pull request 1048). |
| * Clarify the memory mapping NOTE about invalidation described for |
| flink:vkInvalidateMappedMemoryRanges (public pull request 1049). |
| * Fix label for flink:vkCmdWaitEvents VUID 02803 (public pull request |
| 1056). |
| * Styleguide fixes to several NOTES in the <<synchronization>> chapter |
| (public pull request 1057). |
| * Markup fix to <<features-features-timelineSemaphore>> section (public |
| pull request 1058). |
| * Convert some external links to `https` protocol (public pull request |
| 1064). |
| * Remove unsupported nested links inside table captions (public pull |
| request 1067 + followon tweak to make 'allchecks' target pass). |
| |
| Internal Issues: |
| |
| * Restrict the SPIR-V code:Invariant decoration to only be used with |
| code:Output variables in the <<spirvenv-module-validation, Validation |
| Rules within a Module>> section (internal issue 1832). |
| * Clarify that the <<features-independentResolve, independentResolve>> |
| feature implies support for the <<features-independentResolveNone, |
| independentResolveNone>> feature (internal issue 1848). |
| * Clarify self-contradictory language for slink:VkSubpassDescription to |
| say that resolves only happen within the render area (internal issue |
| 1850). |
| * Add valid usage statements for slink:VkMemoryAllocateInfo and |
| corresponding language to elink:VkExternalMemoryFeatureFlagBitsKHR to |
| restrict implementations and applications from using both an external |
| host memory allocation and dedicated allocation (internal merge request |
| 3375). |
| |
| ----------------------------------------------------- |
| |
| Change log for October 13, 2019 Vulkan 1.1.125 spec update: |
| |
| * Update release number to 125. |
| |
| GitHub Issues: |
| |
| * Allow slink:VkRenderPassFragmentDensityMapCreateInfoEXT to extend |
| slink:VkRenderPassCreateInfo2KHR in `vk.xml` (public issue 1027). |
| * Fix markup in `<<VK_EXT_external_memory_dma_buf>>` appendix (public pull |
| request 1051). |
| * Update .gitignore (public pull request 1052). |
| |
| Internal Issues: |
| |
| * Disallowed slink:VkEvent from participating in queue family ownership |
| transfers in the <<devsandqueues-index, Queue Family Index>> section |
| (internal issue 1691). |
| * Relax language describing default NT handle access rights for |
| slink:VkExportMemoryWin32HandleInfoKHR and |
| slink:VkExportSemaphoreWin32HandleInfoKHR (internal issue 1838). |
| * Fix markup for slink:VkDeviceCreateInfo valid usage statement 00372 to |
| remove imbedded Asciidoctor conditionals by splitting it into two VUs |
| (internal issue 1846). |
| * Clarify lifetime of samplers used as immutable samplers in |
| slink:VkDescriptorSetLayoutBinding (internal issue 1849). |
| * Add a valid usage statement prohibiting flink:vkCmdBeginQuery on |
| timestamp queries (internal issue 1851). |
| * Correct some <<Precision of GLSL.std.450 Instructions, SPIR-V |
| instruction precisions>> (internal merge request 3391). |
| * Fix a typo in flink:vkQueueBindSparse valid usage statement 03245 |
| (internal merge request 3394). |
| |
| New Extensions |
| |
| * `<<VK_KHR_spirv_1_4>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for October 6, 2019 Vulkan 1.1.124 spec update: |
| |
| * Update release number to 124. |
| |
| GitHub Issues: |
| |
| * Fix Makefile SPECREMARK macro to work when not building in a git tree |
| (public issue 992). |
| * Ignore pname:aspectMask for unused attachments in |
| slink:VkSubpassDescription2KHR valid usage statements (public pull |
| request 1028). |
| * Minor markup / spelling fixes (public pull requests 1035, 1045). |
| |
| Internal Issues: |
| |
| * Fix markup in Valid Usage statement for slink:VkCreateFramebuffer |
| (internal issue 1823). |
| * Add a new <<synchronization-signal-operation-order, _signal operation |
| order_>> section to the synchronization chapter which describes in |
| detail the ordering guarantees provided by the API between fence and |
| semaphore signal operations (internal merge request 3368). |
| * Move generated `appendix/meta/` files into the Makefile GENERATED |
| directory (internal merge request 3381). |
| |
| New Extensions |
| |
| * `<<VK_KHR_shader_clock>>` |
| * `<<VK_KHR_timeline_semaphore>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for September 15, 2019 Vulkan 1.1.123 spec update: |
| |
| * Update release number to 123. |
| |
| GitHub Issues: |
| |
| * Add missing aspect mask descriptions to elink:VkImageAspectFlagBits |
| (public pull request 1029). |
| * Modify validity generator script to not check validity of ignored values |
| in same-parent valid usage statements (public pull request 1030). |
| * Make slink:VkDescriptorUpdateTemplateCreateInfo::pname:descriptorSetLayout |
| `noautovalidity` in `vk.xml` (public pull request 1031). |
| * Fix footnote markup in the <<vkGetDeviceProcAddr behavior>> table |
| (public pull request 1034). |
| |
| Internal Issues: |
| |
| * Require that <<interfaces-builtin-variables-sgs, code:SubgroupSize>> be |
| a power of two (internal issue 1499). |
| * Clarify that shaderFloat64 and shaderInt64 enable all storage classes, |
| while shaderFloat16, shaderInt8, and shaderInt16 only enable |
| non-interface storage classes. in the <<features-shaderFloat64>>, |
| <<features-shaderInt64>>, and <<features-shaderInt16>> descriptions and |
| for slink:VkPhysicalDeviceShaderFloat16Int8FeaturesKHR (internal issue |
| 1582). |
| * Fix broken Asciidoctor conditional logic in the |
| <<spirvenv-module-validation, Validation Rules within a Module>> |
| section, and add style guide language to help avoid this problem in the |
| future (internal issue 1808). |
| * Modify VUID assignment script to use the first API include in a block as |
| part of the VUID name rather than the last one, so the VUID is based on |
| the promoted API name (internal issue 1809). |
| * Cleanup string descriptions to consistently refer to "`null-terminated |
| UTF-8`" strings (internal issue 1813). |
| * Clarify the purpose of the |
| slink:VkPhysicalDeviceLimits::ptext:maxDescriptorSet* limits (internal |
| merge request 3357). |
| * Fix the slink:VkPhysicalDeviceRayTracingPropertiesNV limits for |
| pname:maxGeometryCount, pname:maxInstanceCount, and |
| pname:maxTriangleCount in the <<limits-required, Required Limits>> |
| section (internal issue 3372). |
| * Update SPIR-V image op sign-matching rules in the |
| <<spirvenv-module-validation, Validation Rules within a Module>> |
| section, the <<formats-numericformat>> table, and the |
| <<interfaces-resources-descset, Descriptor Set Interface>> section |
| (internal spirv/SPIR-V issue 332). |
| |
| New Extensions |
| |
| * `<<VK_KHR_shader_subgroup_extended_types>>` |
| * `<<VK_GOOGLE_user_type>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for September 8, 2019 Vulkan 1.1.122 spec update: |
| |
| * Update release number to 122. |
| |
| Internal Issues: |
| |
| * Add style guide language on not using standalone `+` signs (internal |
| issue 736); not using leading whitespace for markup (internal issue |
| 747); and on keeping descriptions of a single API in a contiguous block |
| of markup (internal issue 949), and apply them to the specification. |
| * Add a glossary definition of "`constant integral expression`", pointing |
| to the SPIR-V "`constant instruction`" definition (internal issue 1225). |
| * Many minor edits to improve writing style consistency and capture |
| additional style guidelines (internal issue 1553). |
| * Clarify that <<fragops-depth-write, depth writes are not performed>> if |
| there is no depth framebuffer attachment (internal issue 1771). |
| * Allow implementations to use rectangular line style of interpolation for |
| <<primsrast-lines-bresenham, wide Bresenham lines>>, though replicating |
| attributes is still preferred. Clarify that code:FragCoord is not |
| replicated (internal issue 1772). |
| * Resolve a contradiction in valid usage statements for |
| slink:VkImageCreateInfo and slink:VkImageStencilUsageCreateInfoEXT |
| (internal issue 1773). |
| * Add style guide discussion of markup for indented equations, and use |
| markup workaround for Asciidoctor 2 compatibility (internal issue 1793). |
| * Deprecate the `<<VK_EXT_validation_flags>>` extension in `vk.xml` and |
| the extension appendix (internal issue 1801). |
| * Add a new checker script `scripts/xml_consistency.py`. This is not |
| currently run as part of internal CI (internal merge request 3285). |
| * Correct "`an`" -> "`a`" prepositions where needed (internal merge |
| request 3334). |
| * Clarify that the <<features-uniformBufferStandardLayout, |
| pname:uniformBufferStandardLayout>> feature is only required when the |
| extension defining it is supported (internal merge request 3341). |
| * Bring scripts into closer sync with OpenXR, mainly through conversion of |
| comments to docstrings where appropriate, and add gen-scripts-docs.sh |
| (internal merge request 3324). |
| * Correct pname:maxDrawMeshTasksCount to 2^16^-1 in the <<limits-required, |
| Required Limits>> table (internal merge requests 3361). |
| |
| New Extensions |
| |
| * `<<VK_IMG_format_pvrtc>>` (public issue 512). |
| |
| ----------------------------------------------------- |
| |
| Change log for August 25, 2019 Vulkan 1.1.121 spec update: |
| |
| * Update release number to 121. |
| |
| GitHub Issues: |
| |
| * Add missing `structextends` attribute in `vk.xml` for |
| slink:VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR (public |
| issue 1018). |
| * Change attributes of flink:vkCmdCopyAccelerationStructureNV, |
| flink:vkCmdWriteAccelerationStructuresPropertiesNV, |
| flink:vkCmdBuildAccelerationStructureNV, and flink:vkCmdTraceRaysNV to |
| require that these commands execute outside renderpasses (public issue |
| 1021). |
| * Add an issue to the `<<VK_EXT_buffer_device_address>>` appendix |
| discussing the introduction of new names and aliasing by equivalent old |
| names (public pull request 1024). |
| |
| Internal Issues: |
| |
| * Protect the `VK_KHR_sampler_mirror_clamp_to_edge` extension with |
| Asciidoctor conditionals, and remove it from the core-only specification |
| builds, where it had previously been force-included in the Makefile. It |
| is now treated like any other extension (internal issue 1776). |
| * Edit some Asciidoctor anchor names starting with `features-features-` to |
| just start with `features-`, since the old chapters was split into 3 |
| pieces. There are still some mild naming inconsistencies with anchors |
| which may be addressed in the future (internal issue 1792). |
| * Add `KHR` alias for the non-suffixed extension token |
| ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, for compatibility |
| with naming rules for extensions (internal issue 1796). |
| * Clarify requirements for external memory in NOTEs for |
| sname:VkExternalMemoryBufferCreateInfo, and valid usage statements for |
| flink:vkBindBufferMemory, slink:VkBindBufferMemoryInfo, |
| flink:vkBindImageMemory, and slink:VkBindImageMemoryInfo (internal merge |
| request 3301). |
| * Make extension version numbers in `vk.xml` and extension appendices |
| consistent. In a few cases, we could not recover history at this |
| granularity, and left the summary of a version's change undefined |
| (internal merge request 3323). |
| * Fix invocation of `CodeInlineMacro` in the Ruby extension backing the |
| `code:` macro, which was delegating to the wrong base class (internal |
| merge request 3331). |
| * Modify `reg.py` to do a better job of recognizing equivalent <enum> |
| definitions. |
| * Add a `sortorder` attribute to XML feature and extension tags. |
| |
| New Extensions |
| |
| * `<<VK_AMD_device_coherent_memory>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for August 17, 2019 Vulkan 1.1.120 spec update: |
| |
| * Update release number to 120. |
| |
| GitHub Issues: |
| |
| * Add slink:VkAccelerationStructureTypeNV explicitly to extension XML for |
| `<<VK_NV_ray_tracing>>` (public issue 848). |
| * Add missing valid usage statements for feature flags in |
| slink:VkCommandBufferInheritanceInfo (public pull request 1017). |
| |
| Internal Issues: |
| |
| * Clarify behavior of non-premultiplied destination colors for |
| `<<VK_EXT_blend_operation_advanced>>` prior to the definition of |
| slink:VkBlendOverlapEXT (internal issue 1766). |
| * Fix the confusing phrasing "`no other queue must: be (doing something)`" |
| for flink:vkQueuePresentKHR, flink:vkQueueSubmit, and |
| flink:vkQueueBindSparse (internal issue 1774). |
| * Add `<<VK_EXT_validation_features>>` flag to enable best practices |
| checks, which will soon be available in the validation layer (internal |
| issue 1779). |
| * Specify allowed characters for VUID tag name components in the style |
| guide (internal issue 1788). |
| * Update links to SPIR-V extension specifications, and parameterize their |
| markup in case the URLs change in the future (internal issue 1797). |
| * Fix an off-by-one error in the valid usage statement for |
| slink:VkPipelineExecutableInfoKHR (internal merge request 3303). |
| * Clean up markup indentation not matching the style guide (internal merge |
| request 3314). |
| * Minor script updates to allow refpage aliases, generate a dynamic TOC |
| for refpages, generate Apache rewrite rules for aliases, open external |
| links from refpages in a new window, and synchronize with the OpenCL |
| scripts. This will shortly enable a paned navigation setup for refpages, |
| similar to the OpenCL 2.2 refpages (internal merge request 3322). |
| * Script updates to add tests to the checker, refactor and reformat code, |
| generate better text for some valid usage statements, use more Pythonic |
| idioms, and synchronize with the OpenXR scripts (internal merge request |
| 3239). |
| * Script updates and minor fixes in spec language to not raise checker |
| errors for refpage markup of pages not existing in the API, such as |
| VKAPI_NO_STDINT_H. Remove corresponding suppression of some |
| check_spec_links.py tests from .gitlab-ci.yml and 'allchecks' target |
| (internal merge request 3315). |
| |
| ----------------------------------------------------- |
| |
| Change log for August 11, 2019 Vulkan 1.1.119 spec update: |
| |
| * Update release number to 119. |
| * A new extension was accidentally left out of the 1.1.118 spec update. |
| This update corrects that oversight. |
| |
| New Extensions: |
| |
| * `<<VK_KHR_pipeline_executable_properties>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for August 11, 2019 Vulkan 1.1.118 spec update: |
| |
| * Update release number to 118. |
| |
| GitHub Issues: |
| |
| * Update `BUILD.adoc` to specifically require Asciidoctor 1.5.8, and make |
| that change to the gitlab CI script (public issue 968). |
| * Remove redundant slink:VkSubpassDependency and |
| slink:VkSubpassDependency2KHR valid usage statements |
| (public pull request 995). |
| * Clarify the <<vkGetInstanceProcAddr behavior>> and <<vkGetDeviceProcAddr |
| behavior>> tables (public pull request 1004). |
| * Fix use of nonexistent |
| slink:VkSamplerYcbcrConversionImageFormatProperties::pname:maxCombinedImageSamplerDescriptorCount |
| (public pull request 1010). |
| * Use compatible pathlib for python2 (public pull request 1012). |
| |
| Internal Issues: |
| |
| * Mark the <<VK_KHR_vulkan_memory_model>> extension as no longer |
| provisional in `vk.xml` (internal issue 1369). |
| * Clarify that use-defined code:Input and code:Output variables cannot be |
| code:Boolean in the <<interfaces-iointerfaces-user, User-defined |
| Variable Interface>> section (internal issue 1663). |
| * Fix naming inconsistencies in |
| slink:VkPhysicalDevicePerformanceQueryFeaturesKHR, |
| slink:VkPhysicalDevicePerformanceQueryPropertiesKHR, |
| slink:VkQueryPoolPerformanceCreateInfoKHR, and associated enumerants |
| (internal issue 1746). |
| * Use ACM reference style for normative references (internal merge request |
| 3256). |
| * Explicitly list the features changed in Vulkan 1.1 in the |
| <<features-requirements, Feature Requirements>> section and the |
| <<versions, Core Revisions (Informative)>> appendix (internal merge |
| request 3274). |
| * Add the slink:VkPhysicalDeviceSubgroupSizeControlFeaturesEXT structure |
| to the <<VK_EXT_subgroup_size_control>> extension, which was |
| accidentally omitted in the initial release of the extension (internal |
| merge request 3287). |
| * Add missing slink:VkImageUsageFlag description for |
| ename:VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT (internal merge |
| request 3292). |
| * Add valid usage statements to slink:VkAccelerationStructureInfoNV and |
| flink:vkGetAccelerationStructureHandleNV to clarify usage of |
| acceleration structure handle and geometries (internal merge request |
| 3292). |
| |
| New Extensions: |
| |
| * `<<VK_AMD_shader_core_properties2>>` |
| * `<<VK_AMD_pipeline_compiler_control>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for July 28, 2019 Vulkan 1.1.117 spec update: |
| |
| * Update release number to 117. |
| |
| GitHub Issues: |
| |
| * Add ename:VK_STENCIL_FACE_FRONT_AND_BACK for naming consistency, and |
| alias the old ename:VK_STENCIL_FRONT_AND_BACK for backwards |
| compatibility (public issue 991). |
| * Fix minor issues with valid usage statements for |
| flink:vkCreateFramebuffer, slink:VkFramebufferCreateInfo, and |
| slink:VkRenderPassBeginInfo when the `<<VK_KHR_imageless_framebuffer>>` |
| extension is enabled (public issue 998). |
| * Clarify the subpass dependency requirement in the |
| <<renderpass-layout-transitions>> section to eliminate the need for a |
| subpass dependency for either the same or different layouts as long as |
| they're both read-only (relates to |
| https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/948). |
| |
| Internal Issues: |
| |
| * Document that <<extendingvulkan-compatibility-promotion, backwards |
| compatibility aliases are not promoted>> as part of promoting an |
| extension (internal issue 1677). |
| * Update VK_ANDROID_native_buffer extension to spec version 8 (internal |
| issue 1753). |
| * Add missing section to the <<VK_KHR_shader_controls_v4_incompatibility, |
| VK_KHR_shader_float_controls>> extension appendix describing |
| the reason for the breaking API change in version 4 of the extension, |
| and correct the version to 4 in `vk.xml` (internal merge request |
| 3275). |
| * Add valid usage statements to slink:VkAccelerationStructureInfoNV |
| requiring the ename:VK_BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag for |
| buffers used in acceleration structure building. |
| |
| New Extensions: |
| |
| * `<<VK_EXT_line_rasterization>>` |
| * `<<VK_EXT_texture_compression_astc_hdr>>` |
| * `<<VK_EXT_index_type_uint8>>` |
| |
| ----------------------------------------------------- |
| |
| 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>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for July 14, 2019 Vulkan 1.1.115 spec update: |
| |
| * Update release number to 115. |
| |
| GitHub Issues: |
| |
| * Add valid usage statements to slink:VkWriteDescriptorSet and |
| slink:VkCopyDescriptorSet specifying that updating immutable descriptors |
| with ename:VK_DESCRIPTOR_TYPE_SAMPLER is invalid, and that updating |
| ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER ignores the update's |
| samplers (public issue 985). |
| * Document that the `manhtmlpages` target requires building with all |
| extensions enabled, in `BUILD.adoc` (public issue 992). |
| * Fix reference to the wrong subpass in valid usage statement for |
| slink:VkRenderPassCreateInfo (public pull request 994). |
| |
| Internal Issues: |
| |
| * Rename slink:VkPhysicalDeviceShaderIntegerFunctions2INTEL and |
| ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS2_FEATURES_INTEL |
| for consistency with global naming conventions, and to help code |
| generation in other projects (internal issue 1685). |
| * Update valid usage statements for image code:Offset / code:ConstOffset |
| usage in the <<textures-gather, Texel Gathering>> and |
| <<spirvenv-module-validation, Validation Rules within a Module>> |
| sections, and for the <<limits-minTexelGatherOffset>> and |
| <<limits-maxTexelGatherOffset>> limits (internal issue 1723). |
| * Require code:code:OpGroupNonUniformBroadcast to take a constant `Id` |
| operand in the <<spirvenv-module-validation, Validation Rules within a |
| Module>> sections (internal issue 1726). |
| * Note that the swapchain specified in slink:VkImageSwapchainCreateInfoKHR |
| when creating an image must match the one specified in |
| slink:VkBindImageMemorySwapchainInfoKHR when binding memory to the image |
| (internal issue 1729). |
| * Remove stext:KHR suffix from some structure cross-references that were |
| promoted to Vulkan 1.1 (internal issue 1730). |
| * Fix structure name in `structextends` attribute for |
| slink:VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT in `vk.xml` |
| (internal issue 1740). |
| * Fix an error in the code:ClipColor() pseudocode for |
| <<VK_EXT_blend_operation_advanced>> (internal issue 1741). |
| * Add a row for |
| ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV to the |
| description of elink:VkQueryType, and make a few related minor text |
| cleanups. |
| * Rename slink:VkPhysicalDeviceFloat16Int8FeaturesKHR to |
| slink:VkPhysicalDeviceShaderFloat16Int8FeaturesKHR for consistency, |
| retaining aliases of the old structure name and structure type enum for |
| backwards compatibility. |
| |
| ----------------------------------------------------- |
| |
| Change log for July 7, 2019 Vulkan 1.1.114 spec update: |
| |
| * Update release number to 114. |
| |
| Internal Issues: |
| |
| * Fix extension appendix for `<<VK_INTEL_performance_query>>` to remove |
| duplicate citation of ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL |
| (internal merge request 3234). |
| |
| New Extensions: |
| |
| * `<<VK_KHR_imageless_framebuffer>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for June 30, 2019 Vulkan 1.1.113 spec update: |
| |
| * Update release number to 113. |
| |
| GitHub Issues: |
| |
| * Fix typo in `<<VK_EXT_global_priority>>` appendix (public issue 979). |
| |
| Internal Issues: |
| |
| * Expand the explanation of |
| slink:VkSamplerYcbcrConversionImageFormatPropertiesKHR::pname:combinedImageSamplerDescriptorCount, |
| and explain how it interacts with slink:VkWriteDescriptorSet, |
| slink:VkDescriptorSetLayoutBinding::pname:descriptorCount, and |
| slink:VkDescriptorPoolSize::pname:descriptorCount (internal issue 1643). |
| * Clarify restrictions on components for code:OpImageGather in the |
| <<spirvenv-module-validation, Validation Rules within a Module>> section |
| (internal issue 1707). |
| * Clarify the descriptions of <<limits-computeUnitsPerShaderArray, |
| pname:computeUnitsPerShaderArray>> and <<limits-wavefrontSize, |
| pname:wavefrontSize>> fields in |
| slink:VkPhysicalDeviceShaderCorePropertiesAMD. |
| |
| New Extensions: |
| |
| * `<<VK_EXT_texel_buffer_alignment>>` |
| * `<<VK_EXT_shader_demote_to_helper_invocation>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for June 23, 2019 Vulkan 1.1.112 spec update: |
| |
| * Update release number to 112. |
| |
| GitHub Issues: |
| |
| * Clarify that it is possible to use the <<memory-host, Host Memory>> |
| pname:pfnReallocation callback to free memory in any case that |
| pname:pfnFree could be used (public issue 973). |
| |
| Internal Issues: |
| |
| * Clarify range and precision of code:OpImageQueryLod in the discussion of |
| scale factor and level-of-detail operation in the |
| <<textures-normalized-operations, Normalized Texel Coordinate |
| Operations>> section (internal issues 926, 1719). |
| * Fix framebuffer layer valid usage statements for |
| slink:VkRenderPassCreateInfo, slink:VkRenderPassCreateInfo2KHR, and |
| slink:VkFramebufferCreateInfo (internal issue 1670). |
| * Refactor common valid usage statements for flink:vkCmdBeginQuery and |
| flink:vkCmdBeginQueryIndexedEXT (internal issue 1682). |
| * Prohibit the ename:ename:VK_SAMPLER_YCBCR_RANGE_ITU_NARROW range from |
| being used in slink:VkSamplerYcbcrConversionCreateInfo for formats with |
| a bit depth less than 8 (internal issue 1688). |
| * Add missing interactions with `<<VK_EXT_host_query_reset_usage>>` in the |
| <<queries, Queries>> chapter (internal issue 1692). |
| * Clean up error output from the `optimize-pdf` build script on success. |
| * Fix an internal link to the <<spirvenv-correctly-rounded, Correctly |
| Rounded>> section in the SPIR-V appendix by adding and referring to that |
| anchor. |
| * Fix extension version numbers in `vk.xml` for `VK_EXT_filter_cubic` and |
| `VK_IMG_filter_cubic`. |
| * Specify division precision for negative numbers, and remove statement |
| that trigonometric functions have undefined precision, in the |
| <<spirvenv-precision-operation, Precision and Operation of SPIR-V |
| Instructions>> appendix. |
| |
| ----------------------------------------------------- |
| |
| Change log for June 10, 2019 Vulkan 1.1.111 spec update: |
| |
| * Update release number to 111. |
| |
| GitHub Issues: |
| |
| * Clean up flink:vkGetPhysicalDeviceSurfaceFormatsKHR and |
| flink:vkGetPhysicalDeviceSurfaceFormats2KHR to drop the |
| ename:VK_FORMAT_UNDEFINED case, require callers pass a supported |
| surface, and rearrange some validation-related language (public issue |
| 207). |
| * Allow dynamic and nonuniform indexing of acceleration structures in the |
| <<interfaces-resources-descset, Descriptor Set Interface>> section |
| (public KhronosGroup/glslang issue 1766). |
| |
| Internal Issues: |
| |
| * Clarify when images require the use of YCbCr samplers for |
| slink:VkWriteDescriptorSet and slink:VkImageViewCreateInfo (internal |
| issue 1639). |
| * Remove the "`block`" language around <<features-robustBufferAccess, |
| vectorizing and robust buffer access>> (internal issue 1642). |
| * Allow code:OpTypeImageFormat == code:Unknown for input attachments in |
| the <<interfaces-resources-descset, Descriptor Set Interface>> section |
| (internal issue 1645). |
| * Fix Asciidoctor conditionals around |
| ename:VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT in the |
| <<fundamentals-errorcodes>> section (internal issue 1679). |
| * Remove error codes from `vk.xml` for |
| flink:vkUninitializePerformanceApiINTEL, which has a `void` return type |
| (internal issue 1704). |
| * Various subgroup-related fixes in the <<spirvenv-capabilities, |
| Capabilities>>, <<shaders-subgroup-arithmetic, Arithmetic Subgroup |
| Operations>>, <<shaders-subgroup-clustered, Clustered Subgroup |
| Operations>>, and <<shaders-subgroup-partitioned, Partitioned Subgroup |
| Operations>> sections (internal merge request 3164). |
| * Fix Asciidoctor markup affecting math rendering in the <<Precision of |
| core SPIR-V Instructions>> table (internal merge request 3166). |
| * Fix incorrect reference to flink:vkGetPhysicalDeviceFeatures2KHR in the |
| description of slink:VkPhysicalDeviceASTCDecodeFeaturesEXT (internal |
| merge request 3169). |
| * Fix a non-sentence in the introduction to the <<textures, Image |
| Operations Overview>> section (internal merge request 3184). |
| * Minor markup, grammar, and typo fixes for the |
| `<<NV_shader_sm_builtins>>` extension spec language (internal merge |
| request 3189). |
| * Clarify that 1D and 1D array format support is optional for cubic |
| filters, immediately following the <<formats-mandatory-features-astc, |
| Mandatory ASTC LDR format support>> table (internal merge request 3194). |
| |
| ----------------------------------------------------- |
| |
| Change log for June 2, 2019 Vulkan 1.1.110 spec update: |
| |
| * Update release number to 110. |
| |
| GitHub Issues: |
| |
| * Fix typo (public pull request 972). |
| * Rename Pastel driver ID to SwiftShader (public pull request 974). |
| |
| New Extensions: |
| |
| * `<<VK_EXT_fragment_shader_interlock>>` |
| * `<<VK_NV_shader_sm_builtins>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for May 24, 2019 Vulkan 1.1.109 spec update: |
| |
| * Update release number to 109. |
| |
| GitHub Issues: |
| |
| * Require matching for physical devices to be in a device group in the |
| <<devsandqueues-devices, Devices>> section (public issue 695). |
| * Fix typo in an equation in the <<fragmentdensitymap-fetch-density-value, |
| Fetch Density Value>> section (public issue 954). |
| * Fix styleguide links (public pull request 965). |
| |
| Internal Issues: |
| |
| * Allow <<renderpass-compatibility, compatibility of single-subpass |
| renderpasses>> with different resolve attachments (internal issue 1464). |
| * Add some missing empty flags types to API spec so custom refpage |
| generation doesn't break (internal issue 1607). |
| * Add a "`SPIR-V Sampled Type`" column to the <<formats-numericformat, |
| Interpretation of Numeric Formats>> table, and clarify the requirement |
| that the code:OpTypeImage sampled type match the bound image's numeric |
| format for slink:VkClearColorValue and in the |
| <<interfaces-resources-descset, Descriptor Set Interface>> section |
| (internal issue 1646). |
| * Fix a typo in the <<tessellation-quad-tessellation, Quad Tessellation>> |
| section which should refer to rectangles, not triangles (internal issue |
| 1667). |
| * Clarify the definition of time domains in elink:VkTimeDomainEXT |
| (internal merge request 3110). |
| * Add R10X6 and R12X4 formats to the <<formats-mandatory-features-10bit>> |
| table (internal merge request 3137). |
| * Don't require extern sync on wait/signal semaphores in `vk.xml` for |
| flink:vkQueueSubmit and flink:vkQueueBindSparse (internal merge request |
| 3116). |
| * Improve phrasing of compute and mesh shader size related to |
| code:LocalSize and code:WorkgroupSize in |
| slink:VkPhysicalDeviceMeshShaderPropertiesNV and |
| slink:VkPhysicalDeviceMaintenance3Properties (internal merge request |
| 3156). |
| * Make the flink:vkCmdBindShadingRateImageNV pname:imageView parameter |
| optional in `vk.xml` (internal merge request 3157). |
| |
| New Extensions: |
| |
| * `<<VK_INTEL_performance_query>>` |
| * `<<VK_INTEL_shader_integer_functions2>>` |
| |
| ----------------------------------------------------- |
| |
| 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>>` |
| |
| ----------------------------------------------------- |
| |
| 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>>` |
| |
| ----------------------------------------------------- |
| |
| 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 |
| accommodate, 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. |
| |
| ----------------------------------------------------- |
| |
| Change log for March 19, 2019 Vulkan 1.1.105 spec update (GDC edition): |
| |
| * Update release number to 105. |
| |
| Public Issues: |
| |
| * Fix contractions and other markup issues (public pull request 935). |
| |
| New Extensions: |
| |
| * Google Games Platform |
| ** New `ggp` platform and associated header file `vulkan_ggp.h` |
| ** `VK_GGP_frame_token` |
| ** `VK_GGP_stream_descriptor_surface` |
| |
| ----------------------------------------------------- |
| |
| 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) |
| |
| ----------------------------------------------------- |
| |
| Change log for March 11, 2019 Vulkan 1.1.103 spec update: |
| |
| * Update release number to 103. |
| |
| Public Issues: |
| |
| * Remove (unnecessary) scoped modification order case from the memory |
| model <<memory-model-location-ordered, location-ordered>> definition |
| (public pull request 924). |
| * Add an <<memory-model-acyclicity, acyclicity>> axiom to the memory model |
| (public pull request 927). |
| |
| Internal Issues: |
| |
| * Fix reversed logic of slink:VkFormatProperties discussion of multi-plane |
| formats and ename:VK_FORMAT_FEATURE_DISJOINT_BIT (internal issue 1493). |
| * Clarify how slink:VkImageStencilUsageCreateInfoEXT works, including new |
| valid usage statements for flink:vkCmdClearDepthStencilImage, and the |
| <<copies, Common Operation>> section of the Copy Commands chapter |
| (internal issue 1565). |
| * Update <<spirvenv-precision-operation, Precision and Operation of SPIR-V |
| Instructions>> section to require that denorms be preserved by several |
| instructions that don't perform any mathematical operations (internal |
| issue 1584). |
| * Remove duplicate valid usage statement from flink:vkAcquireNextImageKHR |
| (internal merge request 3062). |
| |
| ----------------------------------------------------- |
| |
| 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` |
| |
| ----------------------------------------------------- |
| |
| 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). |
| |
| ----------------------------------------------------- |
| |
| Change log for February 10, 2019 Vulkan 1.1.100 spec update: |
| |
| * Update release number to 100. |
| |
| Public Issues: |
| |
| * Clarify that scoped modification order only relates to |
| <<memory-model-atomic-operation, atomic writes>> (public pull request |
| 906). |
| * Remove `readme.txt` reference from `xml/README.adoc` (public pull |
| request 907). |
| * Add missing slink:VkShaderResourceUsageAMD to the <<VK_AMD_shader_info>> |
| appendix (public pull request 908). |
| * Fix markup for <<VK_EXT_filter_cubic>> appendix (public pull request |
| 911). |
| * Fix typo "`attachment`" (public pull request 914). |
| * Alias the enums for `VK_IMG_filter_cubic` properly to the corresponding |
| `VK_EXT_filter_cubic` enums, so they appear in the corresponding |
| enumerated types, instead of as #defines (Vulkan-Headers issue 40). |
| |
| Internal Issues: |
| |
| * Remove nested conditionals in valid usage statements for |
| slink:VkFramebufferCreateInfo and flink:vkCmdPipelineBarrier by |
| duplicating statements along ifdef/ifndef paths for |
| VK_KHR_depth_stencil_resolve (internal issue 1527). |
| * Clarify allowed values of <<spirv-precision-operation, SPIR-V operations |
| near infinity>>. For very large results of operations the allowed range |
| of return values as defined in the spec didn't include the largest |
| finite number. In some rounding modes (eg. RTZ) the largest finite |
| number is the correctly rounded result, so it should be allowed. |
| * Require descriptor types to match in slink:VkCopyDescriptorSet. |
| |
| ----------------------------------------------------- |
| |
| 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 {YCbCr} formats in the |
| <<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` |
| |
| ----------------------------------------------------- |
| |
| Change log for January 13, 2019 Vulkan 1.1.98 spec update: |
| |
| * Update release number to 98. |
| |
| Public Issues: |
| |
| * Fix missing markup in flink:vkDestroyPipelineLayout valid usage |
| statement (pull request 882). |
| * Add missing contributors for `<<VK_EXT_buffer_device_address>>` (public |
| pull request 891). |
| |
| Internal Issues: |
| |
| * Detect nested bullet points in valid usage blocks and warn about them |
| during VUID assignment (internal issue 1382). |
| * Update the style guide to document the process for reserving new bits in |
| bitmask types (internal issue 1411). |
| * Clarify for slink:VkApplicationInfo::pname:apiVersion and in the |
| <<fundamentals-validusage-versions, Valid Usage for Newer Core |
| Versions>> section when it is valid for an application to use a certain |
| version of Vulkan API functionality (for an instance and for a |
| device/physical device); and when the validation layers must generate an |
| error (internal issue 1412). |
| * Add optional <<memory-model-availability-visibility, transitive |
| availability/visibility operations to the memory model, including a new |
| pname:vulkanMemoryModelAvailabilityVisibilityChains feature for |
| slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (internal issue |
| 1460). |
| * Add the code:StorageBuffer storage class to those in the |
| <<interfaces-resources-descset, Descriptor Set Interface>> (internal |
| issue 1480). |
| * Add missing `returnedonly` tags for a number of returned extension |
| structures that can be passed in pname:pNext chains (internal issue |
| 1515). |
| * Clean up and rearrange some spec language for |
| slink:VkRenderPassCreateInfo and slink:VkAttachmentReference.txt |
| (internal issue 1522). |
| * Correctly round the code:OpVectorTimesScalar and |
| code:OpMatrixTimesScalar SPIR-V operations in the <<Precision of core |
| SPIR-V Instructions>> table (internal merge request 2996). |
| * Work around cases in flink:vkCmdBeginTransformFeedbackEXT, |
| flink:vkCmdEndTransformFeedbackEXT, and |
| slink:VkPipelineCoverageModulationStateCreateInfoNV where an array |
| parameter is `optional` but the length is not in `vk.xml`. This is an |
| interim fix using `noautovalidity` + handcoded VU replacing those that |
| should be autogenerated (internal issue 2944 and |
| https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/480). |
| * Remove redundant capability validation of the code:float16 and code:int8 |
| SPIR-V capabilities from the <<spirvenv-capabilities, Capabilities>> |
| section, since they are already covered in the preceding table. |
| * Update check_spec_links script, including validation for reference page |
| open blocks. Fix errors identified by the script. |
| |
| ----------------------------------------------------- |
| |
| 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` |
| |
| ----------------------------------------------------- |
| |
| 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 {YCbCr} formats in the |
| <<features-required-format-support, Required Format Support>> section |
| and the <<formats-requiring-sampler-ycbcr-conversion, Formats |
| requiring sampler {YCbCr} 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 incompatible change to an EXT |
| that was released very recently; 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 is clearly wrong (internal MR 2970). |
| |
| ----------------------------------------------------- |
| |
| Change log for December 3, 2018 Vulkan 1.1.95 spec update: |
| |
| * Update release number to 95. |
| |
| Public Issues: |
| |
| * Fix valid usage and XML issues found in public issues 789 and 790 for |
| the `VK_EXT_debug_utils` extension (public pull request 794). |
| * Replace references to `VK_NV_dedicated_allocation` with links to the |
| corresponding slink:slink:VkMemoryDedicatedRequirements and |
| slink:slink:VkMemoryDedicatedAllocateInfo structures in the description |
| of elink:VkExternalMemoryFeatureFlagBits (public issue 801). |
| * Fix miscellaneous minor markup and spelling issues in |
| `VK_NV_ray_tracing` extension (public pull request 860). |
| * Remove "returnedonly" from XML for |
| slink:VkPhysicalDeviceInlineUniformBlockFeaturesEXT and |
| slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (public issue 862). |
| |
| Internal Issues: |
| |
| * Add to the description of the |
| <<features-limits-maxComputeSharedMemorySize, |
| pname:maxCompureSharedMemorySize>> feature to state the shared variables |
| should be packed at least as tightly as std430 (internal issue 1386). |
| * Fix and clarify various references to image and image view usage in |
| flink:vkCmdBindShadingRateImageNV, flink:vkCmdBeginRenderPass, and |
| slink:VkImageStencilUsageCreateInfoEXT (internal issue 1432). |
| * Require that the slink:VkImage mipmap chain match the Android hardware |
| buffer mipmap chain for slink:VkMemoryAllocateInfo (internal issue |
| 1479). |
| * Fix the definition of slink:VkSwapchainCreateInfoKHR valid usage |
| statement 01778 (Vulkan-ValidationLayers!15) |
| * Fix descriptions of <<interfaces-builtin-variables-launchid, |
| code:LaunchIDNV>> and <<interfaces-builtin-variables-launchsize, |
| code:LaunchSizeNV>> to code:uvec3. |
| |
| New Extensions: |
| |
| * `VK_KHR_shader_float16_int8` |
| * `VK_KHR_shader_float_controls` |
| |
| ----------------------------------------------------- |
| |
| Change log for November 25, 2018 Vulkan 1.1.94 spec update: |
| |
| * Update release number to 94. |
| |
| Public Issues: |
| |
| * Use the terms "`texel block`" and "`texel block size`" instead of "`data |
| element`" and "`element size`", and define "`element`" as an array slot. |
| In addition to the terminology changes, retitled the <<texel-block-size, |
| Representation and Texel Block Size>> section and added texel block size |
| / no. of texels/block information to the |
| <<features-formats-compatibility, Compatible Formats>> table. There is |
| some additional work underway to make sure the compatibility language |
| makes sense for all of uncompressed, compressed, and multiplanar formats |
| (public issue 763). |
| * Cleanup `VK_NV_ray_tracing` language (public issues 858, 859). |
| |
| Internal Issues: |
| |
| * Specify in <<shaders-invocationgroups, Invocation and Derivative |
| Groups>> and <<textures-output-format-conversion, Texel Output Format |
| Conversion>> that derivative groups are quads when code:SubgroupSize >= |
| 4 (internal issue 1390). |
| * Make the type of slink:VkDescriptorUpdateTemplateCreateInfo::pname:pNext |
| `const` following pattern for the other stext:Vk*CreateInfo structures |
| (internal issue 1459). |
| * Specify that flink:vkCmdClearAttachments executes as a drawing command, |
| rather than a transfer command (internal issue 1463). |
| * Update `VK_NV_ray_tracing` to use code:InstanceId instead of |
| code:InstanceIndex. |
| |
| New Extensions: |
| |
| * `VK_KHR_swapchain_mutable_format` |
| * `VK_EXT_fragment_density_map` |
| |
| ----------------------------------------------------- |
| |
| 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` |
| |
| ----------------------------------------------------- |
| |
| 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. |
| |
| ----------------------------------------------------- |
| |
| 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, accommodating 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` |
| |
| ----------------------------------------------------- |
| |
| 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. |
| |
| ----------------------------------------------------- |
| |
| Change log for October 21, 2018 Vulkan 1.1.89 spec update: |
| |
| * Update release number to 89. |
| |
| Public Issues: |
| |
| * Clarify the reference to <<features-limits-mipmapPrecisionBits, mipmap |
| precision bits>> in the <<textures-image-level-selection, Image Level(s) |
| Selection>> section (public issue 660). |
| * Update <<debugging-object-types,VkObjectType and Vulkan Handle |
| Relationship>> table with missing types (public pull request 820). |
| * Miscellaneous minor markup cleanup (public pull request 822). |
| * Fix copy/paste bugs in the description of how implicit |
| availability/visibility operations for atomics/barriers are ordered in |
| the <<memory-model-availability-visibility-semantics, Availability and |
| Visibility Semantics>> section (public issue 823). |
| * Add ename:VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV bit missing from |
| the mesh shading list of the <<synchronization-pipeline-graphics, |
| graphics pipeline>> (public issue 824). |
| |
| Internal Issues: |
| |
| * Clarify that only statically used members of a push constant block need |
| to be in the push constant range, and stop referring to block members as |
| "`variables`" in the <<interfaces-resources-pushconst, Push Constant |
| Interface>> section. This is related to |
| https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/340 |
| (internal issue 1401). |
| * Clarify interaction between flink:vkCmdSetDeviceMask and render pass |
| control commands in the slink:VkDeviceGroupRenderPassBeginInfo section |
| (internal issue 1416). |
| * Miscellaneous minor markup cleanup. |
| * Remove types defined by `"disabled"` extensions from |
| validextensionstructs in the XML processing scripts, so downstream code |
| generators don't emit them. |
| |
| ----------------------------------------------------- |
| |
| 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`. |
| |
| ----------------------------------------------------- |
| |
| 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 (public issue 814). |
| * 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 is just a placeholder, but this should avoid further |
| comments. |
| * Minor markup fixes in some extension appendices. |
| |
| New Extensions: |
| |
| * `<<VK_FUCHSIA_imagepipe_surface>>` |
| |
| ----------------------------------------------------- |
| |
| Change log for September 29, 2018 Vulkan 1.1.86 spec update: |
| |
| * Update release number to 86. |
| |
| Internal Issues: |
| |
| * Add new <<resources-image-creation-limits, Image Creation Limits>> |
| section and reference that from valid usage statements, reducing |
| combinatorial complexity of extension-dependent VUs. Also fixes some |
| underspecified limits (such as pname:maxMipLevels) in the VUs for |
| slink:VkImageCreateInfo when |
| slink:VkExternalMemoryImageCreateInfo::pname:externalMemoryHandles |
| contains multiple bits, and fixes incorrectly (and underspecified) |
| limits when an Android external format is used (internal issue 1370). |
| * Remove unused "`Fragment Area Granularity`" glossary entry accidentally |
| introduced in the 1.1.85 update. |
| |
| New Extensions: |
| |
| * `VK_KHR_driver_properties` |
| * `VK_KHR_shader_atomic_int64` |
| * The specification sources contain text for another extension, |
| `VK_EXT_image_drm_format_modifier`, but this extension is not yet |
| complete, and is marked disabled in `vk.xml`. The extension will be |
| enabled, and become part of the spec, only when the authors decide it is |
| ready. |
| |
| ----------------------------------------------------- |
| |
| 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` |
| |
| ----------------------------------------------------- |
| |
| Change log for September 8, 2018 Vulkan 1.1.84 spec update: |
| |
| * Update release number to 84. |
| |
| Public Issues: |
| |
| * Fix code sample in the `<<VK_EXT_debug_utils>>` extension (public issue |
| 751). |
| * Fix misleading comment in `vk.xml` for |
| slink:VkDescriptorBufferInfo::pname:buffer (public pull request 762). |
| * Fix formatting of deprecation attributes in schema doc (public pull |
| request 767). |
| * Change `can` to `may` in the description of |
| elink:VkSparseImageFormatFlagBits, which are return values from queries |
| (public pull request 768). |
| * Prettify generated contact list in extension appendices, adding logos |
| and a New Issue link (public pull request 770). |
| * Enable sRGB conversion based on the image view format, not the image |
| format, in the <<textures-format-conversion, Format Conversion>> section |
| (public pull request 773). |
| * Fix typo in equation in the <<primsrast-lines-basic, Basic Line Segment |
| Rasterization>> section (public pull request 780). |
| * Fix special characters in GitHub contacts links (public pull request |
| 783). |
| * Make clean_pdf target remove pdf folder (public pull request 784). |
| * Fix styleguide bad markup of block continuation (public pull request |
| 792). |
| |
| Other Issues: |
| |
| * Allow a zero vertex attribute divisor in the |
| `<<VK_EXT_vertex_attribute_divisor>>` extension, exposed via the |
| slink:VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT feature. |
| * Add missing `structextends="VkDeviceCreateInfo"` to |
| slink:VkPhysicalDeviceShaderDrawParameterFeatures and |
| slink:VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT. |
| |
| New Extensions: |
| |
| * `VK_KHR_memory_model` |
| * `VK_EXT_astc_decode_mode` |
| * `VK_EXT_inline_uniform_block` |
| |
| ----------------------------------------------------- |
| |
| Change log for August 13, 2018 Vulkan 1.1.83 spec update: |
| |
| * Update release number to 83. |
| |
| Public Issues: |
| |
| * Use [%inline] directive for all SVGs to reduce file size (public pull |
| request 734). |
| * Convert XML `value` aliases into <alias> tags (public pull request |
| 747). |
| * Fix metadoc script showing non-selected extensions (public pull request |
| 748). |
| * Reapply public pull request 742 to make |
| ename:VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT part of the |
| graphices pipeline (public pull request 749). |
| * Fix numerous typos related to accidental duplication of words (public |
| pull request 760). |
| * Fix `vk.xml` contact typos (public pull request 761). |
| |
| |
| Internal Issues: |
| |
| * Add images to the <<Standard sample locations>> table (internal issue |
| 1115). |
| * Add a definition of "`Inherited from`" precision in the |
| <<spirvenv-precision-operation, Precision and Operation of SPIR-V |
| Instructions>> section (internal issue 1314). |
| * Clarify that both built-in and user-defined variables count against the |
| location limits for shader interfaces in the |
| <<interfaces-iointerfaces-locations, Location Assignment>> section |
| (internal issue 1316). |
| * Merge "`required`" capabilities into the <<spirvenv-capabilities-table, |
| list of optional: SPIR-V capabilities>> (internal issue 1320). |
| * Relax the layout matching rules of descriptors referring to only a |
| single aspect of a depth/stencil image, by reference to the new |
| <<resources-image-layouts-matching-rule, Image Layout Matching Rules>> |
| section (internal issue 1346). |
| * Revert extension metadoc generator warning about name mismatches to a |
| diagnostic, due to annoying warnings in build output for conscious |
| choices we've made (internal issue 1351). |
| |
| Other Issues: |
| |
| * Reserve bits for pending vendor extensions. |
| * Make Vulkan consistent with SPIR-V regarding code:DepthReplacing and |
| code:FragDepth in the <<interfaces-builtin-variables, Built-In |
| Variables>> section. |
| * Add missing ChangeLog entries for the previous three spec updates. |
| |
| ----------------------------------------------------- |
| |
| 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 multiple |
| 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` |
| |
| ----------------------------------------------------- |
| |
| Change log for July 23, 2018 Vulkan 1.1.81 spec update: |
| |
| * Update release number to 81. |
| |
| Public Issues: |
| |
| * Fix missing "`valid`" phrasing in some obscure cases (public pull |
| request 605). |
| * Replace improper use of cannot: referring to the implementation in the |
| description of the |
| <<features-limits-maxUpdateAfterBindDescriptorsInAllPools, |
| pname:maxUpdateAfterBindDescriptorsInAllPools>> limit (public pull |
| request 738). |
| * Reorder description of bits in elink:VkPipelineStageFlagBits and the |
| <<synchronization-pipeline-stages-supported, Supported pipeline stage |
| flags>> table to match their definition order (public pull request 740). |
| * Add description of ename:VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT |
| to elink:VkBufferUsageFlagBits (public pull request 741). |
| * Fix value usage statement for slink:VkSubpassDependency stage mask |
| parameters (public pull request 742). |
| * Fix visible markup in registry schema document (public pull request |
| #745). |
| |
| Internal Issues: |
| |
| * Make the <<geometry-invocations, geometry shader invocation |
| description>> and <<shaders-geometry-execution, Geometry Shader |
| Execution>> descriptions consistent with other pipeline stages (internal |
| issue 1325). |
| * Mark the `VK_NV_glsl_shader` extension as deprecated. |
| * Adjust the per-instance vertex attribute offset formula specified by |
| `VK_EXT_vertex_attribute_divisor` for |
| slink:VkVertexInputBindingDivisorDescriptionEXT so that the interaction |
| between pname:firstInstance and pname:divisor matches the OpenGL |
| convention (internal issue 1333). |
| |
| ----------------------------------------------------- |
| |
| Change log for July 7, 2018 Vulkan 1.1.80 spec update: |
| |
| * Update release number to 80. |
| |
| Public Issues: |
| |
| * Remove unused "`API Order`" term from glossary (public issue 657). |
| * Dynamically generate the extension appendix includes based on |
| information in `vk.xml`, including new metadata tags describing |
| deprecated, obsoleted, and promoted extensions (public pull request |
| 690). |
| |
| Internal Issues: |
| |
| * Add valid usage statements to flink:vkCmdBindDescriptorSets to keep |
| offsets + range less than or equal to the buffer size (internal issue |
| 1174). |
| |
| New Extensions: |
| |
| * `VK_EXT_conditional_render` |
| * `VK_KHR_create_renderpass2` (public issue 736) |
| * `VK_KHR_8bit_storage` (public issue 737) |
| |
| ----------------------------------------------------- |
| |
| Change log for July 1, 2018 Vulkan 1.1.79 spec update: |
| |
| * Update release number to 79. |
| |
| Public Issues: |
| |
| * Add a note to the <<features-required-format-support, Required Format |
| Support>> section clarifying that the required formats don't depend on |
| the used flags (public issue 671). |
| * Add a valid usage statement for flink:vkUpdateDescriptors that was |
| previously described for slink:VkImageSubresourceRange, but not as a |
| valid usage statement (public issue 713). |
| * Modify implicit valid usage generator script to not emit 'must: not be |
| 0' for a parameter that is a pointer to a flags field, such as |
| pname:pPeerMemoryFeatures (public issue 729). |
| |
| Internal Issues: |
| |
| * Add definitions of "`obsoleted`" and "`deprecated`", and modify the |
| definition of "`promoted`" in the <<glossary, Glossary>> (internal issue |
| 988). |
| * Add language for integer texel output conversions (the conversion is |
| undefined) to the <<textures-output-format-conversion]] Texel Output |
| Format Conversion>> section. Simplify and clarify the floating-point |
| conversion language in the <<fundamentals-general, General |
| Requirements>> section and the new <<fundamentals-fp-conversion, |
| Floating-Point Format Conversions>> section, and remove obsolete |
| language in the format-specific floating-point sections (internal issue |
| 1275). |
| * Add the elink:VkVendorId enumerated type to the Vulkan API / XML / |
| header, so reserved Khronos vendor IDs can be referred to symbolically |
| by clients. Note that only Khronos vendor IDs (e.g. non-PCI vendor IDs) |
| are defined (internal issue 1299). |
| * Fix typo in the <<fig-non-strict-lines, Non strict lines>> table |
| (internal issue 1315). |
| * Clean up and simplify the |
| <<formats-requiring-sampler-ycbcr-conversion, YCbCr format |
| properties>> table and use symbols consistently with other tables. Add a |
| column for the number of planes. |
| * Add code:Float16 to the <<spirvenv-capabilities-table, List of optional |
| SPIR-V capabilities>> for the `VK_AMD_gpu_shader_half_float` extension. |
| |
| ----------------------------------------------------- |
| |
| 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 with KHR extensions and Vulkan 1.0 |
| with 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). |
| |
| ----------------------------------------------------- |
| |
| Change log for June 10, 2018 Vulkan 1.1.77 spec update: |
| |
| * Update release number to 77. |
| |
| Public Issues: |
| |
| * Remove redundant Asciidoctor ifdef in slink:VkDeviceCreateInfo valid |
| usage statement (public pull request 718). |
| |
| Internal Issues: |
| |
| * Require that the returned slink:VkMemoryRequirements::pname:alignment |
| reflect the minimum alignment requirements for the buffer's usages, and |
| make dynamic offset alignment valid usage more explicit for |
| flink:vkBindBufferMemory and flink:vkCmdBindDescriptorSets (internal |
| issue 1170). |
| * Explicitly state that objects of type code:OpTypeImage, |
| code:OpTypeSampler, and code:OpTypeSampledImage must not be stored to in |
| the <<spirvenv-module-validation, Validation Rules within a Module>> |
| section (internal issue 1262). |
| * Clarify rules about validating descriptor set/binding against storage |
| class and descriptor type in the <<spirvenv-module-validation, |
| Validation Rules within a Module>> section, and add an anchor for and |
| references to the <<interfaces-resources-storage-class-correspondence, |
| Shader Resource and Storage Class Correspondence>> table (internal issue |
| 1266). |
| * Use correct spelling of SPIR-V decoration code:NonWritable in several |
| places (internal issue 1298). |
| |
| Other Issues: |
| |
| * Update specification links to files in the old |
| KhronosGroup/Vulkan-LoaderAndValidationLayers repository with |
| corresponding links into the new repositories that replace it. |
| * Move validity requirement for slink:VkSamplerCreateInfo into the valid |
| usage block instead of the body text, and give it a VUID. |
| * Use the full name of the "`style guide`" in a reference in the |
| description of slink:vkGetPhysicalDeviceProperties, update the |
| <<vulkan-styleguide, link to that document>>, and use the full name |
| in the registry index page. |
| |
| ----------------------------------------------------- |
| |
| Change log for May 25, 2018 Vulkan 1.1.76 spec update: |
| |
| * Update release number to 76. |
| |
| Internal Issues: |
| |
| * Add an exception clause to the license on `vk.xml`, enabling its use |
| with GPL-based projects (internal issue 1017). |
| * Remove the generated `vulkan_ext.[ch]` files, which are no longer |
| supported. Add `src/ext_loader/README.md` explaining why, and update |
| files in `xml/` to not generate them by default (internal issue 1268) |
| |
| Other Issues: |
| |
| * Fix typos in valid usage statements for the |
| ftext:vkDrawIndexedIndirectCount* commands, replacing |
| sizeof(VkDrawIndirectComment) with sizeof(VkDrawIndexedIndirectCommand). |
| * Modify the <<spirvenv-module-validation, Validation Rules within a |
| Module>> section to require code:NonReadable or code:NonWriteable in |
| SPIR-V code for images with an image format of code:Unknown if one of |
| the requisite code:shaderImageReadWithoutFormat or |
| code:shaderImageWriteWithoutFormat features is disabled. |
| |
| New Extensions: |
| |
| * `VK_KHR_get_display_properties2` |
| * `VK_KHR_draw_indirect_count` |
| |
| ----------------------------------------------------- |
| |
| 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. |
| |
| ----------------------------------------------------- |
| |
| Change log for April 21, 2018 Vulkan 1.1.74 spec update: |
| |
| * Update release number to 74. |
| |
| GitHub Issues: |
| |
| * Clarify which buffer locations are accessed in |
| flink:vkCmdCopyBufferToImage valid usage statements (public issue 676). |
| * Refine description of <<extended-functionality-extensions-dependencies, |
| extension dependencies>>, related NOTE in the |
| <<extended-functionality-extensions, Extensions>> section, and |
| "`Required Extensions`" glossary term (public pull request 693). |
| * Add support for specifying required Vulkan core version in `vk.xml` and |
| the extension metadoc generator (public issue 696). |
| * Update .gitignore for directory reorganization (public pull request |
| 699). |
| * Fix typo (public pull request 703). |
| |
| Internal Issues: |
| |
| * Update valid usage of slink:VkClearRect::pname:layerCount (internal |
| issue 1241). |
| |
| Other Issues: |
| |
| * Fix typo in <<NV_geometry_shader_passthrough>> issues list. |
| |
| ----------------------------------------------------- |
| |
| Change log for April 15, 2018 Vulkan 1.1.73 spec update: |
| |
| * Update release number to 73. |
| |
| GitHub Issues: |
| |
| * Refine swapchain association with surface for slink:VkSwapchainKHR, with |
| matching valid usage statements for slink:VkSwapchainCreateInfoKHR and |
| discussion following the <<swapchain-wsi-image-create-info>> table |
| (public issue 637). |
| * Re-remove several valid usage statements from slink:VkImageCreateInfo |
| that had previously been removed at the time that |
| ename:VK_IMAGE_CREATE_EXTENDED_USAGE_BIT was introduced. These |
| statements had incorrectly been restored due to an glitch while merging |
| from the old `1.0` branch to the current `master` branch (public issue |
| 683). |
| |
| Internal Issues: |
| |
| * Fix reference page generation and configure build to generate reference |
| pages 1.1 with all extensions, rather than core only, as was the case |
| for the 1.0 ref pages (internal issues 484, 1056, 1205). |
| * Require that |
| slink:VkMemoryDedicatedRequirements::pname:prefersDedicateAllocation is |
| ename:VK_TRUE when |
| slink:VkMemoryDedicatedRequirements::pname:requiresDedicateAllocation is |
| ename:VK_TRUE (internal issue 1222). |
| * Fix Ruby extension code so `diff_html` Makefile target works (internal |
| issue 1230). |
| * Update `genRelease` script to generate 1.1 + all extensions reference |
| pages - but not the single-page HTML / PDF versions, which are even |
| larger than the API spec (internal issue 1245). |
| |
| Other Issues: |
| |
| * Add missing attributes to `vk.xml` for `VK_ANDROID_native_buffer`. |
| * Specify that the slink:VkAttachmentDescription::pname:format member is |
| the format of the image *view* that will be used for the attachment. |
| * Use core sname:VkPhysicalDeviceFeatures2 in the `structextends` `vk.xml` |
| attribute for sname:VkPhysicalDeviceDescriptorIndexingFeaturesEXT and |
| sname:VkPhysicalDeviceDescriptorIndexingPropertiesEXT, rather than the |
| KHR equivalent it was promoted from. |
| * Fix the "`Fragment Input Attachment Interface`" glossary entry to match |
| the specification body. |
| * Clarify the interaction of sRGB images used as storage or texel buffers |
| with <<textures-output-format-conversion, Texel Output Format |
| Conversion>>. |
| * Moved three valid usage statements from |
| slink:VkRenderPassMultiviewCreateInfo up to |
| slink:VkRenderPassCreateInfo, and added a new valid usage statement for |
| slink:VkRenderPassInputAttachmentAspectCreateInfo. |
| * Added valid usage statements for slink:VkBufferMemoryBarrier and |
| slink:VkImageMemoryBarrier reflecting the global requirement that |
| "`non-sparse resources must be bound to memory before being recorded to |
| command`". |
| |
| ----------------------------------------------------- |
| |
| Change log for April 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` |
| |
| ----------------------------------------------------- |
| |
| Change log for March 16, 2018 Vulkan 1.1.71 spec update: |
| |
| * First public update for Vulkan 1.1. |
| |
| GitHub Issues: |
| |
| * Refer to standard sparse image block shape format tables explicitly in |
| the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>> |
| section (public issue 93). |
| * Add the missing definition of the code:LocalInvocationIndex decoration |
| in the <<interfaces-builtin-variables, Built-In Variables>> section |
| (public issue 532). |
| * Clarify dynamic state definition in the introduction to the <<pipelines, |
| Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic |
| State>> subsection (public issue 620). |
| * Clarified deprecation statement in the `VK_AMD_negative_viewport_height` |
| appendix (public issue 674). |
| * Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX |
| (public issue 677). |
| |
| Internal Issues: |
| |
| * Remove description of <<primsrast-points, rasterization point size>> |
| being taken from the tessellation control shader, since there are no |
| circumstances under which you can have TCS without TES (internal issue |
| 522). |
| * Define <<copies-images-format-size-compatibility, _size-compatible_ |
| image formats>> for flink:vkCmdCopyImage, add it to the glossary, and |
| use that definition for slink:VkImageViewCreateInfo (internal issue |
| 771). |
| * Change brief descriptions of enumerant names, and of parameters which |
| are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for |
| consistency, and add a markup style guide rule (internal issue 862). |
| * Clarify how execution dependencies interact with |
| <<synchronization-submission-order, submission order>> at numerous |
| places in the <<renderpass, Render Pass>> and <<synchronization, |
| Synchronization>> chapters (internal issue 1062). |
| * Clarify statement in the <<interfaces-resources-setandbinding, |
| DescriptorSet and Binding Assignment>> section that only interface |
| variables statically used by the entry point used in a pipeline must be |
| present in the descriptor set layout (internal issue 1172). |
| * Flip sparse image diagrams with partially full mip levels vertically, to |
| match graph origins of other image diagrams (internal issue 1176). |
| * Update new SVG diagrams to have consistent style and base font size, |
| increase consistency of primitive topology diagrams, and add a section |
| to the style guide on creating and editing images in a consistent style |
| (internal issue 1177). |
| * Resolve problems with valid usage statement extraction by fixing |
| existing VUID tags for interfaces promoted to version 1.1 and fixing |
| conditional directives around |
| VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184). |
| * Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that |
| were missed previously (internal issue 1185). |
| * Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only |
| work on code:Image operands with their code:Sampled operand set to 1. In |
| other words, these operations are not defined to work with storage |
| images (internal issue 1193). |
| * Recycle extension slot for extension #82 in `vk.xml`. This extension was |
| never published (internal issue 1195). |
| * Add an issue to the `VK_KHR_maintenance1` appendix noting that zero |
| height viewports are allowed when this extension is enabled (internal |
| issue 1202). |
| * Fix slink:VkDescriptorSetLayoutBinding description so that shader stages |
| always use descriptor bindings, not the other way around (internal issue |
| 1206). |
| * Fix field name for |
| slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex |
| (internal issue 1210). |
| |
| Other Issues: |
| |
| * Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix. |
| * Replace a few old refBegin/refEnd tags with open block markup around |
| interfaces, and remove old KHX VUID tags that were breaking the valid |
| usage statement extraction. |
| * Fix error codes accidentally tagged as success codes in `vk.xml` for |
| flink:vkGetSwapchainCounterEXT. |
| * Added valid usage statements for ftext:vkBind*Memory2 input structures |
| stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a |
| couple of places. |
| * Fix swapped descriptions of elink:VkDescriptorType enums |
| ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and |
| ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet). |
| |
| New Extensions: |
| |
| * `VK_ANDROID_external_memory_android_hardware_buffer` |
| |
| ----------------------------------------------------- |
| |
| Change log for March 7, 2018 Vulkan 1.1.70 spec update: |
| |
| * Vulkan 1.1 initial release. Bump API patch number and header version |
| number to 70 for this update. The patch number will be used for both |
| Vulkan 1.1 and Vulkan 1.0 updates, and continues to increment |
| continuously from the previous Vulkan 1.0.69 update. |
| |
| NOTE: We are not publishing an updated 1.0.70 specification, or 1.1 |
| reference pages, along with 1.1.70. There are still minor issues to work |
| out with those build targets. However, we will soon generate all three |
| types of documents as part of the regular spec update cycle. |
| |
| NOTE: The GitHub KhronosGroup/Vulkan-Docs repository now maintains the |
| current specification in the `master` branch. The `1.0` branch is out of |
| date and will not be maintained, since we will be generating both 1.1 |
| and 1.0 specifications from the `master` branch in the future. |
| |
| GitHub Issues: |
| |
| * Clarify how mapped memory ranges are flushed in |
| flink:vkFlushMappedMemoryRanges (public issue 127). |
| * Specify that <<synchronization-pipeline-stages, Pipeline Stages>> are a |
| list of tasks that each command performs, rather than necessarily being |
| discrete pieces of hardware that one task flows through. Add a |
| "`synchronization command`" pipeline type which all synchronization |
| command execute (it is just TOP + BOTTOM), with an explanatory note |
| (public issue 554). |
| |
| Internal Issues: |
| |
| * Regenerate all images used in the spec in Inkscape with a consistent |
| look-and-feel, and adjust image size attributes so they're all legible, |
| and not too large with respect to the spec body text (internal issue |
| 701). |
| * Document in the <<extensions,extensions>> appendix and in the style |
| guide that `KHX` extensions are no longer supported or used in the |
| Vulkan 1.1 timeframe (internal issue 714). |
| * Remove the leftover equations_temp directory after PDF build completes |
| (internal issue 925). |
| * Update the <<credits, Credits (Informative)>> appendix to include |
| contributors to Vulkan 1.1, and to list them according to the API |
| version(s) they contributed to (internal issue 987). |
| * Add a NOTE to the introduction explaining that interfaces defined by |
| extensions which were promoted to Vulkan 1.1 are now expressed as |
| aliases of the Vulkan 1.1 type (internal issue 991). |
| * Instrument spec source conditionals so spec can be built with 1.1 |
| features, extensions promoted to 1.1, or both (internal issues 992, |
| 998). |
| * Modify the XML schema and tools to support explicit aliasing of types, |
| structures, and commands, and use this to express the promotion of 1.0 |
| extensions to 1.1 core features, by making the extension interfaces |
| aliases of the core features they were promoted to. Mark up promoted |
| interfaces to allow still generating 1.0 + extension specifications |
| (internal issue 991). |
| * Platform names, along with corresponding preprocessor symbols to enable |
| extensions specific to those platforms, are now reserved in vk.xml using |
| the <platform> tag. Update the registry schema and schema specification |
| to match (internal issue 1011). |
| * Updated the <<textures-texel-replacement, Texel Replacement>> section to |
| clarify that reads from invalid texels for image resources result in |
| undefined values (internal issue 1014). |
| * Modify description of patch version so it continues to increment across |
| minor version changes (internal issue 1033). |
| * Clarify and unify language describing physical device-level core and |
| extension functionality in the <<fundamentals-validusage-extensions, |
| Valid Usage for Extensions>>, <<fundamentals-validusage-versions, Valid |
| Usage for Newer Core Versions>>, <<initialization-functionpointers |
| Command Function Pointers>>, <<initialization-phys-dev-extensions, |
| Extending Physical Device From Device Extensions>> |
| <<extended-functionality-instance-extensions-and-devices, Instance |
| Extensions and Device Extensions>> sections and for |
| flink:vkGetPhysicalDeviceImageFormatProperties2. This documents that |
| instance-level functionality is tied to the loader, and independent of |
| the ICD; physical device-level functionality is tied to the ICD, and |
| associated with device extensions; physical devices are treated more |
| uniformly between core and extensions; and instance and physical |
| versions can be different (internal issue 1048). |
| * Updated the <<commandbuffers-lifecycle, Command Buffer Lifecycle>> |
| section to clarify the ability for pending command buffers to transition |
| to the invalid state after submission, and add a command buffer |
| lifecycle diagram (internal issue 1050). |
| * Clarify that some flink:VkDescriptorUpdateTemplateCreateInfo parameters |
| are ignored when push descriptors are not supported (internal issue |
| 1054). |
| * Specify that flink:vkCreateImage will return an error if the image is |
| too large, in a NOTE in the slink:VkImageFormatProperties description |
| (internal issue 1078). |
| * Remove near-duplicate NOTEs about when to query function pointers |
| dynamically in the <<initialization, Initialization>> chapter and |
| replace by extending the NOTE in the <<fundamentals-abi, Application |
| Binary Interface>> section (internal issue 1085). |
| * Restore missing references to "`Sparse Resource Features`" in the |
| flink:VkBufferCreateFlagBits description (internal issue 1086). |
| * Tidy up definitions of descriptor types in the `GL_KHR_vulkan_glsl` |
| specification, the <<descriptorsets, Resource Descriptors>> section and |
| its subsections, and the <<interfaces-resources-descset, Descriptor Set |
| Interface>> for consistency, reduction of duplicate information, and |
| removal of GLSL correspondence/examples (internal issue 1090). |
| * Correctly describe code:PrimitiveId as an Input for tessellation control |
| and evaluation shaders, not an Output (internal issue 1109). |
| * Relax the requirements on chroma offsets for nearest filtering in |
| <<textures-implict-reconstruction, Implicit Reconstruction>> (internal |
| issue 1116). |
| |
| Other Issues: |
| |
| * Clarify the intended relationship between specification language and |
| certain terms defined in the Khronos Intellectual Property Rights |
| policy. Specific changes include: |
| ** Rewrote IP/Copyright preamble and introduction to better agree with |
| normative language both as laid out in the introduction, and the |
| Khronos IPR policy. |
| ** Added notion of fully informative sections, which are now tagged with |
| "`(Informative)`" in their titles. |
| ** Removed non-normative uses of the phrase "`not required`" |
| ** Clarified the distinction between terms "`optional`" and "`not |
| required:`" as they relate to the IPR Policy, and updated specification |
| text to use terms consistent with the intent. |
| ** Reduced additions to RFC 2119, and ensured the specification agreed |
| with the leaner language. |
| ** Removed the terms "`hardware`", "`software`", "`CPU`", and "`GPU`" from |
| normative text. |
| ** Moved several paragraphs that should not have been normative to |
| informative notes. |
| ** Clarified a number of definitions in the Glossary. |
| ** Updated the document writing guide to match new terminology changes. |
| * Explicitly state in the <<fundamentals-objectmodel-lifetime-acquire, |
| application memory lifetime>> language that for objects other than |
| descriptor sets, a slink:VkDescriptorSetLayout object used in the |
| creation of another object (such as slink:VkPipelineLayout or |
| slink:VkDescriptorUpdateTemplateKHR) is only in use during the creation |
| of that object and can be safely destroyed afterwards. |
| * Updated the <<textures-scale-factor, Scale Factor Operation>> section to |
| use the ratio of anisotropy, rather than the integer sample rate, to |
| perform the LOD calculation. The spec still allows use of the sample |
| rate as the value used to calculate the LOD, but no longer requires it. |
| * Update `vulkan_ext.c` to include all platform-related definitions from |
| the Vulkan platform headers, following the split of the headers into |
| platform-specific and non-platform-specific files. |
| * Fix bogus anchor name in the <<commandbuffers, Command Buffers>> chapter |
| which accidentally duplicated an anchor in the pipelines chapter. There |
| were no reference to this anchor, fortunately. |
| * Add valid usage statement for slink:VkWriteDescriptorSet and |
| slink:VkCopyDescriptorSet requiring that the slink:VkDescriptorSetLayout |
| used to allocate the source and destination sets must not have been |
| destroyed at the time flink:vkUpdateDescriptorSets is called. |
| * Document mapping of subgroup barrier functions to SPIR-V, and clarify a |
| place where subgroupBarrier sounds like it is execution-only in the |
| standalone `GL_KHR_shader_subgroup` specification. |
| * Use an HTML stylesheet derived from the Asciidoctor `colony` theme, with |
| the default Arial font family replaced by the sans-serif Noto font |
| family. |
| * Numerous minor updates to README.adoc, build scripts, Makefiles, and |
| registry and style guide specifications to support Vulkan 1.1 outputs, |
| use them as defaults, and remove mention of `KHX` extensions, which are |
| no longer supported. |
| |
| |
| New Extensions: |
| |
| * `VK_EXT_vertex_attrib_divisor` |
| |
| ----------------------------------------------------- |
| |
| Change log for February 19, 2018 Vulkan 1.0.69 spec update: |
| |
| * Bump API patch number and header version number to 69 for this update. |
| |
| GitHub Issues: |
| |
| * Clean up description of synchronization for flink:vkAcquireNextImageKHR |
| (public issue 626). |
| * Move valid usage statements requiring offset and extent to respect image |
| transfer granularity requirements of the queue family they are submitted |
| against from slink:VkImageCopy and slink:VkBufferImageCopy to the |
| corresponding flink:vkCmdCopyImage, flink:vkCmdCopyBufferToImage, and |
| flink:vkCmdCopyImageToBuffer commands, where are relevant information is |
| known (public issue 654). |
| * Clarify that flink:vkGetDeviceProcAddr only supports device-level |
| commands (public issue 655). |
| |
| Internal Issues: |
| |
| * Associate each elink:VkDescriptorType with a type of descriptor, and |
| link to descriptions of those types (internal issue 860). |
| * Rework valid usage extraction script to better utilize and respond to |
| spec markup, and fix some spec markup accordingly (internal issues 846, |
| 909, 945). |
| * Rephrase flink:vkCmdPushConstants valid usage to allow overlapping push |
| constant ranges in different shader stages (internal issue 1103). |
| * Fix problem with diff_html target in extension.rb (internal issue 1104). |
| * Modify valid usage statements for slink:VkClearDepthStencilValue, |
| slink:VkGraphicsPipelineCreateInfo, slink:VkViewport, and |
| flink:vkCmdSetDepthBounds, and the description of vkCmdSetDepthBias, to |
| clarify that clamping is applied if and only if the |
| `VK_EXT_depth_range_unrestricted` is not enabled (internal issue 1124), |
| in versions of the specification built with that extension included. |
| * Resolve contradictions and use of undefined "`per-sample shading`" term |
| in the <<primsrast-sampleshading, Sample Shading>> and |
| <<shaders-fragment-execution, Fragment Shader Execution>> sections; for |
| the <<features-features-sampleRateShading, sampleRateShading feature>>; |
| for code:FragCoord, code:SampleId, and code:SamplePosition; and for |
| slink:sname:VkPipelineMultisampleStateCreateInfo (internal issue 1134). |
| * Clarify the meaning of the ptext:maxDescriptorSet* limits in footnote 8 |
| of the <<features-limits-required,Required Limits>> table (internal |
| issue 1139). |
| * Fix broken NOTE markup in slink:VkSamplerCreateInfo.txt (internal issue |
| 1140). |
| * Remove extend comparison language from valid usage statement for |
| slink:VkImageCreateInfo, turning it into a simple validation of |
| pname:mipLevels against pname:maxMipLevels (internal issue 1151). |
| * Update valid usage statements for slink:VkImageCopy when the |
| `VK_KHR_maintenance1` extension is enabled to allow multi-slice 2D <-> |
| 3D copies when the pnaem:extent.depth parameter specifies the number of |
| layers being copied, and matches the |
| slink:VkImageSubresourceLayers.layerCount of the 2D image (internal |
| issue 1152). |
| * Rephrase memory / control barrier rules in the |
| <<spirvenv-module-validation, Validation Rules within a Module>> section |
| to avoid "`not use none`", which could be misconstrued to allow no |
| synchronization semantics, and only storage class semantics (internal |
| issue 1154). |
| |
| Other Issues: |
| |
| * Move GLSL extension specifications to the KhronosGroup/GLSL repository |
| on GitHub. |
| * Add missing description of ename:VK_FILTER_CUBIC_IMG enum to |
| slink:VkFilter. |
| * Update description of code:PrimitiveId in the |
| <<interfaces-builtin-variables,Built-In Variables>> section to clarify |
| its behavior. |
| * Disallow disjoint images from being used with dedicated-memory images in |
| slink:VkMemoryDedicatedAllocateInfoKHR. |
| * Update README to suggest older versions of "mathematical" and |
| "ruby-gems" packages for use on Cygwin. |
| * Fix typos |
| |
| New Extensions: |
| |
| * `VK_AMD_buffer_marker` |
| |
| ----------------------------------------------------- |
| |
| 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. |
| |
| ----------------------------------------------------- |
| |
| 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` |
| |
| ----------------------------------------------------- |
| |
| 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_OPTIMAL 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` |
| |
| ----------------------------------------------------- |
| |
| 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). |
| |
| ----------------------------------------------------- |
| |
| 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` |
| |
| ----------------------------------------------------- |
| |
| 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 list 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` |
| |
| ----------------------------------------------------- |
| |
| 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). |
| |
| 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:vkCmdDrawIndexedIndirectCountAMD. |
| * 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. |
| * Fixed errors in API example code for |
| flink:vkUpdateDescriptorSetWithTemplateKHR and |
| flink:vkCmdPushDescriptorSetWithTemplateKHR. |
| |
| 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` |
| |
| ----------------------------------------------------- |
| |
| Change log for September 15, 2017 Vulkan 1.0.61 spec update: |
| |
| * Bump API patch number and header version number to 61 for this update. |
| |
| GitHub Issues: |
| |
| * Provide alternate length attributes (altlen=) in the XML schema, for |
| those using length attributes to generate code instead of documentation |
| (public issue 555). |
| * Fix erroneous references to `latex:` being used for asciidoc math |
| markup, rather than `latexmath:` (public pull request 556). |
| * Add author ID to XML for Kazan software renderer (public pull request |
| 557). |
| |
| Internal Issues: |
| |
| * Add the <<fundamentals-abi,Application Binary Interface>> section |
| describing platform ABI requirements and recommendations, add examples |
| of function and function pointer declarations to the |
| <<boilerplate-platform-specific-calling-conventions, Platform-Specific |
| Calling Conventions>> section, and remove related language that existed |
| elsewhere in the specification (internal issue 64). |
| * Describe where to document valid usage interactions of chained |
| structures in the style guide, and fix one case now appearing in |
| slink:VkBufferCreateInfo instead of the child |
| slink:VkDedicatedAllocationBufferCreateInfoNV structure (internal issue |
| 715). |
| * Add example to the style guide of describing enumerated types which are |
| empty when the spec is built without relevant extensions enabled, and |
| apply it to existing examples for |
| elink:VkDescriptorSetLayoutCreateFlagBits and |
| elink:VkSubpassDescriptionFlagBits (internal issue 864). |
| * Add a note to the <<fundamentals-validusage-enums, Valid Usage for |
| Enumerated Types>> section that the special values suffixed with |
| etext:_BEGIN_RANGE, etext:_END_RANGE, etext:_RANGE_SIZE and |
| etext:_MAX_ENUM are not part of the API and should: not be used by |
| applications (internal issue 872). |
| * Added note to flink:vkCmdUpdateBuffers explaining the performance |
| penalty for copies done in this way, and why the upper copy limit is |
| what it is (internal issue 952). |
| * Update `VK_KHX_device_group` to split some functionality into the new |
| `VK_KHR_bind_memory2` extension, and rename that functionality (internal |
| issue 969). |
| * Remove *Status* fields from extension appendices, since they are by |
| definition published and complete by the time they reach the public |
| GitHub repository (internal issue 973). |
| |
| Other Issues: |
| |
| * Update Data Format specification dependency to version 1.2 and change |
| references to DF sections accordingly. |
| * Update XML to make the pname:pAllocator parameter of |
| flink:vkRegisterDeviceEventEXT and flink:vkRegisterDisplayEventEXT in |
| the `VK_EXT_display_control` extension as optional. |
| |
| New Extensions: |
| |
| * `VK_KHR_bind_memory2` |
| * `VK_KHR_image_format_list` |
| * `VK_KHR_maintenance2` |
| * `VK_KHR_sampler_ycbcr_conversion` |
| |
| ----------------------------------------------------- |
| |
| Change log for September 5, 2017 Vulkan 1.0.60 spec update: |
| |
| * Bump API patch number and header version number to 60 for this update. |
| |
| GitHub Issues: |
| |
| * Document that <<queries-timestamps, Timestamp Queries>> can only be |
| meaningfully compared when they are written from the same queue (public |
| issue 216). |
| * Document that the `<extension>` tag `type` attribute is required for |
| non-disabled extensions (derived from, but does not close public issue |
| 354). |
| * Clean up registry schema length attribute descriptions to be consistent |
| and correct (public issue 555). |
| |
| Internal Issues: |
| |
| * Replace as much of the hand-written extension appendix metadata as |
| possible with asciidoc includes generated from corresponding attributes |
| of +vk.xml+, and enhance the style guide to match. This avoids |
| inconsistencies between +vk.xml+ and the appendices, and produces a more |
| uniform style (internal issue 137). |
| * Remove the generated extDependency.{py,sh} files from the tree and |
| create them dynamically on demand instead, reducing merge conflicts |
| (internal issue 713). |
| * Add a prototype tool for generating in-place difference markup for |
| sections guarded by asciidoc conditionals, and new syntax for open |
| blocks to support it (internal issue 833). |
| * Remove unnecessary restriction of etext:*SYNC_FD_BIT_KHR external handle |
| types to the same physical device in the |
| slink:VkPhysicalDeviceIDPropertiesKHR, |
| flink:VkImportMemoryWin32HandleInfoKHR, |
| slink:VkImportFenceWin32HandleInfoKHR, slink:VkImportFenceFdInfoKHR, |
| slink:VkImportSemaphoreWin32HandleInfoKHR, |
| slink:VkImportSemaphoreFdInfoKHR |
| <<external-memory-handle-types-compatibility, External memory handle |
| types compatibility>>, <<external-semaphore-handle-types-compatibility, |
| External semaphore handle types compatibility>>, and |
| <<external-fence-handle-types-compatibility, External fence handle types |
| compatibility>> sections (internal issue 956). |
| |
| Other Issues: |
| |
| * Remove dependency of +VK_KHX_device_group+ on +VK_KHR_swapchain+ (there |
| is an interaction, but not a strict dependency), and add a new |
| `extension` attribute to the `<require` XML tag to allow classifying a |
| subset of interfaces of an extension as requiring another extension. |
| Update the registry schema and documentation accordingly. |
| |
| New Extensions: |
| |
| * `VK_AMD_shader_fragment_mask` (and related `GL_AMD_shader_fragment_mask` |
| GLSL extension) |
| * `VK_EXT_sample_locations` |
| * `VK_EXT_validation_cache` |
| |
| ----------------------------------------------------- |
| |
| Change log for August 19, 2017 Vulkan 1.0.59 spec update: |
| |
| * Bump API patch number and header version number to 59 for this update. |
| |
| GitHub Issues: |
| |
| * Fix a few missing Implicit Valid Usage statements to indicate that a |
| common parent of two objects is required (public issue 497). |
| * Clarify render pass synchronization language for |
| slink:VkSubpassDependency and <<renderpass,render passes>> (public |
| issue 531). |
| * Rename ename:VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT to |
| ename:VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT for consistency, and |
| add an alias for backwards compatibility (public issue 539). |
| |
| Internal Issues: |
| |
| * Add an explanation to the <<interfaces-builtin-variables-layer, |
| code:Layer>> description explaining that writing to invalid layers |
| results may or may not result in primitives being processed and fragment |
| shaders being run, and gives undefined results in the framebuffer |
| (internal issue 614) |
| * Add valid usage statement for slink:VkDescriptorSetLayoutBinding |
| requiring that input attachment descriptor bindings must not use |
| non-fragment stages (internal issue 933). |
| |
| Other Issues: |
| |
| * Makes description of pname:loadOp and pname:storeOp easier to read in |
| the <<renderpass-load-store-ops>> section. |
| |
| New Extensions: |
| |
| * `VK_EXT_shader_stencil_export` |
| |
| ----------------------------------------------------- |
| |
| Change log for August 14, 2017 Vulkan 1.0.58 spec update: |
| |
| * Bump API patch number and header version number to 58 for this update. |
| |
| GitHub Issues: |
| |
| * Update the <<interfaces-resources-descset,Descriptor Set Interface>> |
| section to allow multiple variables with the same descriptor set/binding |
| decorations, and require that all variables that are statically used |
| must be consistent with the pipeline layout. Allow |
| ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER to be used with texture |
| and sampler variables (public issues 522, 524). |
| |
| Internal Issues: |
| |
| * Replace networkx package used for extension dependency generation with a |
| homegrown network dependency traverser (internal issue 713). |
| * Specify in the <<interfaces-fragmentoutput, Fragment Output Interface>> |
| section that if a fragment shader writes integers that cannot be |
| represented in the format of the color attachment, then the result is |
| undefined (internal issue 893). |
| * Separate malformed valid usage statement for |
| slink:VkPipelineRasterizationStateCreateInfo into two (internal issue |
| 918). |
| * Fix cases where the term 'pNext chain' is incorrectly used in reference |
| to functions, rather than their parameters. Replace 'pNext list' with |
| 'pNext chain'. Fixed typo in the example code of |
| +VK_KHR_dedicated_allocation+ (internal issue 944). |
| * Fix typo in elink:VkExternalSemaphoreHandleTypeFlagBitsKHR enum |
| descriptions, replacing |
| etext:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FENCE_FD_BIT_KHR with |
| ename:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR, and make the |
| description more consistent with |
| VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR (internal issue 950). |
| |
| Other Issues: |
| |
| * Clarify how pipeline stage masks affect |
| <<synchronization-pipeline-stages-masks, access and synchronization |
| scopes>>. |
| * Clarify that dedicated allocations do not allow aliasing in the |
| flink:vkBindBufferMemory and flink:vkBindImageMemory valid usage |
| statements. |
| * Correct specification of pname:dynamicCount for push_constant token in |
| slink:VkIndirectCommandsLayoutNVX. |
| |
| New Extensions: |
| |
| * `VK_EXT_shader_viewport_index_layer` |
| |
| ----------------------------------------------------- |
| |
| Change log for August 1, 2017 Vulkan 1.0.57 spec update: |
| |
| * Bump API patch number and header version number to 57 for this update. |
| |
| GitHub Issues: |
| |
| * Fix error in description of ename:VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK |
| block size (public issue 342). |
| * Update documentation of ename:VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT |
| to explicitly mention both graphics and compute pipelines (public issue |
| 525). |
| |
| Internal Issues: |
| |
| * Document that |
| slink:VkPhysicalDeviceLimits::pname:framebufferColorSampleCounts does |
| not cover integer formats (internal issue 550). |
| * Add a note under slink:VkImageViewCreateInfo describing how values meant |
| for one format can be sanitized when used via another format (internal |
| issue 927). |
| * Add valid usage statements to ftext:vkCmd* documenting that image |
| subresources used as attachments must not be accessed as non-attachments |
| in a render pass (internal issue 929). |
| * Remove obsolete 'validextensionstructs' attribute from +vk.xml+, the XML |
| schema, and the schema documentation (internal issue 946). |
| |
| New Extensions: |
| |
| * `VK_AMD_mixed_attachment_samples` |
| * `VK_EXT_post_depth_coverage` |
| * `VK_KHR_relaxed_block_layout` |
| |
| ----------------------------------------------------- |
| |
| Change log for July 21, 2017 Vulkan 1.0.56 spec update: |
| |
| * Bump API patch number and header version number to 56 for this update. |
| |
| GitHub Issues: |
| |
| * Add valid usage statements for commands introduced by |
| `VK_EXT_debug_report` and `VK_EXT_debug_marker` extensions, regarding |
| the valid pname:object and pname:objectType values (public issue 495). |
| * Modify `GL_KHR_vulkan_glsl` specification to document that uniform and |
| buffer block arrays each take only a single binding (public issue 514). |
| * Add `KHX` author tag to +vk.xml+ (public issue 526). |
| |
| Internal Issues: |
| |
| * Document use of code: macro for non-Vulkan APIs in the style guide |
| (internal issue 863). |
| * Document that reference page open block delimiters must not contain |
| asciidoc section markup in the style guide (internal issue 898). |
| * Fix <<spirvenv,SPIR-V appendix>> to say |
| code:VariablePointersStorageBuffer instead of |
| code:VariablePointersUniformBufferBlock (internal issue 928). |
| |
| Other Commits: |
| |
| * Add missing extension structures to dependency attributes in +vk.xml+. |
| |
| New Extensions: |
| |
| * `VK_EXT_depth_range_unrestricted` |
| |
| ----------------------------------------------------- |
| |
| Change log for July 15, 2017 Vulkan 1.0.55 spec update: |
| |
| * Bump API patch number and header version number to 55 for this update. |
| |
| GitHub Issues: |
| |
| * Removed unintended optional parameter in +vk.xml+ from the |
| pname:pWaitSemaphores member of slink:VkPresentInfoKHR, which resulted |
| in the generation of an incorrect implicit valid usage clause allowing |
| pname:pWaitSemaphores to be NULL even when pname:waitSemaphoreCount is |
| non-zero (public issue 491). |
| * Add missing attribute to +vk.xml+ documenting that |
| slink:VkSwapchainCounterCreateInfoEXT extends |
| slink:VkSwapchainCreateInfo (public issue 510). |
| * Add const qualifier for some `VK_EXT_debug_market` extension command |
| parameters that were missing it (public issue 513). |
| * Fix definition of q and level~base~ in |
| <<textures-image-level-selection,Image Level(s) Selection>> (public |
| issue 515). |
| * Clarify lifetime requirement for slink:VkRenderPass objects used in |
| object creation (public issue 516). |
| * Fix link to floating/normalized fixed-point conversion from |
| <<interfaces-fragmentoutput,Fragment Output Interface>> (public issue |
| 521). |
| |
| Internal Issues: |
| |
| * Update the style guide to include the general structure of a Vulkan |
| command name, the specific rule for using "`Get`" vs. "`Enumerate`" in |
| names, and a table of verbs commonly used in command names (spinoff of |
| internal issue 753). |
| * Clarified the behavior of automatic layout transitions in case of |
| attachment views that are 2D or 2D array views of 3D images. In |
| addition, restructured the valid usage clauses corresponding to the |
| members of the slink:VkImageSubresourceRange structure and added missing |
| valid usage clauses for its pname:baseMipLevel and pname:baseArrayLayer |
| members (internal issues 803, 849). |
| * Modify `GL_KHR_vulkan_glsl` specification to allow explicit std430 on a |
| push_constant declaration (internal issue 919). |
| |
| Other Commits: |
| |
| * Modify <<synchronization-framebuffer-regions, Framebuffer Region |
| Dependencies>> to use synchronization scope terminology. |
| * Add ename:VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT to the |
| `VK_EXT_swapchain_colorspace` extension. |
| * Replace XML comments with `comment` attributes and/or tags, to enable |
| tools which transform the XML without loss of information. |
| * Replace `validextensionstructs` with `structextends`, which is tagged in |
| the child structure instead of the parent. This makes it slightly |
| simpler to add new structs to the XML, causes fewer merge conflicts, and |
| the information is kept localized to the extension structures where it |
| belongs. The old `validextensionstructs` attributes will be retained |
| until we're certain this doesn't cause problems with known consumers of |
| +vk.xml+. |
| |
| ----------------------------------------------------- |
| |
| Change log for July 13, 2017 Vulkan 1.0.54 spec update: |
| |
| * Bump API patch number and header version number to 54 for this update. |
| |
| GitHub Issues: |
| |
| Internal Issues: |
| |
| * Fix tessellation domain to have an upper-left origin in the |
| <<img-tessellation-topology-ul, tessellation toplogy image>> and related |
| language. CTS and all implementations were already doing this, it was |
| just a documentation bug that it was flipped to lower-left (internal |
| issue 603). |
| * Add a section to the style guide describing how VUID tags are changed |
| and removed when the corresponding Valid Usage statements are modified |
| (internal issue 829). |
| * Add explicit Valid Usage statement to |
| slink:VkPipelineDynamicStateCreateInfo to require that members of |
| pname:pDynamicStates must be unique (internal issue 851). |
| |
| New Extensions: |
| |
| * `VK_KHR_16bit_storage` |
| * `VK_KHR_dedicated_allocation` |
| * `VK_KHR_external_fence` |
| * `VK_KHR_external_fence_capabilities` |
| * `VK_KHR_external_fence_fd` |
| * `VK_KHR_external_fence_win32` |
| * `VK_KHR_get_memory_requirements2` |
| * `VK_KHR_storage_buffer_storage_class` |
| * `VK_KHR_variable_pointers` |
| |
| Extensions Promoted From KHX To KHR Status: |
| |
| * `VK_KHR_external_memory` |
| * `VK_KHR_external_memory_capabilities` |
| * `VK_KHR_external_memory_fd` |
| * `VK_KHR_external_memory_win32` |
| * `VK_KHR_external_semaphore` |
| * `VK_KHR_external_semaphore_capabilities` |
| * `VK_KHR_external_semaphore_fd` |
| * `VK_KHR_external_semaphore_win32` |
| * `VK_KHR_win32_keyed_mutex` |
| |
| ----------------------------------------------------- |
| |
| Change log for June 24, 2017 Vulkan 1.0.53 spec update: |
| |
| * Bump API patch number and header version number to 53 for this update. |
| |
| GitHub Issues: |
| |
| Internal Issues: |
| |
| * Clarify mappings of coordinates for mutable, compatible image views in |
| slink:VkImageViewCreateInfo (internal issue 815). |
| * Make ename:VK_BIND_SFR_BIT require a logical device with multiple |
| physical devices, so that standard sparse image block dimensions are |
| only required on systems that support multi-GPU (internal issue 835). |
| * Convert all files from use of // refBegin .. // refEnd comments to |
| delimit ref pages, to use of open blocks, and update style guide |
| accordingly (internal issue 839). |
| * Add valid usage for slink:VkWriteDescriptorSet when performing updates |
| to a ename:VK_STORAGE_IMAGE descriptor with layout |
| ename:VK_IMAGE_LAYOUT_GENERAL. |
| * Add a hack to the validity generator script to support an odd |
| interaction between flink:vkCmdFillBuffer and an extension (internal |
| issue 853). |
| * Remove redundant text describing slink:VkBufferCreateInfo::pname:usage, |
| which was already covered by implicit valid usage (internal issue 854). |
| * Update implicit validity generator script to properly handle the |
| pname:sType and pname:pNext members of "returnedonly" structures |
| (internal issue 874). |
| * Note that slink:VkApplicationInfo::pname:pApplicationName & |
| slink:VkApplicationInfo::pname:pEngineName are optional, and add missing |
| implicit valid usage statements for flink:vkDestroyInstance. |
| * Added missing valid usage for flink:vkCmdWriteTimestamp to require a |
| timestamp query pool. |
| * Simplify and/or split "`non-atomic`" valid usage statements. |
| |
| New Extensions: |
| |
| * `VK_AMD_gpu_shader_int16` |
| * `VK_EXT_blend_operation_advanced` |
| * `VK_EXT_sampler_filter_minmax` |
| * `VK_NV_framebuffer_mixed_samples` |
| |
| ----------------------------------------------------- |
| |
| Change log for June 13, 2017 Vulkan 1.0.52 spec update: |
| |
| * Bump API patch number and header version number to 52 for this update. |
| |
| GitHub Issues: |
| |
| Internal Issues: |
| |
| * Clarify behavior when non-coherent memory has |
| <<memory-device-unmap-does-not-flush, not been flushed before being |
| unmapped>> (internal issue 819). |
| * Fix description of code:WorkgroupSize builtin to note it decorates an |
| object, not a variable (internal issue 836). |
| * Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style |
| equations are rendered properly (internal issue 845). |
| * Add language to the "`Extension Handles, Objects, Enums, and Typedefs`" |
| section of the Procedures and Conventions document stating that any new |
| handle type requires a corresponding entry in the elink:VkObjectType |
| enumerated type (internal issue 856). |
| * Update style guide to use slink macro for Vulkan handle type names, and |
| define narrow conditions under which to use the *name and *text macros |
| instead of *link (internal issue 886). |
| * Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>> |
| extension on VK_KHX_device_group_creation to +vk.xml+ and the extension |
| appendix. |
| * Change the copyright on Vulkan specification asciidoc *source* files to |
| CC-BY 4.0, and update the proprietary Khronos copyright applied to the |
| generated *output* formats (internal issue 327). This enables broader |
| reuse and modification of the Vulkan specification sources, while not |
| affecting the Reciprocal IP License between Vulkan Adopters and Working |
| Group Members. |
| |
| New Extensions: |
| |
| * `VK_NV_fill_rectangle` |
| * `VK_NV_fragment_coverage_to_color` |
| |
| ----------------------------------------------------- |
| |
| Change log for June 4, 2017 Vulkan 1.0.51 spec update: |
| |
| * Bump API patch number and header version number to 51 for this update. |
| |
| GitHub Issues: |
| |
| * Add Valid Usage statement to flink:vkCmdResolveImage to require that |
| source and destination image formats match (public issue 492). |
| * Specify that a code:char* parameter must: be a valid null-terminated |
| string in the <<fundamentals-implicit-validity, implicit valid usage>> |
| section (public issue 494). |
| * Removed unnecessary VU for slink:VkPhysicalDeviceFeatures which is |
| covered by ename:VK_ERROR_FEATURE_NOT_PRESENT already (public issue |
| 496). |
| * Clarify valid usage of pname:pQueueFamilyIndices in |
| slink:VkBufferCreateInfo, slink:VkImageCreateInfo, and |
| slink:VkSwapchainCreateInfoKHR (public issue 501). |
| * Document that dependencies of enabled extensions must also be enabled in |
| the <<extended-functionality-extensions-dependencies, Extension |
| Dependencies>> section (public issue 507). |
| |
| Internal Issues: |
| |
| * Change slink:VkMappedMemoryRange valid usage to allow pname:offset |
| {plus} pname:size == size of the allocation. Also, if |
| ename:VK_WHOLE_SIZE is used, require the end of the mapping to be |
| aligned to a multiple of pname:nonCoherentAtomSize (internal issue 611). |
| * Add issue to `VK_KHR_win32_surface` about reusing window objects from a |
| different graphics API or Vulkan ICD (internal issue 639). |
| * Require locations on user in/out in `GL_KHR_vulkan_glsl` (internal issue |
| 783). |
| * Added version info to the json validation output, and updated the schema |
| to match (internal issue 838). |
| * Restructure enumerated type descriptions separately from the command or |
| structure they are used in, allowing better reference page generation |
| (internal issue 841). |
| * Re-sort extension appendices to be in alphabetical order within each |
| author ID section. |
| * Fix enum naming and clarify behavior for |
| `VK_NVX_device_generated_commands` extension. |
| |
| ----------------------------------------------------- |
| |
| Change log for May 20, 2017 Vulkan 1.0.50 spec update: |
| |
| * Bump API patch number and header version number to 50 for this update. |
| |
| GitHub Issues: |
| |
| * Fix numerous minor issues with the VK_EXT_debug_report extension (public |
| issues 478, 483, 486, 489, 490). |
| |
| Internal Issues: |
| |
| * Update flink:vkAllocateDescriptorSets to specify conditions under which |
| to return ename:VK_ERROR_FRAGMENTED_POOL or |
| ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of |
| out-of-host/out-of-device-memory, and improve the |
| <<fundamentals-errorcodes, description of those errors (internal issue |
| 654). |
| * Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal |
| a single semaphore, and how to deal with that when multiple physical |
| devices in a logical device need to wait on it (internal issue 730). |
| * Improve description of pname:pNext chains of |
| slink:VkPhysicalDeviceImageFormatInfo2KHR and |
| slink:VkImageFormatProperties2KHR (internal issue 814). |
| * Clean up math markup issues in the <<textures, Image Operations>> |
| chapter (internal issue 818). |
| * Update validusage target to use more robust code for preprocessing, by |
| making direct use of Asciidoctor's preprocessor. Added uniqueItems check |
| to JSON vu schema and add clean_validusage target (internal issue 826). |
| * Update style guide to prohibit writing non-self-contained (on a single |
| bullet point) Valid Usage statements, and modify offending Valid Usage |
| statements in the Specification to match, to assist with automatic |
| extraction for the validation layers (internal issue 828). |
| * Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT |
| of the `VK_EXT_validation_flags` extension, to selectively disable |
| shader validation. |
| * Remove duplicate valid usage statement for slink:VkImageMemoryBarrier. |
| * Modify reflow.py script to place VUID tag anchors standalone on a line |
| following their corresponding bullet point, and reflow the spec text |
| accordingly (this had been pending since the initial tag deployment). |
| |
| New Extensions: |
| |
| * `VK_AMD_texture_gather_bias_lod` |
| |
| ----------------------------------------------------- |
| |
| Change log for May 12, 2017 Vulkan 1.0.49 spec update: |
| |
| * Bump API patch number and header version number to 49 for this update. |
| |
| GitHub Issues: |
| |
| * Modify reference page extraction script to make internal links to spec |
| anchors refer to the core specification instead of being dangling links |
| (public issue 455). |
| * Fix GL_KHR_vulkan_glsl typo and add a nor-normative mapping to the newly |
| published StorageBuffer class (public issue 466). |
| * Both flink:vkEnumerateInstanceExtensionProperties and |
| flink:vkEnumerateDeviceExtensionProperties return |
| ename:VK_ERROR_LAYER_NOT_PRESENT, which covers the error case of an |
| application providing a layer name that wasn't returned by |
| ftext:vkEnumerate{Instance|Device}LayerProperties (public issue 487). |
| * The specification for flink:VkApplicationInfo::apiVersion says that the |
| driver must return ename:VK_ERROR_INCOMPATIBLE_DRIVER in the case that |
| pname:apiVersion specifies a non-supported version. That means that the |
| valid usage should not also state that, and so the VU statement is |
| removed. The VU had language about "`an effective substitute`" that |
| would have been lost, and so it was moved to the pname:apiVersion |
| description (public issue 488). |
| |
| Internal Issues: |
| |
| * Modify implicit validity generator script to assign asciidoc anchors to |
| all valid usage statements it generates, and reflow.py script to insert |
| Valid Usage ID (VUID) tags into the specification source files for |
| explicit valid usage statements. This has no semantic effects on the |
| specification, but will support the validation layer's detection of |
| valid usage violations and allow it to link into the corresponding part |
| of the specification (internal issue 583). |
| * Assign VUID tags to all explicit VU statements and document |
| the process and tag format in the style guide (internal issue 583). |
| * Clarify the rules of whether to structure new functionality as instance |
| extensions, device extensions, or both in the |
| <<extended-functionality-instance-extensions-and-devices, Instance |
| Extensions and Device Extensions>> section (internal issue 749). |
| * Require that SPIR-V run-time arrays are only used with the |
| code:BufferBlock decoration (internal issue 750). |
| * Fix implicit and explicit valid usage statements for |
| slink:VkWriteDescriptorSet::pname:dstSet (internal issue 767) |
| * Fix SPIR-V code sample for ename:VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER |
| in the <<descriptorsets-uniformtexelbuffer, Uniform Texel Buffer>> |
| section (internal issue 770). |
| * Clarify that disabling depth testing also disables depth writes in the |
| <<fragops-ds-state, Depth and Stencil Operations>> section (internal |
| issue 775). |
| * flink:VkDescriptorImageInfo::pname:imageLayout must match the actual |
| imageLayout at the time the image is accessed. This was in the spec |
| text, but needed an associated valid usage statement. |
| * Note that only 32-bit atomic operations are supported in the |
| <<spirvenv-module-validation, Validation Rules within a Module>> |
| section. |
| * Note that code:UniformConstant variables must not have initializers in |
| the <<spirvenv-module-validation, Validation Rules within a Module>> |
| section. |
| * Add a new elink:VkObjectType enumeration to the core API, promoted from |
| elink:VkDebugObjectTypeEXT, since it is used for much more than just the |
| debug_report extension. |
| |
| New Extensions: |
| |
| * `VK_KHR_get_surface_capabilities2` |
| * `VK_KHR_shared_presentable_image` |
| |
| ----------------------------------------------------- |
| |
| Change log for April 15, 2017 Vulkan 1.0.48 spec update: |
| |
| * Bump API patch number and header version number to 48 for this update. |
| |
| Internal Issues: |
| |
| * Add missing VU statements for flink:vkUpdateDescriptorSets (internal |
| issue 333). |
| * Correct swapped ifdef/ifndef blocks for `VK_KHR_maintenance1` extension |
| (internal issue 776). |
| |
| ----------------------------------------------------- |
| |
| Change log for April 8, 2017 Vulkan 1.0.47 spec update: |
| |
| * Bump API patch number and header version number to 47 for this update. |
| |
| GitHub Issues: |
| |
| * Allow <<synchronization-pipeline-barriers-subpass-self-dependencies, |
| self-dependencies>> (also described for slink:VkSubpassDependency) to |
| have earlier stages depend on later stages if all stages are |
| framebuffer-space (public issue 125). |
| * Clarify when pipeline state structures are ignored in the |
| slink:VkGraphicsPipelineCreateInfo structure, when the tessellation |
| structure must be valid, and remove 'if `NULL`' descriptions from the |
| valid usage statements (public issue 445). |
| * Remove the obsolete "validextensionstructs" attribute for |
| flink:VkPresentRegionsKHR. This caused a pname:pNext valid usage |
| statement to be generated which wasn't consistent with what is stated in |
| the spec (public issue 481). |
| |
| Internal Issues: |
| |
| * Clarify facingness of non-polygon fragments for slink:VkStencilOpState |
| and in the code:FrontFacing <<interfaces-builtin-variables,built-in |
| variable description>>. Define 'facingness' of a fragment as a distinct |
| term from facingness of a polygon (internal issue 662). |
| * Clarify that the texture compression features (e.g. |
| pname:textureCompressionBC) means that all formats of that type |
| (<<features-features-textureCompressionASTC_LDR,ASTC>>, |
| <<features-features-textureCompressionETC2,ETC2>>, |
| <<features-features-textureCompressionBC,BC>>) are supported, and that |
| support for individual formats may: queried separately (internal issue |
| 663). |
| * Clarify in the valid usage for slink:VkBindImageMemoryInfoKHX that each |
| SFR rectangle must be a multiple of the sparse block size for each |
| aspect, e.g. in a depth/stencil image using separate depth/stencil |
| planes (internal issue 721). |
| * Re-remove KHX variants of KHR structure types after promotion (internal |
| issue 762). |
| |
| ----------------------------------------------------- |
| |
| Change log for March 31, 2017 Vulkan 1.0.46 spec update: |
| |
| * Bump API patch number and header version number to 46 for this update. |
| |
| GitHub Issues: |
| |
| * Add language to the <<fundamentals-validusage-enums, Valid Usage for |
| Enumerated Types>> section allowing values to be returned from Vulkan |
| that are not present in extensions explicitly enabled by the |
| application, similar to existing language for bit flags in the |
| <<fundamentals-validusage-flags, Valid Usage for Flags>> section (public |
| issue 442). |
| * *Important*: run `gem update --pre asciidoctor-pdf` before trying to |
| build this version of the spec - 1.5.0.alpha15 is required for this |
| change. Removes the monkey patch currently used to draw valid usage |
| blocks across multiple pages which had numerous issues. A fixed version |
| was incorporated into asciidoctor-pdf for the latest release, so the |
| monkey patch or any variant thereof is no longer required (public issue |
| 465). |
| |
| Internal Issues: |
| |
| * Add ename:VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT |
| to `VK_EXT_debug_report` extension |
| * Fix ptext:pNext member of |
| slink:VkPhysicalDeviceDiscardRectanglePropertiesEXT to be a non-const |
| pointer. Properties structures return values, so the chain should be |
| non-const. |
| * Explicitly remove gl_NumSamples from the `GL_KHR_vulkan_glsl` extension, |
| against 1.0 (internal issue 612). |
| * Add Valid Usage statements requiring that each structure type valid in a |
| ptext:pNext chain must: not appear more than once in a chain (internal |
| issue 752). |
| * Use ename:VK_USE_PLATFORM_WIN32_KHX in the |
| `VK_KHX_external_memory_win32` extension, rather than etext:_KHR |
| (internal issue 754). |
| |
| New Extensions: |
| |
| * `VK_KHR_incremental_present` |
| |
| ----------------------------------------------------- |
| |
| Change log for March 24, 2017 Vulkan 1.0.45 spec update: |
| |
| * Bump API patch number and header version number to 45 for this update. |
| |
| GitHub Issues: |
| |
| * Defined the lifetime of the memory pointed to by |
| slink:VkDisplayPropertiesKHR::pname:displayName to be equal to that of |
| its associated display handle (public issue 460). |
| * Correct several cases where the sparse memory feature name |
| pname:residencyNonResidentStrict was written as |
| pname:sparseResidencyNonResidentStrict (public issue 475). |
| |
| Internal Issues: |
| |
| * Fix ptext:pNext member of slink:VkPhysicalDeviceGroupPropertiesKHX to be |
| a non-const pointer. Properties structures return values, so the chain |
| should be non-const. |
| * Clarify definition of memory aliasing to consistently use the terms |
| "linear" and "non-linear" when referring to resources, and define what |
| those terms mean. |
| * Modified XML schema and implicit validity scripts to generate language |
| for all ptext:pNext values in a ptext:pNext chain instead of just the |
| top level struct, and made `noautovalidity` functional for ptext:sType |
| and ptext:pNext (internal issue 535). |
| * Add more detail for BT2020 and scRGB color spaces in |
| `VK_EXT_swapchain_colorspace` extension (internal issue 632). |
| * Add naming rules for Extension Structure Names (structures added to the |
| ptext:pNext chain of a base structure) to the style guide (internal |
| issue 706). |
| * Define the glossary term "ptext:pNext chain", and use it consistently in |
| the spec (internal issue 744). |
| |
| ----------------------------------------------------- |
| |
| Change log for March 17, 2017 Vulkan 1.0.44 spec update: |
| |
| * Bump API patch number and header version number to 44 for this update. |
| |
| GitHub Issues: |
| |
| * Fix description of <<features-extentperimagetype, Allowed Extent Values |
| Based On Image Type>> (public issue 290). |
| * Better specify VK_DEVICE_LOST behavior around flink:vkQueueSubmit, |
| flink:vkWaitForFences, and flink:vkGetFenceStatus (public issue 423). |
| * Clarify definition of flink:vkGetQueryPoolResults::pname:queryCount |
| (public issue 441). |
| * Simplify and clean up normative language. Remove shall and replace |
| recommend and variants with should wherever possible (public issue 448). |
| * Fix all dangling internal cross-references in the 1.0-extensions |
| specification, and add scripts/checkXrefs to find these in the future |
| (public issue 456). |
| * Reverse order of ChangeLog.txt entries so the most recent version is |
| documented first (public issue 463) |
| * Removes "become invalid" which clashes with invalid state for command |
| buffers. (public issue 467) |
| * Disallowed pending state in spec text for vkResetCommandBuffer, matching |
| valid usage (public issue 468) |
| * Removes sentence describing invalid state "like initial state". (public |
| issue 469) |
| * Disallows begin command buffer from resetting command buffers in the |
| "recording" state. (public issue 470) |
| * Removes mention of state from description of |
| VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT (public issue 471) |
| * Removed extra valid usage statement in VkSubmitInfo (public issue 472) |
| |
| Internal Issues: |
| |
| * Clarify description of the pname:imageLayout member of |
| sname:VkDescriptorImageInfo. |
| * Fix typos where etext:VK_VIEW_TYPE* was used instead of |
| etext:VK_IMAGE_VIEW_TYPE. |
| * Removed the <<VK_KHR_display>> and <<VK_KHR_display_swapchain>> example |
| code from the specification and noted it has been moved to the Vulkan |
| SDK cube demo (internal issue 179). |
| * Reorder VkExternalMemoryHandleTypeFlagBitsNV description (internal issue |
| 480). |
| * Clarify than an implementation is |
| <<fundamentals-validusage-flags,permitted to return 'undefined' bit |
| flags>> in a bitfield (internal issue 640). |
| * Break Valid Usage statements describing unrelated parameters into |
| separate statements, and add a style guide entry to follow this approach |
| (internal issue 685). |
| * Move valid usage statement for slink:VkImageCreateInfo from spec body to |
| the explicit valid usage block (internal issue 693). |
| * Fix typos in the descriptions of slink:VkDisplaySurfaceCreateInfoKHR, |
| flink:vkCreateDisplayModeKHR, and |
| flink:vkGetDisplayPlaneSupportedDisplaysKHR in the <<display,Presenting |
| Directly to Display Devices>> section (internal issue 698, 704, 716). |
| * Clarified that mandatory depth/stencil formats are only a requirement |
| for 2D images (internal issue 719). |
| * Clarify that variables decorated with DeviceIndex/ViewIndex must be in |
| the Input storage class (internal issue 733). |
| * Work around generator script problem with removal of Unicode literals |
| from Python 3.0-3.2 using `future` package (internal issue 737). |
| * Remove nonexistent structure type enums from vk.xml (internal issue |
| 738). |
| * Fix validextensionstructs attributes for structures in the pname:pNext |
| chain for VkPresentInfoKHR, fixing implicit valid usage statements for |
| those structures (internal issue 740). |
| |
| ----------------------------------------------------- |
| |
| Change log for March 10, 2017 Vulkan 1.0.43 spec update: |
| |
| * Bump API patch number and header version number to 43 for this update. |
| |
| GitHub Issues: |
| |
| * Make clearer that color write mask is applied regardless of whether |
| blending is enabled, by referring to the |
| <<framebuffer-color-write-mask,Color Write Mask>> section (public issue |
| 241). |
| * Fix public issue 414: |
| ** Added two new command buffer states (invalid, pending), and an explicit |
| "command buffer lifecycle" section to explain them. |
| ** Replaced "pending execution" with "in the pending state". |
| ** Replaced a bunch of "this will invalidate the command buffer" language |
| with "this will move the command buffer to the invalid state", and added |
| validation language for what state those command buffers should be in. |
| ** Added additional validation language about what state a command buffer |
| should be in for various commands that affect it. |
| ** Added invalidation language to destroy commands in the lifetimes section |
| of fundamentals. |
| ** Added command buffers to list of objects which must not be deleted |
| whilst a (primary) command buffer is in the recording or pending state. |
| * Update `GL_KHR_vulkan_glsl` extension to allow anonymous push constant |
| blocks (public issue 428). |
| |
| Internal Issues: |
| |
| * Document rules about extension interactions in the style guide (internal |
| issue 579). |
| * Require ename:VK_PRESENT_MODE_MAILBOX_KHR support in queries of surfaces |
| created with flink:vkCreateWaylandSurfaceKHR using the |
| VK_KHR_wayland_surface extension (internal issue 666). |
| * Remove Valid Usage constraints for flink:vkAllocateDescriptorSets when |
| the `VK_KHR_maintainance1` extension is present (internal issue 686). |
| * Remove undocumented KHX-variants of vkGetPhysicalDeviceProperties2KHR |
| and vkGetPhysicalDeviceImageFormatProperties2KHR from the |
| <<VK_KHX_external_memory_capabilities>> and |
| <<VK_KHX_external_semaphore_capabilities>> extensions. |
| |
| New Extensions: |
| |
| * `VK_EXT_hdr_metadata` |
| * `VK_GOOGLE_display_timing` |
| |
| ----------------------------------------------------- |
| |
| Change log for February 27, 2017 Vulkan 1.0.42 spec update: |
| |
| * Bump API patch number and header version number to 42 for this update |
| (the first anniversary edition). |
| |
| GitHub Issues: |
| |
| * Changed Asciidoctor macros so cross-page links in the standalone |
| reference pages function properly (public issue 462). |
| |
| Internal Issues: |
| |
| * Clarified host visibility discussion for slink:VkMemoryType, |
| flink:vkInvalidateMappedMemoryRanges, elink:VkAccessFlagBits, and the |
| <<synchronization-framebuffer-regions,Framebuffer Region Dependencies>> |
| section, removing duplicated information and adding a central definition |
| in the access types section (internal issue 552). |
| * Change description of |
| slink:vkGetPhysicalDeviceSurfacePresentModesKHR::pname:pPresentModes to |
| return an array of values, not structures (internal issue 699). |
| |
| New Extensions: |
| |
| * Add a NOTE to the <<extensions,Layers & Extensions>> chapter describing |
| the experimental status of `KHX` extensions. |
| * Add new Khronos, Khronos Experimental, and vendor Vulkan extensions for |
| release at GDC: |
| ** VK_KHR_descriptor_update_template |
| ** VK_KHR_push_descriptor |
| ** VK_KHX_device_group |
| ** VK_KHX_device_group_creation |
| ** VK_KHX_external_memory |
| ** VK_KHX_external_memory_capabilities |
| ** VK_KHX_external_memory_fd |
| ** VK_KHX_external_memory_win32 |
| ** VK_KHX_external_semaphore |
| ** VK_KHX_external_semaphore_capabilities |
| ** VK_KHX_external_semaphore_fd |
| ** VK_KHX_external_semaphore_win32 |
| ** VK_KHX_multiview |
| ** VK_KHX_win32_keyed_mutex |
| ** VK_EXT_discard_rectangles |
| ** VK_MVK_ios_surface |
| ** VK_MVK_macos_surface |
| ** VK_NVX_multiview_per_view_attributes |
| ** VK_NV_clip_space_w_scaling |
| ** VK_NV_geometry_shader_passthrough |
| ** VK_NV_sample_mask_override_coverage |
| ** VK_NV_viewport_array2 |
| ** VK_NV_viewport_swizzle |
| * Add new GLSL vendor extensions to support new builtin variables: |
| ** GL_EXT_device_group |
| ** GL_EXT_multiview |
| |
| ----------------------------------------------------- |
| |
| Change log for February 17, 2017 Vulkan 1.0.41 spec update: |
| |
| * Bump API patch number and header version number to 41 for this update. |
| |
| GitHub Issues: |
| |
| * Made all uses of `NULL` vs. code:VK_NULL_HANDLE consistent (public issue |
| 276). |
| * Clarify render pass compatibility in different usage scenarios (public |
| issues 403 and 404). |
| * Add valid usage statements to slink:VkFramebufferCreateInfo requiring |
| that the width, height, and number of layers of the framebuffer all be |
| nonzero (public issue 432). |
| * Allow `offset` and `align` in any GLSL version for the |
| `GL_KHR_vulkan_glsl` extension (public issue 435). |
| * Specify lifetime of string objects passed to the |
| tlink:PFN_vkDebugReportCallbackEXT user callback in the |
| +VK_EXT_debug_report+ extension (public issue 446). |
| * Fix inter-page links in multi-file reference pages (public issue 454). |
| |
| Internal Issues: |
| |
| * Update valid usage language for slink:VkImageCreateInfo to disallow |
| creating images that have ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT |
| set without other attachment usage bits |
| (ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, |
| ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, or |
| ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) (internal issue 540). |
| * Disable `VK_EXT_swapchain_colorspace` extension until internal issues |
| 640 and 661 are mutually resolved. |
| * Allow alternative mipmap level selection when [eq]#lambda == 0.5# during |
| texture <<textures-image-level-selection,Image Level(s) Selection>> |
| (internal issue 680). |
| |
| Other Issues: |
| |
| * Add a clarification to the style guide that the extension revision |
| number is treated as a patch number, so that changes to published |
| extensions should only include bug fixes and spec clarifications. |
| |
| ----------------------------------------------------- |
| |
| Change log for February 10, 2017 Vulkan 1.0.40 spec update: |
| |
| * Bump API patch number and header version number to 40 for this update. |
| * There is a major build change in this release. We are now using the |
| Ruby-based ``asciidoctor'' implementation, rather than the Python-based |
| ``asciidoc'' implementation, to process the specification. While the |
| actual specification markup changes were minimal, this requires a new |
| set of build tools and a very different installation process, especially |
| because we now use an experimental direct-to-PDF backend for Asciidoctor |
| instead of Docbook->dblatex->PDF. It is no longer possible to build the |
| Specification using asciidoc. See doc/specs/vulkan/README.adoc |
| for some guidance on installing the new toolchain components. |
| * There are some minor rendering issues in the PDF output due to teething |
| problems with the Asciidoctor toolchain, especially with mathematical |
| equations. We are aware of these and working on them. |
| |
| GitHub Issues: |
| |
| * Updated sample code for the <<sparsememory-examples-basic,sparse |
| resource binding example>> (public issue 97). |
| * Modify line and point clipping behavior in the |
| <<vertexpostproc-clipping, Primitive Clipping>> section to allow for |
| pop-free behavior. The ability to check for which behavior is |
| implemented may be added a future feature or extension (public issue |
| 113). |
| * Unify the discussions of implicit ordering throughout the spec, in |
| particular in the new sections <<drawing-primitive-order, Primitive |
| Order>>, <<primsrast-order, Rasterization Order>>, and |
| <<synchronization-implicit, Implicit Synchronization Guarantees>>; the |
| discussion of <<synchronization-submission-order, submission order>>; |
| and references elsewhere to these sections (public issue 133). |
| * Clarify <<descriptorsets-compatibility,Pipeline Layout Compatibility>> |
| language and introduce the term ``identically defined'' (public issue |
| 164). |
| * Add a dependency to the +VK_EXT_debug_marker+ extension that is needed to |
| reuse the object type enum from +VK_EXT_debug_report+, and moves the |
| definition of that enum into +VK_EXT_debug_report+ where it should be |
| (public issue 409). |
| * Remove redundant valid usage statement from slink:VkImageBlit (public |
| issue 421). |
| * Update GL_KHR_vulkan_glsl to allow the ternary operator to result in a |
| specialization constant (public issue 424). |
| * Fix valid usage for flink:VkPipelineShaderStageCreateInfo (public issue |
| 426). |
| * Correct typo in New Objects list for <<VK_EXT_debug_report>> (public |
| issue 447). |
| |
| Internal Issues: |
| |
| * Moved to Asciidoctor for spec builds (internal issue 121). |
| * Update style guide to describe where to put new extensions-specific |
| asciidoc files, and what to name them (internal issue 626). |
| * Add src/spec/indexExt.py to autogenerate registry index entries linking |
| into the 1.0-extensions specification, instead of maintaining the index |
| manually. (internal issue 642). |
| * Autogenerate extension dependencies and lists of all extensions and all |
| KHR extensions from the "supported" attributes in +vk.xml+. Execute |
| +make config/extDependency.sh+ from +doc/specs/vulkan+ when a supported |
| extension is added to vk.xml, to regenerate the dependency script. The |
| consequence is that specifying a single extension to the +makeExt+ |
| script will automatically enable all extensions it depends on as well, |
| and that the +makeAllExts+ and +makeKHR+ scripts do not need to be |
| updated when a new extension is supported (internal issue 648). |
| * Put extension appendices all at the same asciidoc section level, so KHR |
| WSI extensions show up in the HTML index (internal issue 648). |
| |
| Other Issues: |
| |
| * Imbed images in the generated HTML specs instead of loading them from |
| the images/ directory. |
| * Fix missing EXT in extension name |
| (ename:VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME). |
| * Add new +VK_EXT_SMPTE_2086_metadata+ extension. |
| * In the <<platformCreateSurface_xlib,Xlib Surface>> section of the |
| `VK_KHR_xlib_surface` specification, add language warning users that |
| they always need to call code:XinitThreads. |
| * Use the term "presentable image" (rather than "swapchain image") |
| consistently in `VK_KHR_swapchain` and related extensions, and add a |
| glossary term defining it. |
| * Relocate the valid usage for samples of |
| flink:vkGetPhysicalDeviceSparseImageFormatProperties2KHR::pname:pFormatInfo |
| to be below the flink:VkPhysicalDeviceSparseImageFormatInfo2KHR |
| structure. |
| |
| ----------------------------------------------------- |
| |
| Change log for January 23, 2017 Vulkan 1.0.39 spec update: |
| |
| * Bump API patch number and header version number to 39 for this update. |
| |
| GitHub Issues: |
| |
| * Clarified that only accesses via the specified buffer/image subresource |
| ranges are included in the access scopes (public issue 306). |
| * Add missing valid usage statements for flink:vkCreateComputePipelines |
| and flink:vkCreateGraphicsPipelines (public issue 427). |
| |
| Internal Issues: |
| |
| * Add a Note to the <<invariance,Invariance>> appendix about a difference |
| between OpenGL and Vulkan with regards to how primitives derived from |
| offsets are handled (internal issue 355). |
| * Add the +<<VK_KHR_get_physical_device_properties2>>+, |
| +<<VK_KHR_maintenance1>>+, and +<<VK_KHR_shader_draw_parameters>>+ |
| extensions (internal issue 448). |
| * Add the +<<VK_EXT_shader_subgroup_vote>>+ and |
| +<<VK_EXT_shader_subgroup_ballot>>+ extensions (internal issue 449). |
| * Update the texture level-of-detail equation in the |
| <<textures-scale-factor,Scale Factor Operation>> section to better |
| approximate the ellipse major and minor axes (internal issue 547). |
| * Forbid non-explicitly allowed uses of interface decorations in the |
| introduction to the <<interfaces,Shader Interfaces>> chapter (internal |
| issue 607). |
| * Replace use of MathJax with KaTeX, for improved load-time performance as |
| well as avoiding the scrolling-and-scrolling behavior due to MathJax |
| asynchronous rendering when loading at an anchor inside the spec. This |
| change also requires moving to HTML5 output for the spec instead of |
| XHTML, and there is a visible difference in that the chapter navigation |
| index is now in a scrollable sidebar instead of at the top of the |
| document. We may or may not retain the nav sidebar based on feedback |
| (internal issue 613). |
| * Improve consistency of markup and formatting in extension appendices |
| (internal issue 631). |
| |
| Other Issues: |
| |
| * Add explicit valid usage statements to slink:VkImageCopy requiring that |
| the source and destination layer ranges be contained in their respective |
| source and destination images. |
| * Add valid usage language for swapchain of flink:vkAcquireNextImage. If |
| the swapchain has been replaced, then it should not be passed to |
| flink:vkAcquireNextImage. |
| * Add a valid usage statement to flink:vkCreateImageView, that the image |
| must have been created with an appropriate usage bit set. |
| * Noted that slink:VkDisplayPresentInfoKHR is a valid extension of |
| slink:VkPresentInfoKHR in the <<wsi_swapchain,WSI Swapchain>> section. |
| * Update valid usage for flink:vkCmdSetViewport and flink:vkCmdSetScissor |
| to account for the multiple viewport feature. If the feature is not |
| enabled, the parameters for these functions have required values that |
| are defined in the <<features-features-multiViewport,multiple |
| viewports>> section of the spec but were not reflected in the valid |
| usage text for these functions. |
| * Add the +<<VK_EXT_swapchain_colorspace>>+ extension defining common |
| color spaces. |
| |
| ----------------------------------------------------- |
| |
| Change log for December 16, 2016 Vulkan 1.0.38 spec update: |
| |
| * Bump API patch number and header version number to 38 for this update. |
| |
| GitHub Issues: |
| |
| * Make ename:VK_PIPELINE_STAGE_HOST_BIT invalid for all stage masks, |
| except for flink:vkCmdWaitEvents (public issue 261). |
| |
| Internal Issues: |
| |
| * Added validation language for flink:vkQueueBindSparse, |
| slink:VkPresentInfoKHR, and slink:VkSubmitInfo, and a note to the |
| <<synchronization-semaphores-waiting,Semaphore Waiting and Unsignaling>> |
| section to clarify that semaphores must be signaled and waited on in a |
| 1:1 fashion (internal issue 546). |
| * Modify valid usage for slink:VkBufferImageCopy to only require |
| pname:bufferOffset to be a multiple of the image format's element size |
| when the format is not depth/stencil (internal issue 594). |
| |
| Other Issues: |
| |
| * Vulkan is now a registered trademark symbol, and this is reflected in |
| documents and copyright statements. |
| |
| ----------------------------------------------------- |
| |
| Change log for December 10, 2016 Vulkan 1.0.37 spec update: |
| |
| * Bump API patch number and header version number to 37 for this update. |
| |
| GitHub Issues: |
| |
| * Add usability guarantees on the values returned by |
| flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR in the |
| slink:VkSurfaceCapabilitiesKHR structure and by |
| flink:vkGetPhysicalDeviceSurfaceFormatsKHR in the |
| pname:pSurfaceFormatCount parameter (public issue 385). |
| * Add elink:VkDebugReportObjectTypeEXT enumerants for new object types |
| introduced by new extensions (public issue 408). |
| * Add +VK_NVX_device_generated_commands+ etext:ACCESS bits and define how |
| they are used (public issue 415). |
| * Fix indentation for slink:VkDebugReportCallbackCreateInfoEXT member |
| descriptions (public issue 419). |
| |
| Internal Issues: |
| |
| * Expand requirements memory binding of non-sparse images and buffers from |
| the <<resources-association,Resource Memory Association>> section into |
| valid usage statements for all of the applicable API calls (internal |
| issue 508). |
| * Explicitly state that valid usage of flink:vkCreateImage requires that |
| flink:vkGetPhysicalDeviceImageFormatProperties would return |
| ename:VK_SUCCESS for the requested image configuration (internal issue |
| 598). |
| |
| ----------------------------------------------------- |
| |
| Change log for December 1, 2016 Vulkan 1.0.36 spec update: |
| |
| * Bump API patch number and header version number to 36 for this update. |
| |
| GitHub Issues: |
| |
| * Fix "recorded with" terminology in the valid usage language for the |
| flink:vkCmdExecuteCommands::pname:pCommandBuffers parameter (public |
| issue 390). |
| * Modify +genvk.py+ to support specifying extensions to remove from output |
| generators, allowing the extension loader +vulkan_ext.c+ to be created |
| without WSI extensions which are statically exported by the Vulkan |
| loader (public issue 412). |
| * Added validation language for slink:VkSubpassDependency and in the |
| <<synchronization-access-types-supported,supported access types>> |
| section to catch access masks that include bits which are not supported |
| by pipeline stages in the stage masks (partially addresses |
| github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/1006 ). |
| |
| Internal Issues: |
| |
| * Added validation language for flink:vkCmdWaitEvents, |
| flink:vkQueueSubmit, flink:VkRenderPassCreateInfo, and in the |
| <<synchronization-pipeline-stages-supported>> section to prevent |
| recording stage dependencies that aren't supported on the queue |
| (internal issue 516). |
| * Make a few changes that generalize spec language for use with possible |
| future extensions by adding glossary terms and generalizing ``feature'' |
| to ``feature or extension'' where relevant (internal issues 448, 590). |
| * Added "pipeline type" attribute to +vk.xml+ for relevant commands and |
| utilize it in automatic generation of the Command Properties table |
| (internal issue 517). |
| * Specify that WSI implementations must provide both UNORM and sRGB |
| formats in the description of slink:VkColorSpaceKHR (internal issue |
| 529). |
| * Remove nesting of explicit valid usage statements where it is not |
| meaningful (internal issue 583). |
| |
| Other Issues: |
| |
| * Add validity language requiring that |
| slink:VkPushConstantRange::pname:offset be a multiple of 4, as stated in |
| the spec language. |
| |
| ----------------------------------------------------- |
| |
| Change log for November 25, 2016 Vulkan 1.0.35 spec update: |
| |
| * Bump API patch number and header version number to 35 for this update. |
| |
| GitHub Issues: |
| |
| * Document in the <<memory-device-hostaccess,Host Access>> section that |
| mapping and unmapping does not invalidate or flush the mapped memory |
| (public issues 27, 126). |
| * Redefine the entire <<synchronization>> chapter in terms of consistent |
| and well defined terminology, that is called out at the start of the |
| chapter. This terminology is applied equally to all synchronization |
| types, including subpass dependencies, submissions, and much of the |
| implicit ordering stuff dotted around the spec. Key terms are laid out |
| in the <<synchronization-dependencies,Execution and Memory |
| Dependencies>> section at the top of the rewritten chapter (public |
| issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407). |
| * Specify order of submission for batches in the |
| <<vkQueueSubmit,vkQueueSubmit>> and |
| <<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371). |
| * Add valid usage statements to each of the WSI extension sections |
| indicating that the WSI-specific structure parameters must be valid, and |
| remove automatically generated valid usage statements now covered by the |
| manual sections (public issue 383). |
| * Clarify render pass compatibility for flink:vkCmdExecuteCommands (public |
| issue 390). |
| |
| Internal Issues: |
| |
| * Update +vk.xml+ to make previously explicit valid usage statements for |
| <<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead |
| (internal issue 553). |
| * Add valid usage statement for slink:VkCreateImageInfo preventing |
| creation of 1D sparse images (internal issue 573). |
| * Fix Python scripts to always read/write files in utf-8 encoding, and a |
| logic error in reflib.py which could cause a fatal error for |
| malstructured asciidoc (internal issues 578, 586). |
| |
| ----------------------------------------------------- |
| |
| Change log for November 18, 2016 Vulkan 1.0.34 spec update: |
| |
| * Bump API patch number and header version number to 34 for this update. |
| |
| GitHub Issues: |
| |
| * Allow vkUpdateDescriptorSets overflow to skip empty bindings. Clarify |
| that unused bindings have a descriptorCount of zero. Improve some valid |
| usage for vkUpdateDescriptorSets (public issue 256). |
| * Require that slink:VkImageSubresourceRange always define a non-empty |
| range of the resource (public issue 303). |
| * Added valid usage for slink:VkPresentInfoKHR on the layout of presented |
| images (public issue 397). |
| |
| Internal Issues: |
| |
| * Add dependency in src/spec/Makefile so specversion.txt is regenerated |
| when needed (internal issue 462). |
| * Shorten the table of contents in the single-page ref page HTML output. |
| Still working on the PDF (internal issue 536). |
| |
| ----------------------------------------------------- |
| |
| Change log for November 11, 2016 Vulkan 1.0.33 spec update: |
| |
| * Bump API patch number and header version number to 33 for this update. |
| |
| GitHub Issues: |
| |
| * Added implicit external synchronization parameters to |
| vkBegin/EndCommandBuffer, and fixed missing command pool host |
| synchronization from per-command lists (public issue 398). |
| * Started using git tags including the spec release number, such as |
| 'v1.0.32-core', instead of tags including the date of release, such as |
| 'v1.0-core-20161025' (public issue 405). |
| |
| Internal Issues: |
| |
| * Add validity constraint for |
| slink:VkImportMemoryWin32HandleInfoNV::pname:handle (internal issue |
| #480). |
| * Add scripts to compare two Vulkan HTML specifications, derived from W3 |
| htmldiff service (internal issue 525). |
| * Relax requirement that memoryTypeBits can't depend on format, to allow |
| it to differ only for depth/stencil formats (internal issue 544). |
| * Add a new generator script to create a simple extension loader for |
| Vulkan based on +vk.xml+ (internal issue 558). |
| * Add the overlooked requirement that buffer and image memory |
| alignment requirements must be a power of two in the |
| <<resources-association,Resource Memory Association>> section |
| (internal issue 569). |
| |
| Other Issues: |
| |
| * Add a naming rule to the style guide for members of extension structures |
| defining array lengths which are the same as array lengths of the core |
| structure they are chained from. |
| * Add a new generator to create a simple extension loader in |
| +src/ext_loader/vulkan_ext.[ch]+ from +vk.xml+. This code can be |
| included in your project, and is expected to be packaged in the Vulkan |
| SDK provided by LunarG in the future. |
| |
| ----------------------------------------------------- |
| |
| Change log for October 25, 2016 Vulkan 1.0.32 spec update: |
| |
| * Bump API patch number and header version number to 32 for this update. |
| |
| GitHub Issues: |
| |
| * Add automatic visibility operations to the presentation engine when |
| doing a queue present in flink:vkAcquireNextImageKHR. Removed all |
| references to MEMORY_READ that referenced WSI - they no longer make |
| sense (some aspects of public issues 128, 131, 132, 261, and 298). |
| * Document valid non-boolean +externsync+ attribute values for <param> |
| tags in +vk.xml+ (public issue 265). |
| * Add valid usage to slink:VkImageCreateInfo requiring that |
| pname:arrayLayers be 1 for images of type ename:VK_IMAGE_TYPE_3D |
| (public issue 319). |
| * Add missing captions to figures in the <<textures,Image Operations>> |
| chapter (public issue 334). |
| * Clarify WSI interaction with exclusive sharing mode (public issue |
| 344). |
| * Added explicit language clarifying the allowed queue usage of |
| resources created with ename:VK_SHARING_MODE_CONCURRENT (public |
| issue 386). |
| * Require that the |
| slink:VkDescriptorSetLayoutCreateInfo::pname:binding members of the |
| pname:pBindings array passed to |
| flink:vkDescriptorSetLayoutCreateInfo all be distinct (public issue |
| 391). |
| |
| Internal Issues: |
| |
| * Remove empty validity blocks from +vk.xml+ and suppressed broken |
| validity statements and added missing statements to explicit |
| validity. Doesn't affect output, other than some statements |
| appearing in another block now (internal issue 513). |
| |
| ----------------------------------------------------- |
| |
| Change log for October 14, 2016 Vulkan 1.0.31 spec update: |
| |
| * Bump API patch number and header version number to 31 for this update. |
| |
| GitHub Issues: |
| |
| * Clarifying wording of slink:VkGraphicsPipelineCreateInfo parameters and |
| adding Valid Usage statements on render pass compatibility to the |
| <<drawing,drawing commands>> (public issue 375). |
| * Replace 'texel size' with 'element size', and add a definition to the |
| glossary (public issue 382). |
| * Clarify the description of ename:VK_ERROR_NATIVE_WINDOW_IN_USE_KHR to |
| make it accurate, but still generic (non-exhaustive). Remove two Valid |
| Usage statements describing error situations that will return |
| ename:VK_ERROR_NATIVE_WINDOW_IN_USE_KHR (public issue 387). |
| * Fix refBegin tag for elink:VkDebugReportFlagBitsEXT (public issue 392). |
| * The <<interfaces-builtin-variables,built-in variable>> code:PrimitiveId |
| in a fragment shader needs the code:Input storage class (public issue |
| 393). |
| |
| Internal Issues: |
| |
| * Unused ({y,z} and {height,depth} for 1D, z and depth for 2D) offsets |
| must be 0 and unused extents must be 1. Added basic offset and extent |
| valid usage for slink:VkImageResolve to match that of slink:VkImageCopy |
| (internal issue 413). |
| * Describe what flink:vkGetPhysicalDeviceImageFormatProperties returns for |
| pname:sampleCounts when for pname:usage only includes transfer-related |
| flags (internal issue 478). |
| * Remove mention of |
| slink:VkPhysicalDeviceLimits::pname:maxImageArrayLayers from the valid |
| usage for slink:VkImageCreateInfo::pname:arrayLayers (internal issue |
| 520). |
| * Tag usages of ``dynamically uniform'' as glossary terms and add a |
| glossary entry pointing to the SPIR-V Specification's definition of the |
| term (internal issue 531). |
| |
| ----------------------------------------------------- |
| |
| Change log for October 7, 2016 Vulkan 1.0.30 spec update: |
| |
| * Bump API patch number and header version number to 30 for this update. |
| |
| GitHub Issues: |
| |
| * Document missing pname:sType and pname:pNext parameters for |
| slink:VkCommandBufferInheritanceInfo (public issue 224). |
| * As promised, we are removing the example code, from the appendix, for |
| the VK_KHR_surface and VK_KHR_swapchain extensions. The cube demo |
| (shipped in the official Khronos SDK) has been updated, and is the |
| example code that we want people to look at for how to use these two |
| extensions (public issues 279, 308, and 311). |
| * Clarify the formats for which the slink:VkClearColorValue pname:float32 |
| member is used. Also clean up related language for flink:vkCmdBlitImage |
| (public issue 369). |
| * Reword the <<invariance, Invariance>> appendix chapter to better match |
| Vulkan terminology (public issue 372). |
| |
| Internal Issues: |
| |
| * Update slink:VkMemoryRequirements to not require a host_visible memory |
| type exists that can be bound to sparse buffers (internal issue 494). |
| * Modify the <<features-supported-sample-counts,Supported Sample Counts>> |
| language to allow multisampled depth-stencil images (internal issue |
| 521). |
| |
| ----------------------------------------------------- |
| |
| Change log for September 30, 2016 Vulkan 1.0.29 spec update: |
| |
| * Bump API patch number and header version number to 29 for this update. |
| |
| GitHub Issues: |
| |
| * Remove redundant constraint on |
| slink:VkCommandBufferInheritanceInfo::pname:queryFlags (public issue |
| 224). |
| * Fix typo and remove link in Note in the |
| <<extended-functionality-instance-extensions-and-devices, Instance |
| Extensions and Device Extensions>> section (public issue 359). |
| * Fix erroneous validation statement for the pname:layout member of |
| slink:VkComputePipelineCreateInfo (public issue 362). |
| |
| Internal Issues: |
| |
| * Restore long figure captions using asciidoc sidebar blocks, due to |
| restrictions of asciidoc syntax (internal issue 101). |
| * Replace most latexmath equations with comparable markup in straight |
| asciidoc, which significantly improves time required to fully load and |
| process the HTML forms of the Specification. There are known minor font |
| and alignment inconsistencies with MathJax and PDF rendering of |
| latexmath equations. Please do not file GitHub Issues about these. We |
| are aware of the inconsistencies and will make refinements over time, |
| while the performance improvements are compelling in at least some major |
| browsers (internal issue 313). |
| * Move handcoded validity statements from +vk.xml+ into the Specification |
| body, easing work in the single-branch model. Specify the distinction |
| between these explicit statements, and the implicit validity statements |
| inferred from vk.xml. Validity statements now appear in two blocks for |
| each command and structure - handcoded "Valid Usage" and the implicit |
| "Valid Usage (Implicit)" (internal issue 392). |
| * Add the +returnedonly="false"+ attribute to WSI output structures, |
| removing incorrectly generated implicit validity statements for |
| slink:VkDisplayPropertiesKHR, slink:VkDisplayPlanePropertiesKHR, |
| slink:VkDisplayModePropertiesKHR, slink:VkDisplayPlaneCapabilitiesKHR, |
| slink:VkSurfaceCapabilitiesKHR, and slink:VkSurfaceFormatKHR structures |
| (internal issue 486). |
| * Update slink:VkImageLayout to require the |
| ename:VK_IMAGE_USAGE_SAMPLED_BIT be set for sampled depth/stencil images |
| (internal issue 487). |
| * Use an explicit format specifier string for the date command invocation |
| in the +Makefile+ instead of the shorthand -R option, which doesn't work |
| on BSD and MaxOS X date commands (internal issue 500). |
| |
| Other Issues: |
| |
| * Use the terms ``allocation scope'' and ``extension scope'' instead of |
| just ``scope'', and add them to the glossary. |
| |
| ----------------------------------------------------- |
| |
| Change log for September 23, 2016 Vulkan 1.0.28 spec update: |
| |
| * Bump API patch number and header version number to 28 for this update. |
| |
| GitHub Issues: |
| |
| * Minor spelling and typography cleanup, add definitions of |
| ename:VK_FALSE and ename:VK_TRUE as just what their names say |
| (public issues 220, 318, 325, 365; internal issues 451, 496) |
| * Clarify that the pname:maxDescriptorSet limits in the |
| <<features-limits-required,Required Limits>> table are n * |
| maxPerStage limit (where n=number of supported stages) (public issue |
| 254). |
| * Minor cleanup to <<boilerplate-platform-macros,Platform-Specific |
| Macro Definitions>> appendix (public issue 314). |
| * Add valid usage statement to slink:VkPipelineLayoutCreateInfo |
| disallowing multiple push constant ranges for the same shader stage |
| (public issue 340). |
| * Clarify the elink:VkSharingMode description of what executing the |
| "same" barriers means in case of ownership transfer (public issue |
| 347). |
| * Rename copyright.txt and add COPYING.md to try and reduce confusion |
| about applicable copyrights (public issue 350). |
| * Extend the table in the <<boilerplate-wsi-header, Window System-Specific |
| Header Control>> section to describe the external headers included when |
| each etext:VK_USE_PLATFORM_* macro is defined (public issue 376). |
| |
| Internal Issues: |
| |
| * Add "Revision History" to the PDF outputs following the table of |
| contents, to match HTML outputs (internal issue 43). |
| * Clarified that flink:vkMapMemory may fail due to virtual address |
| space limitations (internal issue 346). |
| * Add +refBody+ comment markup for ref page autoextraction when required |
| (internal issue 400). |
| * Document proper use of "mipmap" and "mip" in the style guide API |
| naming rules, matching the spelling rules (internal issue 471). |
| * Tweak the <<extensions,Layers and Extensions>> appendix to note that |
| the Specification may be built with arbitrary combinations of |
| extensions (internal issue 483). |
| * Remove incorrect statement allowing |
| slink:VkClearAttachment::pname:colorAttachment to be >= |
| slink:VkSubpassDescription::pname:colorAttachmentCount (internal |
| issue 488). |
| * The <<features-limits-viewportboundsrange,viewportBoundsRange>> is |
| expressed in terms of the pname:maxViewportDimensions but this is |
| actually two values. Clarify that it is based on the larger of the two |
| (if they differ) (internal issue 499). |
| |
| Other Issues: |
| |
| * Reflowed text of the entire spec using the 'reflow' Makefile target, to |
| (hopefully) reduce future internal git churn as edits are made and |
| extensions added in return for one-time pain. This has no perceptible |
| effect on the spec outputs, but considerable changes on the asciidoc |
| source (internal issue 367). |
| |
| ----------------------------------------------------- |
| |
| Change log for September 16, 2016 Vulkan 1.0.27 spec update: |
| |
| * Bump API patch number and header version number to 27 for this update. |
| |
| GitHub Issues: |
| |
| * Weaken flink:vkGetPipelineCacheData invariance conditions; previous |
| conditions were stronger than agreed and can't be guaranteed (public |
| issue 280). |
| * Add link to "Vulkan Loader Specification and Architecture Overview" |
| document to Normative References section (public issue 359). |
| |
| Internal Issues: |
| |
| * Be more clear in the <<interfaces-resources-layout-std140, uniform |
| buffer layout>> section that block offsets can be out of order |
| (internal issue 396). |
| * Document that extension authors should add support for their extensions |
| to the validation layers (internal issue 398). |
| * Clarify that the valid range of depth clear values should be limited |
| to the 0..1 range and that copies to depth aspect must also be in this |
| range (internal issue 412). |
| * Specify ``a'' vs. ``an'' use in the style guide (internal issue 432). |
| * Increase the maximum pname:nonCoherentAtomSize value in the |
| <<features-limits-required,Required Limits>> section from 128 to 256 |
| (internal issue 435). |
| * Fix vk_platform.h for compiler errors on some Android platforms |
| (internal issue 441). |
| * Clarify that slink:VkPhysicalDeviceFeatures::pname:pEnabledFeatures == |
| `NULL` disables all features, including the "required" feature |
| pname:robustBufferAccess (internal issue 479). |
| |
| Other Issues: |
| |
| * Expand style guide and make it more self-consistent. |
| * Use ISO 8601 date format everywhere. |
| * Emphasise the correct way of using |
| slink:VkSurfaceCapabilitiesKHR::pname:maxImageCount. |
| * Added +VK_EXT_validation_flags+ extension for validation flag mechanism. |
| * Fix an <<credits,author credit>> to include their current employer. |
| |
| ----------------------------------------------------- |
| |
| Change log for September 6, 2016 Vulkan 1.0.26 spec update: |
| |
| * Bump API patch number and header version number to 26 for this update. |
| |
| GitHub Issues: |
| |
| * Bring sample code in the `VK_KHR_surface` and `VK_KHR_swapchain` |
| extension summary appendices up to date, and note they will be replaced |
| with pointers to the LunarG SDK examples in the future (public issue |
| 279). |
| * Add a new <<fundamentals-commandsyntax-results-lifetime,Lifetime of |
| Retrieved Results>> section specifying that ftext:vkGet* and |
| ftext:VkEnumerate* results are invariant unless otherwise specified, and |
| specify behavior for individual commands which are not invariant (public |
| issue 280). |
| * Remove conflicting definition of |
| slink:VkDisplayPlaneCapabilitiesKHR::pname:maxSrcPosition and clean up |
| language of the remaining definition (public issue 351). |
| * Fix many minor spelling errors and add rules to the style guide to |
| prevent recurrences (public issue 352). |
| |
| Internal Issues: |
| |
| * Remove redundant descriptions of the etext:VK_USE_PLATFORM_* macros from |
| the <<wsi,Window System Integration>> chapter in favor of the |
| description in the <<boilerplate-wsi-header,Window System-Specific |
| Header Control>> appendix (internal issue 6). |
| * Replace misleading 'can: be destroyed when not X' with more correct |
| 'must: not be destroyed while X' in the |
| <<fundamentals-objectmodel-lifetime,Object Lifetime>> section. Disallow |
| destroying a pipeline layout while a command buffer using it is |
| recording (internal issue 241). |
| * Clarify that ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT is valid for |
| all images used as attachments in elink:VkImageUsageFlagBits and the |
| slink:VkImageLayout validity language (internal issue 320). |
| * Note that <<extended-functionality-layers,Layers>> may wrap object |
| handles, but that this is a generally discouraged. A link to additional |
| information in the documentation for layer authors is provided (issue |
| 398) |
| * Replace the mustnot: and shouldnot: macros with equivalent must: not and |
| should: not to get rid of non-English words while still highlighting |
| normative language (internal issue 407). |
| * Disallow creating multisampled images with |
| ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT in the slink:VkImageLayout |
| validity language and the <<features-supported-sample-counts,Supported |
| Sample Counts>> section (internal issue 445). |
| * Fix typo so that flink:vkCmdDrawIndexedIndirect is defined in terms of |
| flink:vkCmdDrawIndexed rather than flink:vkCmdDrawIndirect (internal |
| issue 446). |
| * Reorganize the per-extension information sections to all be in the |
| <<extensions,Layers & Extensions>> appendix. Also fix a typo in |
| +VK_IMG_filter_cubic+ which incorrectly identified it as a +KHR+ |
| extension (internal issue 461). |
| |
| Other Issues: |
| |
| * Use asciidoc markup instead of latexmath to simplify diagrams in the |
| <<features-formats-non-packed,byte mapping tables>> for color formats. |
| * Fix a markup problem with the wildcarded enumerant names in a NOTE in |
| the <<textures-texel-replacement,Texel Replacement>> section. |
| * Fix missing attributes in the XML interface for |
| elink:VkExternalMemoryHandleTypeFlagBitsNV and |
| elink:VkExternalMemoryFeatureFlagBitsNV (KhronosGroup/Vulkan-Hpp issue |
| 25) |
| * Cleanup reference page builds so only core pages are built for releases. |
| |
| ----------------------------------------------------- |
| |
| Change log for August 26, 2016 Vulkan 1.0.25 spec update: |
| |
| * Bump API patch number and header version number to 25 for this update. |
| * Structurally change the specification so that multiple extensions are |
| included in the +1.0+ git branch, and specifications will include or not |
| include those extensions at build time based on options passed to the |
| Makefile. See +doc/specs/vulkan/README.html+ and the ``Layers and |
| Extensions'' section of the ``Vulkan Documentation and Extensions'' |
| document for more information on this change. |
| * Register and publish new extensions in the single-branch form: |
| ** +VK_NV_external_memory_capabilities+ |
| ** +VK_NV_external_memory+ |
| ** +VK_NV_external_memory_win32+ |
| ** +VK_NV_win32_keyed_mutex+ |
| |
| GitHub Issues: |
| |
| * Clarify description of GetInstanceProcAddr and GetDeviceProcAddr (public |
| issue 212). |
| * Add SPIR-V <<textures-operation-validation, instruction validation>> for |
| single-sampled images (public issue 316). |
| * Fix spelling of ``tesselation'' in a few places and note it as an |
| exception to the American spelling rules convention (public issue |
| 327). |
| * Fix Makefile to create output directory for ``styleguide'' |
| target (public issue 329). |
| * Fix numerous minor issues with incorrectly tags on enumerant names and |
| table titles (public issue 330). |
| * Generate specversion.txt date in UTC time and RFC 2822 format |
| (public issue 335). |
| * Convert link to the SPIR-V Specification for |
| flink:VkShaderModuleCreateInfo into an internal link to the normative |
| reference (public issue 336). |
| * Add ename:VK_ERROR_OUT_OF_MEMORY error code to |
| flink:vkCreateDebugReportCallbackEXT (public issue 337). |
| |
| Internal Issues: |
| |
| * Update style guide regarding use of code:NULL and dname:VK_NULL_HANDLE |
| (internal issue 393). |
| * Change the definition of latexmath:[$q$] in the |
| <<textures-image-level-selection,texture image level selection>> section |
| to be the index of the maximum defined level for the view, not the |
| number of levels in the view (internal issue 406). |
| * Allow developers to override dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE |
| with their own binary-compatible definition (internal issue 439). |
| * Fix +vk_platform.h+ conditional logic causing compile failure with some |
| Android compilers (internal issue 441). |
| * Implement the single-branch model as described above (internal issue |
| 461). |
| |
| ----------------------------------------------------- |
| |
| Change log for August 12, 2016 Vulkan 1.0.24 spec update: |
| |
| * Bump API patch number and header version number to 24 for this update. |
| |
| GitHub Issues: |
| |
| * Fix type mismatch in swapchain image equivalency table (public issue |
| 289). |
| * Fix a copy-and-paste error in the description of |
| flink:vkGetSwapchainImagesKHR::pname:pSwapchainImages, that said it |
| was an array of ``sname:VkSwapchainImageKHR structures'' instead of |
| an array of ``sname:VkImage handles'' (public issue 292). |
| * Specify that ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT is only valid |
| for ename:VK_IMAGE_TYPE_2D images (public issue 293). |
| * Add a valid usage statement to flink:vkCmdExecuteCommands saying |
| that when called outside a render pass instance, the secondary |
| command buffers must not have been created with the |
| ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT (public issue |
| 297). |
| * Fix description of +VK_NO_STDINT_H+ in the |
| <<boilerplate-platform-macros,platform macros>> section (public |
| issue 314). |
| |
| Internal Issues: |
| |
| * Normalize the language for the remaining built-in variables in the |
| <<interfaces-builtin-variables,Built-In Variables>> section. Fix |
| code:FrontFacing and code:HelperInvocation, as they should be of |
| code:boolean type rather than code:integer (internal issue 323). |
| * Clarify that when ename:VK_WHOLE_SIZE is used for a buffer |
| descriptor range, the effective range must still be within the max |
| buffer range (internal issue 426). |
| * Clarify that command buffers and descriptor sets are allocated |
| rather than created. Also clarify when the recording state of a |
| command buffer is relevant (internal issue 434). |
| |
| ----------------------------------------------------- |
| |
| Change log for August 5, 2016 Vulkan 1.0.23 spec update: |
| |
| * Bump API patch number and header version number to 23 for this update. |
| |
| GitHub Issues: |
| |
| * Add explicit valid value attributes to pname:sType members in vk.xml |
| (public issue 34). |
| * Clarify usage of flink:vkGetInstanceProcAddr and |
| flink:vkGetDeviceProcAddr (public issue 225). |
| * Fix a copy-and-paste error in the description of |
| pname:pSwapchainImageCount saying that it was the count of ``format |
| pairs'' instead of ``swapchain images'' (public issue 292). |
| * flink:vkCmdExecuteCommandBuffers requires all command buffers to be |
| allocated from command pools created for the same queue family (public |
| issue 296). |
| * Remove bogus +optional+ attribute for |
| flink:vkEnumerateDeviceLayerProperties::pname:physicalDevice from vk.xml |
| (public issue 301). |
| * Clean up the <<resources-image-views-compatibility,image and image view |
| compatibility table>> reference and contents. Use full enumerant names. |
| Refer to pname:layerCount in the ``view parameters'' column instead of |
| pname:arrayLayers. Require N >= 1 for the cube array subview row, not |
| just arrayLayers >= 6 N (public issue 304). |
| * Modify description of <<resources-memory-aliasing,memory aliasing>> to |
| be consistent with the description of |
| <<resources-bufferimagegranularity,buffer image granularity>> (public |
| issue 307). |
| |
| Internal Issues: |
| |
| * Describe remaining +vk_platform.h+ macros in the <<boilerplate,API |
| Boilerplate>> appendix (internal issue 6). |
| * Clarify |
| <<features-features-robustBufferAccess, pname:robustBufferAccess>> |
| feature behavior; what memory can be accessed, how bounds checking is |
| performed, and allowing for vectorization (internal issue 332). |
| * Document markup for automatic extraction of reference pages from the |
| spec sources in the style guide (internal issue 395). |
| * Allow flink:vkCreateDisplayModeKHR to return |
| ename:VK_ERROR_INITIALIZAION_FAILED_KHR if the user requests mode |
| parameters that the specified display does not support (internal issue |
| 411). |
| * Remove atomic counters (atomic_uint style) from KHR_vulkan_glsl, and |
| more clearly remove the subroutine keyword alongside it (internal issue |
| 421). |
| * Clarify behavior of flink:vkCmdBindDescriptorSets for descriptor sets |
| not contained in the layout (internal issue 427). |
| |
| Other Commits: |
| |
| * Change the order in which members of sname:VkAttachmentDescription and |
| sname:VkPipelineInputAssemblyStateCreateInfo are described to match |
| their order in the structures. |
| |
| ----------------------------------------------------- |
| |
| Change log for July 22, 2016 Vulkan 1.0.22 spec update: |
| |
| * Bump API patch number and header version number to 22 for this update. |
| |
| GitHub Issues: |
| |
| * Translate the subpass self-dependency language into concrete |
| validity statements, and added a validity statement about the |
| restrictions on layout parameters (public issue 267). |
| * Add validity requirement that |
| slink:VkAttachmentDescription::pname:finalLayout and |
| slink:VkAttachmentReference::pname:layout must not be |
| ename:VK_IMAGE_LAYOUT_UNDEFINED or |
| ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268). |
| * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments |
| layouts are used. Make language consistent with other attachment |
| arrays (public issue 270). |
| * Changed 64-bit definition for |
| dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in |
| +vk.xml+ and the resulting +vulkan.h+ (public issue 282). |
| * Add missing error return code for |
| flink:vkEnumerateInstanceExtensionProperties and |
| flink:vkEnumerateDeviceExtensionProperties (public issue 285) |
| * Fix several cases of stext::VkStructName.memberName markup to |
| stext::VkStructName::pname:memberName, to match other usage in the |
| spec, and describe this markup in the style guide (public issue |
| 286). |
| * Modified validity language generation script to avoid redundant |
| common ancestor language if covered by generic parent language, and |
| used `Both' instead of `Each' when appropriate (public issue 288). |
| |
| Internal Issues: |
| |
| * Add language about behavior of flink:vkAllocateDescriptorSets when |
| allocation fails due to fragmentation, a new error |
| ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation |
| (internal issue 309). |
| * For the features of code:PointSize, code:ClipDistance, and |
| code:CullDistance, the SPIR-V capability is required to be declared |
| on use (read or write) rather than on decoration (internal issue |
| 359). |
| * Have desktop versions of GLSL respect precision qualification |
| (code:mediump and code:lowp) when compiling for Vulkan. These will |
| get translated to SPIR-V's code:RelaxedPrecision decoration as they |
| do with OpenGL ES versions of GLSL (ESSL). The default precision of |
| all types is code:highp when using a desktop version (internal issue |
| 360). |
| * Add validity statement for slink:VkImageCreateInfo specifying that |
| multisampled images must be two-dimensional, optimally tiled, and |
| with a single mipmap level (internal issue 369). |
| * Add validity statements to slink:VkImageViewCreateInfo disallowing |
| creation of images or image views with no supported features. Made |
| some slink:VkImageViewCreateInfo validity statements more precise |
| and consistent. Added a Note to the <<features,features>> chapter |
| about formats with no features (internal issue 371). |
| * Remove +manpages+ from default build targets. Nroff outputs |
| containing imbedded latexmath will not render properly. Fixing this |
| is a lot of work for limited use cases (internal issue 401). |
| |
| Other Commits: |
| |
| * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity |
| statement to be based on attachment indices rather than the number |
| of cleared attachments |
| (Vulkan-LoaderAndValidationLayers/issues/601). |
| * Convert registry documentation from LaTeX to asciidoc source and |
| rename from +src/spec/readme.tex+ to +src/spec/registry.txt+. |
| * Fix lack of Oxford commas in validity language. |
| * Lots of cleanup of generator scripts and Makefiles to move extension |
| list for generator into the script arguments instead of the body of |
| genvk.py, and express better dependencies between XML, scripts, and |
| generated files. |
| |
| ----------------------------------------------------- |
| |
| Change log for July 15, 2016 Vulkan 1.0.21 spec update: |
| |
| * Bump API patch number and header version number to 21 for this update. |
| |
| GitHub Issues: |
| |
| * Clarify how <<features-supported-sample-counts,sample count queries>> |
| relate to the limits in slink:VkPhysicalDeviceLimits. (public issue |
| 185). |
| * Clarify in the <<interfaces-iointerfaces,Shader Input and Output |
| Interfaces>> section that shader output variables have undefined values |
| until the shader writes to them (public issue 240). |
| * Specify the implicit value of image parameters that cannot be set in |
| slink:VkSwapchainCreateInfo::pname:flags, pname:imageType, |
| pname:mipLevels, pname:samples, pname:tiling, and pname:initialLayout |
| (public issue 243). |
| * Make use of code:NULL and code:VK_NULL_HANDLE consistent in the |
| VK_KHR_swapchain extension (public issue 276). |
| |
| Internal Issues: |
| |
| * Clarify that presenting an image to a display surface swapchain applies |
| the display surface's mode, and that destroying a display surface |
| swapchain may reset the display's mode, in the VK_KHR_display_swapchain |
| extension (internal issue 247). |
| * Better describe what a slink:VkSurfaceKHR is, and that creating one does |
| not set a mode, in the VK_KHR_display extension. This is a round-about |
| way of pointing out that mode setting is not covered by the extension, |
| but rather is performed as a side effect of presentation (internal issue |
| 247). |
| * Add more valid usage statements to flink:vkQueuePresentKHR command when |
| the VK_KHR_display_swapchain extension is present (internal issue |
| 247). |
| * Add more includes to the VK_KHR_swapchain extension to better document |
| interactions with VK_KHR_display_swapchain (internal issue 247). |
| * Clarify restrictions on location aliasing in the |
| <<fxvertex,Fixed-Function Vertex Processing>> section (internal issue |
| 370). |
| * Add mathematical description of blitting to flink:vkCmdBlitImage, and |
| link it to the <<textures,Image Operations>> chapter. Use mathematical |
| notation for ranges of texel coordinates in the <<textures,Image |
| Operations>> chapter. Fixed miscellaneous validity statements for |
| flink:vkCmdBlit and slink:VkImageBlit (internal issue 382). |
| |
| Other Commits: |
| |
| * Added a valid usage rule to flink:VkGraphicsPipelineCreateInfo that the |
| ename:VK_PRIMITIVE_TOPOLOGY_PATCH_LIST topology must only be used when |
| tessellation shaders are used. |
| * Expand the style guide into a formal "Procedures and Conventions" |
| document. Add a API Naming Conventions section, move most of the API |
| Specification Appendix C (Layers and Extensions) content into the new |
| document, and define the resulting procedures as mandatory (where |
| relevant). This more clearly separates use vs. specification of Vulkan |
| APIs. |
| * Update vk_platform.h to handle 32-bit ARMv8 binaries. |
| * Various minor cleanups to the Makefile and build process. |
| |
| ----------------------------------------------------- |
| |
| Change log for July 8, 2016 Vulkan 1.0.20 spec update: |
| |
| * Bump API patch number and header version number to 20 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Replaced existing reference pages by text automatically extracted from |
| the specification source, or generated from vk.xml in some cases. This |
| is not a complete solution for the reference pages, but puts them in a |
| much better state. The ref pages (only) are now placed under a CC BY |
| open source license, which is more current than the obsolete license |
| previously used. Various minor tweaks to the Specification sources were |
| made to enable this, and a new ``API Boilerplate'' chapter added to |
| include definitions of all the entities in the API and +vulkan.h+ which |
| were not already described in some form in the document. |
| |
| Further improvements to the pages should not edit them directly, but |
| instead concentrate on the specification source from which the ref pages |
| are being extracted (public issues 44, 55, 160; internal issue 389). |
| |
| ----------------------------------------------------- |
| |
| Change log for July 1, 2016 Vulkan 1.0.19 spec update: |
| |
| * Bump API patch number and header version number to 19 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Clarified how flink:vkGetImageSubresourceLayout interacts with image |
| layouts (public issue 247). |
| * Remove ename:VK_IMAGE_LAYOUT_PREINITIALIZED from valid usage rule for |
| slink:VkImageMemoryBarrier::pname:oldLayout. It is only valid if it is |
| the current layout (public issue 248). |
| * Modify valid usage for flink:vkBindBufferMemory so implementations are |
| free to require a different backing memory size than the buffer size |
| (public issue 251). |
| * Clarify that filtering rules for flink:vkCmdBlitImage always apply, and |
| are usually no-ops if the formats are the same (public issue 253). |
| * Remove 'non-sparse' from description of |
| flink:vkGetBufferMemoryRequirements and |
| flink:vkGetImageMemoryRequirements (public issue 257). |
| * Remove ename:VK_ERROR_LAYER_NOT_PRESENT error code from |
| flink:vkCreateDevice (public issue 259). |
| * Change "must: not" to "should: not" in constraint on when |
| flink:vkAcquireNextImageKHR is called in the VK_KHR_swapchain branch |
| (public issue 262). |
| * Change type of flink:vkCmdUpdateBuffer::pname:pData from |
| basetype:uint32_t* to basetype:void* (public issue 263). |
| * Change should: to must: in description of where additional segments are |
| placed in the <<tessellation-tessellator-spacing,Tessellator Spacing>> |
| section (public issue 264). |
| |
| Internal Issues: |
| |
| * Normalize the language of all the compute shader built-ins in the |
| <<interfaces-builtin-variables,Built-in Variables>> section (internal |
| issue 323). |
| * Remove definition of presentation engine internal queue lengths |
| associated with ename:VK_PRESENT_MODE_FIFO_KHR and |
| ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the <<Window System |
| Integration,wsi>> chapter (internal issue 374). |
| * The language of a Note was too broad, and implied that loaders for a |
| given OS would statically export functions for WSI extensions that |
| were not relevant to (or supported on) the OS. Also, removed |
| "Khronos-provided" since the Android loader is not (internal issue 380) |
| |
| Other Commits: |
| |
| * Add ename:VK_INCOMPLETE to list of return values for |
| flink:vkGetPipelineCacheData. Spec says this value is returnable, but it |
| was not listed in the error codes. |
| * Fix "corresponds" typo in member definitions for |
| slink:VkSubpassDescription. |
| |
| ----------------------------------------------------- |
| |
| Change log for June 24, 2016 Vulkan 1.0.18 spec update: |
| |
| * Bump API patch number and header version number to 18 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Added "queue operation" terminology, and modified spec to actually |
| use this terminology (public issue 155). The act of submitting a |
| piece of work to a queue now generates "operations" for the queue to |
| execute, including operations to wait on/signal semaphores and |
| fences. Synchronization waits on these operations, making execution |
| dependency chains more obvious for semaphores and fences (though |
| additional work is still needed here). These changes include: |
| ** Overview of "queue submission" commands in chapter |
| <<devsandqueues-submission>>. |
| ** Updated descriptions for fence and semaphore waits and signals in |
| the synchronization chapter <<synchronization-semaphores-waiting>>, |
| <<synchronization-semaphores-signaling>> and |
| <<synchronization-fences-waiting>>. |
| ** Clarifications to semaphore and fence operation within queue |
| submission functions. |
| ** New glossary terms. |
| ** Moved device idle and queue wait idle to synchronization chapter in |
| order to describe them in terms of other synchronization |
| primitives. |
| ** Clarifications to semaphore and fence operation allowed removal of |
| the "implicit ordering guarantees" section, as this information is |
| now wholly covered where these primitives are described. |
| *** The "host writes" section of this is still there for now - in its |
| own section. This could probably be merged into other sections |
| later. |
| *** Modified fundamentals chapter on queue ordering to make sense in |
| context of the new changes, and avoid duplication. |
| <<fundamentals-queueoperation>> |
| * Added "aspect" and "component" definitions to the glossary, and made |
| sure these terms are referenced correctly (public issue 163). |
| * Update valid usage for ftext:vkGet*ProcAddr to only include |
| conditions that must be met to get a valid result. In particular, |
| it is okay to call flink:vkGetDeviceProcAddr with any string and will |
| get a code:NULL if that string is not a core Vulkan function or an |
| enabled extension function (addresses but does not fully close |
| public issue 214). |
| * Change the WSI extension dependencies to refer to version 1.0 of the |
| Vulkan API, instead of the pre-1.0-release internal revisions |
| numbers (public issue 238). |
| * Specified that <<interfaces-fragmentoutput,undeclared fragment |
| shader outputs>> result in undefined values input to the blending |
| unit or color attachment (public issue 240). |
| * Fix latexmath:[$\leq$] operators turning into Unicode left arrow symbols |
| (public issue 245). |
| |
| Internal Issues: |
| |
| * Better documented that the registry XML "optional" tag for values |
| only applies when that value is the size of an array (internal issue |
| 335). |
| * Add a stronger definition for the valid usages of |
| VkSpecializationMapEntry.size in the |
| <<pipelines-specialization-constants,Specialization Constants>> |
| section (internal issue 345). |
| * Change code:OpName to code:OpDecorate (along with appropriate |
| syntax) for vertex shader built-ins (internal issue 368). |
| * Add missing ref pages (those which are not currently stubs) to |
| apispec.txt for the single-page version of the ref pages (internal |
| issue 378). |
| |
| Other Commits: |
| |
| * Fix example in the <<descriptorsets,Descriptor Sets>> section to use |
| M, N, and I, describing set, binding, and index, consistently |
| throughout the example code. |
| |
| ----------------------------------------------------- |
| |
| Change log for June 17, 2016 Vulkan 1.0.17 spec update: |
| |
| * Bump API patch number and header version number to 17 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Update description of vertex shader reuse in |
| <<shaders-vertex-execution>> (public issue 106). |
| * Simplify validity language around pname:ppEnabledExtensionNames and |
| pname:ppEnabledLayerNames (in the <<initialization-instances>> and |
| <<devsandqueues-device-creation>> sections) (public issue 214). |
| * Add missing validity rule to flink:vkCmdBeginRenderPass requiring |
| compatibility between slink:VkAttachmentDescription pname:initalLayout |
| members and the corresponding attached framebuffer images (public issue |
| 233). |
| * Fix Unicode arrows appearing in output instead of relational operators |
| (public issue 239). |
| * Correctly describe the required number of elements for |
| code:TessLevelInner and code:TessLevelOuter arrays in the |
| <<interfaces-builtin-variables,Built-In Variables>> section as two and |
| four, respectively, instead of the other way around, and refer to this |
| section from the <<tessellation,Tessellation>> chapter (public issue |
| 246). |
| |
| Internal Issues: |
| |
| * Document deprecation of ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR in the |
| VK_KHR_surface extension, and of |
| ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT in the |
| VK_EXT_debug_report extension (internal issue 328). |
| * Added language to define what a valid usage statement is and should be, |
| with a note about some apparent weirdnesses this might entail (internal |
| issue 357). |
| |
| Other Commits: |
| |
| * Added missing ename:VK_ERROR_DEVICE_LOST error to |
| flink:vkQueueBindSparse. |
| |
| ----------------------------------------------------- |
| |
| Change log for June 10, 2016 Vulkan 1.0.16 spec update: |
| |
| * Bump API patch number and header version number to 16 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Clarify that integer border values are meant to be 0/1, and that |
| integer texture lookups are sign-extended in the |
| <<textures-format-conversion,Format Conversion>> and |
| <<textures-texel-replacement,Texel Replacement>> sections (public |
| issue 52). |
| * Add logic to generate spec boilerplate without using the 'git' |
| command-line client, needed when building from a tarball or another |
| source of the Vulkan tree rather than a cloned git repo. Remove |
| boilerplate as part of 'clean' target (public issue 195). |
| * Document that color writes and clears to unused attachments have no |
| effect for slink:VkClearAttachment and |
| elink:VkColorComponentFlagBits (public issue 198). |
| * Fixed flink:vkCmdExecuteCommands validity statement for |
| sname:VkCommandBufferInheritanceInfo::pname:framebuffer. If used, it |
| must match the framebuffer in the current renderpass instance |
| (public issue 226). |
| * Added valid usage language to require for all functions that set |
| dynamic state that the currently bound graphics pipeline has the |
| corresponding dynamic state enabled (public issue 235). |
| |
| Internal Issues: |
| |
| * Clarify for flink:vkEnumerateInstanceExtensionProperties, in the |
| <<extended-functionality-instance-extensions-and-devices, Instance |
| Extensions and Device Extensions>> section, and in the |
| <<glossary,Glossary>> section when functionality should be exposed |
| as an instance extension, as a device extension, or as both |
| (internal issue 109). |
| * Place WorkgroupSize in alphabetical order in the |
| <<interfaces-builtin-variables,Built-in Variables>> section |
| (internal issue 323). |
| * Corrects valid usage in vkEndRenderPass to only affect primary |
| render passes, as secondaries may be entirely within a render pass, |
| and should be able to be ended (previous language disallowed that) |
| (internal issue 338). |
| * Fix relational operator from <= to >= in the |
| <<features-extentperimagetype,Allowed Extent Values>> section |
| (internal issue 343). |
| * Disallow recursion under SPIR-V entry points in the |
| <<spirvenv-module-validation,Validation Rules within a Module>> |
| section (internal SPIR-V issue 37). |
| |
| Other Commits: |
| |
| * Use standard Python ElementTree package instead of lxml.etree in |
| header / validation layer / include autogeneration from XML, |
| reducing platform dependencies. |
| |
| ----------------------------------------------------- |
| |
| Change log for May 27, 2016 Vulkan 1.0.15 spec update: |
| |
| * Bump API patch number and header version number to 15 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Fixed the <<glossary,Glossary>> entry for Fragment Input Attachment |
| Interface to specify code:UniformConstant storage class (public issue |
| 156). |
| * Disallow lazily allocated memory for buffers in the description of |
| slink:VkMemoryRequirements::pname:memoryTypeBits (public issue 196). |
| * Add numbered figure captions (public issue 219). |
| * Fix output variable names in the <<fundamentals-fpfixedconv,Conversion |
| from Floating-Point to Normalized Fixed-Point>> section and related |
| minor normative language and markup cleanup (public issue 220). |
| |
| Internal Issues: |
| |
| * Fix reference to nonexistent etext:VK_IMAGE_LAYOUT_TRANSFER_{SRC,DST}BIT |
| to the actual etext:VK_IMAGE_LAYOUT{SRC,DST}_OPTIMAL (internal issue |
| 296). |
| * Update the <<sparsememory-sparse-memory-aliasing,Sparse Resource |
| Implementation Guidelines>> to refer to the correct feature names |
| (internal issue 305). |
| |
| ----------------------------------------------------- |
| |
| Change log for May 20, 2016 Vulkan 1.0.14 spec update: |
| |
| * Bump API patch number and header version number to 14 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Fix validity language for sname:VkCommandBufferAllocateInfo to |
| impose range limits on pname:commandBufferCount (public issue 178). |
| * Fix validity language for flink:vkCmdExecuteCommands to refer to the |
| correct structure names (public issue 179). |
| * Fix two copy-and-paste errors in the WSI queries, where the wrong |
| term was used for what was being returned (public issue 206). |
| * Add a note in the documentation of |
| flink:vkGetPhysicalDeviceSurfaceFormatsKHR, about what it means if |
| ename:VK_FORMAT_UNDEFINED is returned (public issue 207). |
| |
| Internal Issues: |
| |
| * Clarify the usage and correct the name for the bitmask referenced in |
| <<queries-pipestats,Pipeline Statistics Queries>> (internal issue |
| 334). |
| |
| Other Commits: |
| |
| * Fix the names of decorations listed in the |
| <<interfaces-builtin-variables,Built-in Variables>> section such |
| that they match the SPIR-V specification. |
| |
| ----------------------------------------------------- |
| |
| Change log for May 13, 2016 Vulkan 1.0.13 spec update: |
| |
| * Bump API patch number and header version number to 13 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Improve the description of ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the |
| VK_KHR_surface extension (public issue 174). |
| * Clarify use of etext:*_SIMULTANEOUS_USE_BIT for secondary command |
| buffers (public issue 182). |
| * Fix typos in VK_KHR_wayland_surface extension where code:wl_device was |
| used instead of code:wl_display (public issue 193). |
| * Replaced {apiname} with ``Vulkan'' in XML validity statements (public |
| issue 199). |
| * Fix dead links for WSI handle types (public issue 200). |
| * Use "signaled" instead of "signalled" spelling everywhere (public issue |
| 201). |
| * Move readme.pdf target directory for XML schema documentation into the |
| target generation directory, instead of leaving it checked into the spec |
| source tree (public issue 203). |
| * Fix duplicate 'which which' typo in description of |
| elink:VkCommandPoolResetFlagBits (public issue 204). |
| * Move the <<Programmable Primitive Shading>> section up one level, out of |
| the <<drawing-primitive-topologies,Primitive Topologies>> section |
| (public issue 209). |
| |
| Internal Issues: |
| |
| * Clarify in the <<pipelines-cache,Pipeline Cache>> section that |
| implementations should not manage the size of pipeline cache (internal |
| issue 192). |
| * Deprecate the concept of device layers and associated commands (internal |
| issue 255). |
| * Remove ename:VK_INCOMPLETE from the list of possible result codes of |
| flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR (internal issue 314). |
| * Add missing std140/std430 rule: the base alignment of a member following |
| a structure is a multiple of the structure's base alignment (internal |
| issue 321). |
| * Fixes naming of the single elink:VkColorSpaceKHR enum from |
| ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR to |
| ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR in XML/header and the |
| VK_KHR_swapchain and VK_KHR_surface extensions to match the style of the |
| typename (space and color are two words, not one) (internal issue 322). |
| * Make it clear that code:LocalInvocationID should only be applied to an |
| input variable and normalize the language describing |
| code:LocalInvocationID to the language for other compute shader |
| variables in the <<interfaces-builtin-variables,Built-in Variables>> |
| section, and add normative language (internal issue 323). |
| * Clarify in the <<fundamentals-returncodes,Return Codes>> section that |
| the result pointer may be modified for specific commands, even if a |
| runtime error is returned (internal issue 324). |
| |
| ----------------------------------------------------- |
| |
| Change log for April 29, 2016 Vulkan 1.0.12 spec update: |
| |
| * Bump API patch number and header version number to 12 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Change valid usage statements intended to be "sub-points" to |
| be actual sub-points (public issue 66). |
| * Replace double negation in description of |
| slink:VkRenderPassBeginInfo::pname:pClearValues (based on public |
| merge 142). |
| * Cleanup minor typos in spec, ref pages and XML, including those |
| proposed in public pull requests 144, 150, 151, 167, 168, 181, and |
| 186. |
| * Use *strict subset* in describing the partial order of memory |
| property types for slink:VkMemoryType, and update the style guide |
| accordingly (public issue 190). |
| * Fix various "a image" -> "an image" typos (public issue 191). |
| * Note in the <<fundamentals-validusage,Valid Usage>> and |
| <<extensions-interactions,Extension Interactions>> sections that |
| structures defined by extensions which may be passed in structure |
| chains using the ptext:pNext member must include initial |
| ptext:sType and ptext:pNext members (public issue 192). |
| |
| Internal Issues: |
| |
| * Remove duplicate language from the description of the pname:fence |
| parameter to flink:vkQueueSubmit and improve validity language |
| (internal issue 91). |
| * Added documentation for "optional" attribute to XML readme.tex/pdf |
| (internal issue 149). |
| * Clarify the host-side data validity rules and behavior of |
| flink:vkFlushMappedMemoryRanges and |
| flink:vkInvalidateMappedMemoryRanges (internal issue 266). |
| |
| Other Commits: |
| |
| * Added clarification to flink:vkCmdFillBuffer regarding the use of |
| ename:VK_WHOLE_SIZE. |
| * Fixed and documented implementation of "validextensionstructs" |
| attribute. in XML processing scripts and readme.tex/pdf. |
| * Add missing validity statements to flink:vkResetEvent and |
| flink:vkCmdResetEvent. |
| * Fix validity for the |
| ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag. |
| Correct all the draw/dispatch commands to mention optimally tiled |
| images as well as linear tiled images, and say image VIEWS instead |
| of images. Add validity statement to flink:vkCmdBlitImage |
| * Replace the {apiname} macro with hardcoded "Vulkan", now that we have |
| committed to that name. |
| * Add the VK_AMD_rasterization_order extension to vk.xml. |
| |
| ----------------------------------------------------- |
| |
| Change log for April 22, 2016 Vulkan 1.0.11 spec update: |
| |
| * Bump API patch number and header version number to 11 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Clarify the WSI extension language by switching from the fuzzier |
| "ownership" language to more-consistent "acquire" language (public |
| issue 117). |
| * Clarify that memory barriers apply to all commands in the dependency |
| chains in the flink:vkGetRenderAreaGranularity command and the |
| <<synchronization-execution-and-memory-dependencies,Execution And |
| Memory Dependencies>> section (public issue 132). |
| * Clarify that a queue family is a set of queues in the |
| <<fundamentals-execmodel,Execution Model>> section (public issue |
| 166). |
| * Removed requirement from valid usage language that |
| VkPresentInfoKHR::waitSemaphoreCount must be greater than 0 (public |
| issue 171). |
| * Fix broken internal links, describe structures consistently, use |
| consistent style for SPIR-V codewords, and tag normative terms that |
| were missing asciidoc tags (public issue 183 and ancillary |
| markup/normative language fixes). |
| * Fix typos for slink:VkPhysicalDeviceLimits member names in |
| slink:VkImageCreateInfo validity language (public issue 184). |
| |
| Internal Issues: |
| |
| * Document that the requested patch version number specified as part |
| of slink:VkApplicationInfo::pname:apiVersion is ignored when |
| creating an instance (internal issue 176). |
| * Clarify handling of extension structs in the |
| <<fundamentals-validusageValid Usage>> section (internal issue 254). |
| * Update required slink:VkImageFormatProperties::pname:maxMipLevels to |
| be limited to the maximum allowed mipmap pyramid size corresponding |
| to the actual maximum supported size for the format (internal issue |
| 256). |
| * Modify the <<features-extentperimagetype,Allowed Extent Values Based |
| On Image Type>> section so the allowed maximum extent is the maximum |
| image dimension supported for each dimension of the type of texture |
| being queried (internal issue 257). |
| * Clarify in the <<spirvenv-module-validation,Validation Rules within |
| a Module>> section that at least one of the code:LocalSize execution |
| mode or code:WorkgroupSize decoration is required for each compute |
| shader entry point in a shader module (internal issue 279). |
| * Add validity rules for formats in flink:vkCmdClearColorImage and |
| flink:vkCmdClearDepthStencilImage (internal issue 283). |
| * Clarify that slink:VkImageFormatProperties::pname:maxResourceSize is |
| an upper bound, and that it may not be possible to create an image |
| anywhere near that size (internal issue 284). |
| |
| Other Commits: |
| |
| * Fix various minor markup errors reported by validation scripts. |
| * Change copyright from Khronos Free Use License to Apache 2.0 license |
| on relevant script/XML/header files. This does not affect the |
| specification source copyright. |
| |
| ----------------------------------------------------- |
| |
| Change log for April 15, 2016 Vulkan 1.0.10 spec update: |
| |
| * Bump API patch number and header version number to 10 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Slightly tweak the <<memory-allocation,Host Memory>> allocator language |
| so that an application wrapping the standard C alloc/free/realloc |
| functions is still correct - the previous language was too strong with |
| regards to freeing memory. Also made certain scenarios clearer - an |
| implementation may now continue without error if an allocation failed |
| and it is able to continue correctly (public issue 21). |
| * Require that etext:VK_*_CREATE_SPARSE_BINDING_BIT is set when the |
| corresponding etext:VK_*_CREATE_SPARSE_RESIDENCY_BIT is used, in the |
| <<sparsememory-miptail,Mip Tail Regions>> section and related commands |
| flink:vkCreateBuffer and flink:vkCreateImage (public issue 84). |
| * Update the <<features,Features, Limits, and Formats>> chapter to clarify |
| interactions between optional features and dynamic state for the |
| pname:depthBiasClamp and pname:wideLines features (public issue 89). |
| * Describe the code:WorkgroupSize builtin in the |
| <<interfaces-builtin-variables,Built-In Variables>> section, and update |
| the <<compute-shaders,Compute Shaders>> section to further clarify how |
| to set the number of workgroups to execute in a compute shader (public |
| issue 145). |
| * Use the term *image subresource* everywhere instead of *subresource*, |
| except for the special case of *host-accessible subresource*, which may |
| be either an image subresource or buffer range (public issue 120) |
| * Add a note to the <<features,Features, Limits, and Formats>> section |
| about extensibility of structures (Public issue 165). |
| * Fix return code flink:vkAcquireNextImageKHR when the timeout parameter |
| is 0 to ename:VK_NOT_READY instead of ename:VK_TIMEOUT (public issue |
| 170). |
| * Fix typo in slink:VkLayerProperties::pname:apiVersion field (public |
| issue 172). |
| |
| Internal Issues: |
| |
| * Fix a few minor internally-detected typos. |
| * Minor formatting tweaks to pseudocode in the <<resources,Resource |
| Creation>> chapter (internal issue 179). |
| * Fix typo in the definition of point sampling for |
| elink:VkCullModeFlagBits (internal issue 268). |
| |
| ----------------------------------------------------- |
| |
| Change log for April 8, 2016 Vulkan 1.0.9 spec update: |
| |
| * Bump API patch number and header version number to 9 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Fix memory type preorder definition and clarify example list and source |
| code for slink:VkMemoryRequirements and slink:VkMemoryHeap (public issue |
| 26). |
| * Ensure slink:VkAllocationCallbacks are properly defined (public issue |
| 73). |
| * Clarify the WSI extension language by switching from the fuzzier |
| "ownership" language to more-consistent "acquire" language (public issue |
| 117). |
| * Add language allowing allocation and freeing of memory scoped to the |
| duration of any API command in the <<memory-allocation,Memory |
| Allocation>> section (public issue 136). |
| * Clarify the explicit location assignment always overrides the inherited |
| location in the <<interfaces-iointerfaces-locations,Location |
| Assignment>> section, even for the first member of a block (public issue |
| 141). |
| * Fixed references to |
| slink:VkCommandBufferInheritanceInfo::pname:pipelineStatistics (public |
| issue 158). |
| * Fix name of slink:VkBufferCopy::pname:size field in validity language |
| for flink:vkCmdCopyBuffer (public issue 162). |
| |
| Internal Issues: |
| |
| * Update GL_KHR_vulkan_glsl specification to clarify disallowance of |
| spec-const arrays in initializers (internal issue 248). |
| * Clarify <<interfaces-iointerfaces-matching,Interface Matching>> section |
| to state that user-defined variable interface must match too (internal |
| issue 250). |
| |
| ----------------------------------------------------- |
| |
| Change log for April 1, 2016 Vulkan 1.0.8 spec update: |
| |
| * Bump API patch number and header version number to 8 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Specify in the validity language for flink:vkBeginCommandBuffer that |
| pname:commandBuffer must not currently be pending execution (public |
| issue 96). |
| * Describe depth comparison using the correct temporary variable names |
| in the <<textures-depth-compare-operation,Depth Compare Operation>> |
| section (public issue 100). |
| * Clarify the order of descriptor update operations in the |
| flink:vkUpdateDescriptorSets command (public issue 115). |
| * Specify in the VK_KHR_swapchain extension that |
| flink:vkAcquireNextImageKHR's pname:semaphore and pname:fence |
| parameters cannot both be sname:VK_NULL_HANDLE (partly addresses, |
| but does not fully close, public issue 117 / internal issue 246). |
| * Change reference to the "lifetime" of a Vulkan command to |
| "duration", and define the "duration" term (public issue 135). |
| * Added valid usage language for slink:VkImageLayout to require both |
| pname:height and pname:depth to be 1 for 1D images and pname:depth |
| to be 1 for 2D images (public issue 137). |
| * Fix SPIR-V example code in the |
| <<descriptorsets-inputattachment,Input Attachment>> section to |
| properly decorate the code:InputAttachmentIndex (public issue 139). |
| * Fix reference to nonexistent pname:imageInfo in the description of |
| flink:VkWriteDescriptorSet to refer to pname:pImageInfo (public |
| issue 140). |
| |
| Internal Issues: |
| |
| * Link to the fixed-function vertex chapter from the drawing chapter |
| (internal issue 110) |
| * Fix typo in slink:VkImageCreateInfo validity language: |
| ptext:maxExtent.sampleCounts -> pname:sampleCounts (internal issue |
| 249). |
| * Explain why the non-core token etext:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR |
| is used in the example in the |
| <<synchronization-semaphores,Semaphores>> section (internal issue |
| 251). |
| * Attempt to clarify in the VK_KHR_android_surface extension's |
| <<platformQuerySupport_android,Android Platform Support>> section |
| that there is no Android-specific WSI query, and why (internal issue |
| 252). |
| |
| Other Commits: |
| |
| * Add missing language about ename:VK_INCOMPLETE being returned from |
| array queries when the passed array is too short, in the |
| VK_KHR_display, VK_KHR_swapchain, and VK_KHR_surface extensions. |
| |
| ----------------------------------------------------- |
| |
| Change log for March 25, 2016 Vulkan 1.0.7 spec update: |
| |
| * Bump API patch number and header version number to 7 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Fix slink:VkSpecializationMapEntry example to avoid C/C++ strict |
| aliasing issues (public issue 14). |
| * Clarify the meaning of "matching" in flink:vkCmdBindDescriptorSets |
| validity language (public issue 33). |
| * Add stub reference pages so xrefs to not-yet-written pages do not |
| generate 404 errors. However, the actual content of these pages |
| still needs to be filled in as time allows (public issue 44, but |
| does not close that issue out). |
| * Remove incorrect validity statement for |
| flink:vkGetImageSparseMemoryRequirements (public issue 85). |
| * Reword the |
| <<features-limits-bufferImageGranularity,bufferImageGranularity>> |
| feature in terms of "aliasing", and clarify that it applies to |
| bindings in the same memory object (public issue 90). |
| * Clarify the relationship of the slink:VkPhysicalDeviceLimits |
| pname:maxViewportDimensions and pname:viewportBoundsRange limits |
| (public issue 92). |
| * Specify sparse unbound texture replacement in the |
| <<textures-texel-replacement,Texel Replacement>> section |
| independently of robust buffer access language (public issue 100). |
| * Add the <<fundamentals-architecture-model,Architecture Model>> |
| section to explain architecture constraints Vulkan has chosen to |
| accept in order to enable portable and performant code (public issue |
| 122). |
| * State that an object must not be destroyed until *all* (not *any*) |
| uses of that object have completed (public issue 123). |
| * Minor editorial cleanup (public issues 129, 134, 146, 148). |
| * Add validity language for layer and extension names to |
| slink:VkDeviceCreateInfo matching that used for |
| slink:VkInstanceCreateInfo (public issue 130). |
| * Clean up terminology for the case when the bits set in one bitmask |
| are a subset of the bits set in another bitmask (public issue 138). |
| * Document that input attachments are UniformConstant not Input, in |
| the <<interfaces-inputattachment,Fragment Input Attachment |
| Interface>> section (public glslang bug 169). |
| |
| Internal Issues: |
| |
| * Add max enum values to "flag bits" enums (internal issue 136). |
| * Clarify language around the various uses of the term "block" in the |
| <<appendix-compressedtex-bc,Block Compressed Image Formats>> section |
| (internal issue 202). |
| * Removed "expand" dependency from <enums> groups in vk.xml and added |
| auto-generation code in the scripts to infer it instead, to ensure |
| consistency. This caused renaming of sname:VkColorSpaceKHR and |
| sname:VkPresentModeKHR etext:BEGIN_RANGE (etc.) tokens, but those |
| tokens are metadata, not part of the API, and the Vulkan WG is OK |
| with this change. This change adds ranges to two additional enums |
| that were missing them due to not defining the "expand" attribute |
| (internal issue 217). |
| * Tweak makefile to generate ref page nroff (.3) files in the right |
| output directory, working around an a2x limitation (internal issue |
| 223). |
| |
| Other Commits: |
| |
| * Add validity requirements for flink:vkCmdCopyQueryPoolResults |
| pname:dstBuffer parameter. |
| * Fix ref page build to generate .3 targets in the right output |
| directory. |
| |
| ----------------------------------------------------- |
| |
| Change log for March 10, 2016 Vulkan 1.0.6 spec update: |
| |
| * Bump API patch number and header version number to 6 for this |
| update. |
| |
| GitHub Issues: |
| |
| * Define 'invocation group' for compute and graphics shaders. Cleanup |
| definition and use of 'workgroup', and add glossary entries (public |
| issue 1). |
| * Various minor editorial fixes (public issue 33). |
| * Clarify locations for block members in the |
| <<interfaces-iointerfaces-locations,Location Assignment>> |
| section (public issue 45). |
| * Editorial fixes for <<commandbuffer-allocation,Command Buffer |
| Allocation>> section (public issues 54, 59). |
| * Clarify behavior of depth test in the <<fragops-depth,Depth Test>> |
| section (public issues 80, 81). |
| * Remove discussion of return codes from |
| flink:vkGetPhysicalDeviceSparseImageFormatProperties and |
| flink:vkGetImageSparseMemoryRequirements, which do not return values |
| (public issue 82). |
| * Allow flink:vkCmdDrawIndirect and flink:vkCmdDrawIndexedIndirect |
| pname:drawCount of 0, as well as 1, when the multiDrawIndirect |
| feature is not supported (public issue 88). |
| * Remove confusing wording in the <<features-limits, Limits>> |
| section describing the slink:VkPhysicalDeviceLimits |
| pname:minTexelBufferOffsetAlignment, |
| pname:minUniformBufferOffsetAlignment, and |
| pname:minStorageBufferOffsetAlignment members as both minimums and |
| maximums (public issue 91). |
| * Clarified that only the RGB components should be affected in places |
| where sRGB is referred to in the spec, such as ASTC formats. Minor |
| re-wording to avoid "color space" when actively incorrect, now that |
| we refer to the Data Format Spec which actually makes a distinction |
| between color space and transfer function (public issue 94). |
| * Treat pname:pPropertyCount == 0 consistently in |
| flink:vkEnumerateInstanceLayerProperties and |
| flink:vkEnumerateDeviceLayerProperties (public issue 99) |
| * Cleanup minor editorial issues in chapters 14-17 (public issue 100). |
| * Clarify definition of flink:vkEnumerateInstanceExtensionProperties |
| and flink:vkEnumerateDeviceExtensionProperties (public issue 101). |
| * Define the flink:vkEnumerateInstanceExtensionProperties and |
| flink:vkEnumerateDeviceExtensionProperties pname:pLayerName |
| parameter to be a pointer to a null-terminated UTF-8 string (public |
| issue 101). |
| * Rearrange "Missing information" references in mandatory format |
| tables (public issue 101). |
| * Clarify that the enumerated extensions returned by |
| flink:vkEnumerateInstanceExtensionProperties and |
| flink:vkEnumerateDeviceExtensionProperties will only include |
| extensions provided by the platform or extensions implemented in |
| implicitly enabled layers (public issue 101). |
| * Miscellaneous editorial fixes. Include the Vulkan spec patch number |
| in the PDF title. Fix label on <<fig-non-strict-lines,Non |
| strict lines>> diagram. Use more easily distinguished symbols in |
| tables in the <<features-required-format-support, Required |
| Format Support>> section. Do not require FQDNs used as layer names be |
| encoded in lower case if not possible, in the |
| <<extensions-naming-conventions, Extension and Layer Naming |
| Conventions>> section (public issues 101, 119, 121). |
| |
| Internal Issues: |
| |
| * Fixed excessive spacing in tables in XHTML (internal issue 18). |
| * Clarify that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT |
| applies to secondary command buffers. Previously spec only referred |
| to the members of pname:pCommandBuffers being affected by this bit. |
| Added a separate slink:VkSubmitInfo Valid Usage restriction |
| specifying that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT |
| also applies to any secondary command buffers that are recorded into |
| the primary command buffers in pname:pCommandBuffers (internal issue |
| 106). |
| * Clarify that slink:VkDeviceCreateInfo::pname:pEnabledFeatures can be |
| NULL (internal issue 117). |
| * Remove "the value of" where it is redundant (e.g. speaking of an API |
| parameter, struct member, or SPIR-V variable, but not when speaking |
| of color components) (internal issue 175). |
| * Forced patch version to always be 0 in the header. Add a |
| "VK_API_VERSION_<major>_<minor>" macro for people to use to do the |
| right thing. Add a VK_HEADER_VERSION which captures the header |
| release number independent of the spec patch number (internal issue |
| 176). |
| * Correct description of |
| slink:VkPipelineShaderStageCreateInfo::pname:pName to "a pointer to |
| a null-terminated UTF-8 string" (internal issue 197). |
| |
| Other Commits: |
| |
| * Updated DataFormat spec reference to the new date for revision 5 of |
| that spec. |
| * Fixed KEEP option (to retain LaTeX intermediate files) in the |
| Makefile to be included when edited there, as well as set on the |
| command line. |
| * Reserve and add "VK_IMG_filter_cubic" to the registry, and implement |
| script functionality to add and remove validity from existing |
| functions. Includes schema and readme changes. |
| * Update GL_KHR_vulkan_glsl so push_constants do not have descriptor |
| sets. |
| |
| ----------------------------------------------------- |
| |
| Change log for March 4, 2016 Vulkan 1.0.5 spec update: |
| |
| * Bump API patch number to 5 for this update. |
| |
| GitHub Issues: |
| |
| * Correctly describe slink:VkPhysicalDeviceProperties pname:deviceName |
| member as a string, not a pointer to a string. Also one typo fix for |
| "hetereogeneous" (public issue 4). |
| * Replace maynot: macro with may: not, and "may: or maynot:" with |
| "may:" (public issue 4). |
| * Clarify that redundantly setting the state of a fence or event has |
| no effect (public issue 4). |
| * Minor fixes to ref pages to track descriptions of memory bits that |
| changed in the core spec. Fix name of a member in the description of |
| sname:sname:VkPipelineMultisampleStateCreateInfo (public issues 8, |
| 13). |
| * Remove redundant validity statement for |
| sname:VkGraphicsPipelineCreateInfo::pname:stageCount (public issue |
| 14). |
| * Fix typos in chapters 7-9 (public issue 14). |
| * Clarify the example demonstrating the behavior of |
| code:OpMemoryBarrier in the |
| <<shaders-execution-memory-ordering,shader memory access |
| ordering>> section (public issue 16). |
| * Specify that freeing mapped memory implicitly unmaps the memory in |
| the description of flink:vkFreeMemory (public issue 17). |
| * Forbid allocation callbacks from calling into the API in the |
| <<memory-allocation,memory allocation>> section (public issue |
| 20). |
| * Add missing validity rules about size being greater than 0 and |
| offset being less than size of object. Fix |
| flink:VkMappedMemoryRange's misinterpretation of offset (public |
| issues 27, 31). |
| * Add validity rule disallowing overlapping source/destination |
| descriptors in flink:VkCopyDescriptorSet (public issue 32). |
| * Clarify that array and matrix stride has to be a multiple of the |
| base alignment of the array or matrix in the |
| <<interfaces-resources-layout,Offset and Stride Assignment>> |
| section (public issue 38). |
| * Correct parenthesis floor nesting error in equation for |
| <<textures-RGB-sexp,RGB to shared exponent conversion>>. |
| Clarify case of when exp' is forced to 0, avoiding log2(0) undefined |
| problem (public issue 40). |
| * Remove redundant statement from the code:FragDepth description in |
| the <<interfaces-builtin-variables,Built-In Variables>> |
| section (public issue 47). |
| * Define the clamping of the |
| <<textures-level-of-detail-operation,bias added to the scale |
| factor>> by linking to the slink:VkPhysicalDevice feature |
| pname:maxSamplerLodBias (public issue 64). |
| * Fix typo "optimal linear resources" and clarify the set of resources |
| <<features-limits-bufferImageGranularity,the |
| pname:bufferImageGranularity resource>> applies to (public issue |
| 67). |
| * Replace 'descriptor accessed by a pipeline' language for |
| sname:VkDescriptorSetAllocateInfo with more precise phrasing about |
| binding a descriptor set before a command that invokes work using |
| that set (public issue 69). |
| * tstripadj.svg contained an Inkscape tag which caused Firefox and IE |
| 11 to fail to render it, and was illegal SVG. Generating Plain SVG |
| from the Inkscape SVG source fixes this (public issue 70). |
| * Fix validity for sname:VkVertexInputBindingDescription and |
| sname:VkVertexInputAttributeDescription numbers (public issue 72). |
| |
| Internal Issues: |
| |
| * Clarify the meaning of |
| ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in |
| elink:VkFormatFeatureFlagBits with respect to depth compare |
| (internal issue 107). |
| * Added a note explaining that ename:VK_QUEUE_TRANSFER_BIT may or may |
| not be reported for a queue family that already supports |
| ename:VK_QUEUE_GRAPHICS_BIT or ename:VK_QUEUE_COMPUTE_BIT as the |
| former is a strict subset of the latter ones (internal issue 116). |
| * Add validity language for sname:VkDescriptorSetAllocateInfo about |
| exceeding the descriptor pool capacity (internal issue 140). |
| * Add ename:VK_INCOMPLETE success code for |
| flink:vkEnumeratePhysicalDevices query (internal issue 163). |
| |
| Other Commits: |
| |
| * Add the VK_NV_glsl_shader extension definitions to the API. |
| * Update GL_KHR_vulkan_glsl with 1) origin_upper_left as default 2) |
| specialization array constant semantics. |
| * Corrected/updated Data Format Specification date. |
| |
| ----------------------------------------------------- |
| |
| Change log for February 25, 2015 Vulkan 1.0.4 spec update: |
| |
| * Bump API patch number from 3 to 4 for the first public update to the |
| spec. Add patch number to the spec title (this will be done |
| automatically from XML, later). |
| * Fixes for numerous editorial issues. Regularize descriptions of |
| variable-length array queries. Properly tag enumerants so they come |
| out in the right font (many were mislabeled in usage tags in vk.xml, |
| or not tagged). Spelling and markup corrections (public issue 4). |
| * Fix typos and clearly separate description of different types of |
| memory areas (public issue 5). |
| * Use standards-compliant preprocessor guard symbols on headers |
| (public issue 7). |
| * Note that GitHub users cannot currently set labels on issues, and |
| recommend a fallback approach (public issue 15). |
| * Use latexmath prefix on len= attributes (public issue 29). |
| * Make flink:vkCmdUpdateBuffer pname:dataSize limit consistent (public |
| issue 65). |
| * Add VK_KHR_mirror_clamp_to_edge extension to core API branch, as an |
| optional feature not introducing new commands or enums (internal |
| issue 104). |
| * Cleanup invariance language inherited from the GL specification to |
| not refer to nonexistent (GL-specific) state (internal issue 111). |
| * Modify the flink:vkCmdDrawIndexed pname:vertexOffset definition to |
| not be the "base offset within the index buffer" but rather the |
| "value added to the vertex index before indexing into the vertex |
| buffer" (internal issue 118). |
| * Fix drawing chapter in the "Programmable Primitive Shading" section |
| where it described categories of drawing commands. It referenced |
| flink:vkCmdDrawIndexed twice. Replace the second reference with |
| flink:vkCmdDrawIndexedIndirect (internal issue 119). |
| * Typo fixed in <<sparsememory-examples-advanced,Advanced Sparse |
| Resources>> sparse memory example (internal issue 122). |
| * Add flink:VkDisplayPlaneAlphaFlagsKHR to <require> section of |
| VK_KHR_display extension (internal issue 125) |
| * Add missing optional="false,true" to |
| flink:vkGetImageSparseMemoryRequirements |
| pname:pSparseMemoryRequirementCount parameter (internal issue 132) |
| * Rename ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT to |
| ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT |
| (internal issue 133) |
| * Fix a handful of broken cross-references in the |
| <<samplers,Samplers>> chapter (internal issue 134). |
| * Fix "Input Attachment" GLSL example to use correct syntax (internal |
| issue 135). |
| * Update XML schema and documentation to accommodate recently added |
| attributes for validity. Add some introductory material describing |
| design choices and pointing to the public repository to file issues. |
| * Put include of validity in the core spec extensions chapter on its |
| own line, so that asciidoc is happy. |
| * Fix vertexOffset language to specify that it is the value added to |
| the vertex index before indexing into the vertex buffer, not the |
| base offset within the index buffer. |
| * Fix error in the description of flink:vkCmdNextSubpass. |
| |
| ----------------------------------------------------- |
| |
| February 16, 2016 - Vulkan 1.0 initial public release |
| |