Quick Introduction to Mesh Shaders (OpenGL and Vulkan)
Started by JeGX, February 26, 2016, 01:51:30 PM
0 Members and 1 Guest are viewing this topic.
QuoteChange 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::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`
QuoteChange 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`
QuoteChange log for December 16, 2018 Vulkan 1.1.96 spec update: * Update release number to 96.Public Issues: * Fix typo in `vk.xml` for `structextends` attribute of slink:VkPhysicalDeviceShadingRateImagePropertiesNV (public PR 870). * Fix links in optimized PDF output (public PR 879).Internal Issues: * Add a link to GitHub contributors in the <<credits, Other Credits>> section (internal issue 808). * Clarify the behavior of command aliases described in the <<versions,Core Revisions>> and <<initialization-functionpointers, Command Function Pointers>> sections and the registry schema document with respect to whether they are or are not the same entry point, and what the behaviour of the ftext:vkGet*ProcAddr commands is for each alias (internal issue 1462). * Update slink:VkPipelineShaderStageCreateInfo valid usage statements for writing to code:Layer and code:viewportIndex to apply to any vertex processing stage (internal issue 1475). * Make sparse image creation optional for Y'C~B~C~R~ formats in the <<features-required-format-support, Required Format Support>> section and the <<features-formats-requiring-sampler-ycbcr-conversion, Formats requiring sampler Y'C~B~C~R~ conversion for ename:VK_IMAGE_ASPECT_COLOR_BIT image views>> table (internal issue 1476). * Modify the valid usage statement for flink:vkCmdDrawIndirectByteCountEXT::pname:vertexStride to use the pname:maxTransformFeedbackBufferDataStride limit rather than the pname:maxVertexInputBindingStride limit, which is a better match for transform feedback related operations (internal issue 1487). * Changed all members of slink:VkPhysicalDevicePCIBusInfoPropertiesEXT to have the `uint32_t` type. This is an imcompatible change to an EXT that's very recently released; although this is against usual Vulkan WG policy, we discussed and consider this an acceptable risk, but have polled the mesa-dev list in case there are use cases we missed (internal issue 1492). * Set spec vetsion to 1 for `VK_GOOGLE_hlsl_functionality1` and `VK_GOOGLE_decorate_string` in `vk.xml` (internal MR 2948). * Remove redundant valid usage statement `VkImageCreateInfo-pNext-02395` (internal MR 2950). * Add `check_spec_links.py` script, use it in Gitlab CI, and fix many minor markup issues discovered by the script (internal MR 2955). * Update `BUILD.md` to the current Ruby version (2.5.3), and make some corresponding updates to per-platform build instructions (internal MR 2956). * Fix binding numbers and other details in flink:vkUpdateDescriptorSetWithTemplate.txt example code blocks (internal MR 2960). * Remove some nautovalidity="true" in `vk.xml` for NV extensions where it's clearly wrong (internal MR 2970).
Quote 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`
Quote 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 KhronosGroup/Vulkan-ValidationLayers#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.
QuoteChange log for February 3, 2019 Vulkan 1.1.99 spec update: * Update release number to 99.Public Issues: * Add missing pname:pMemoryHostPointerProperties description to flink:vkGetMemoryHostPointerPropertiesEXT.txt (public pull request 896). * Minor markup fixes (public pull request 900). * Minor update to `khronos.css` and markup fixes (originally proposed in public pull request 901, but done via an internal MR).Internal Issues: * Document restrictions on image queries for Y'CbCr formats in the <<features-formats-requiring-sampler-ycbcr-conversion>> table as well as for slink:sname:VkImageFormatProperties and slink:VkImageCreateInfo (internal issue 1361). * Correct type of the code:FragSizeEXT built-in in the <<interfaces-builtin-variables, Built-In Variables>> section (internal issue 1526). * Clean up math in the <<textures, Image Operations>> chapter by refactoring, using better naming conventions, updating diagrams to use the correct orientation, etc. (internal merge request 2968). * Fix minor typos for slink:VkImageCreateInfo and slink:VkImageStencilUsageCreateInfoEXT. * Add missing documentation for tlink:VkResolveModeFlagsKHR. * Fix extension dependency of pname:scalarBlockLayout in the <<features-features-requirements, Feature Requirements>> section. * Fix indexing math for shader binding table calculations in the <<shader-binding-table-indexing-rules, Indexing Rules>> section, and use spelling "`any-hit`" consistently. * Reconcile valid usage statement and text for sampled image layouts in slink:VkWriteDescriptorSet (KhronosGroup/Vulkan-ValidationLayers#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`
QuoteChange 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.
QuoteChange 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).
QuoteChange 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`
QuoteChange 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).
QuoteChange 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)
QuoteChange 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`
QuoteChange log for April 7, 2019 Vulkan 1.1.106 spec update: * Update release number to 106.Public Issues: * Add searchbox and generate search index for the chunked HTML target. Note that doing this requires several new toolchain components to build the `chunked` target (public issue 578 / internal issue 1352). * Remove descriptions of flink:vkCreateSampler sampler constraints which were repeated in the valid usage statements (public pull request 648). * Fix sense of conditional around a valid usage statement in the <<copies>> chapter (public issue 942).Internal Issues: * Add missing pname:extent.width and pname:extent.height valid usage statements for flink:vkCmdClearAttachments (internal issue 1583). * Fix some inconsistencies in structures and corresponding pname:sType enumerant names by renaming sname:VkPhysicalDeviceShaderDrawParameterFeatures -> slink:slink:VkPhysicalDeviceShaderDrawParametersFeatures; sname:VkPhysicalDeviceVariablePointerFeatures -> slink:VkPhysicalDeviceVariablePointerFeatures; sname:VkPhysicalDeviceVariablePointerFeaturesKHR -> slink:VkPhysicalDeviceVariablePointerFeaturesKHR; sname:VkPhysicalDeviceBufferAddressFeaturesEXT -> slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES -> ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES; etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES -> ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES; etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR -> ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR; and etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT -> ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT. The old names are still available as aliases for backwards compatibility. This change required introducing valid XML markup which externally written XML processing scripts may need to be modified to accomodate, to support multiple aliases of a single command or token name (internal issue 1592). * Add slink:VkDevice as the first parameter to flink:vkSetLocalDimmingAMD (internal issue 1618). * Improve CI header compilation tests to test all Vulkan platform includes, using fake platform headers where needed, and change the `allchecks` Makefile target to use the more comprehensive `check_spec_links.py` script instead of the retired `checkinc` and `checklinks` targets. * Move descriptions of the ASTC compressed texture decode mode from the <<appendix-compressedtex-astc,appendix>> to the recently updated external Khronos Data Format Specification. * Fix minor markup and spelling issues in the `VK_NV_ray_tracing` extension.
QuoteChange 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>>`
QuoteChange 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>>`
QuoteChange 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>>`
QuoteChange 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>>`
QuoteChange 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).
QuoteChange 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 KhronosGroup/Vulkan-ValidationLayers#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>>`
QuoteChange 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>>`