Vulkan SDK 1.0.46 released

Started by Stefan, April 07, 2017, 06:02:51 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Vulkan SDK 1.0.46 Release Notes

This SDK supports Vulkan API revision 1.0.46.  The prior SDK supported Vulkan API revision 1.0.42.
Drivers: LunarG recommends that you update your Vulkan-capable hardware drivers to the latest recommended version from your hardware vendor.  A list of Known Driver Issues appears at the end of this document with more information.
SDK Libraries have moved -- As of the 1.0.42 SDK, the SDK library files were moved out of /bin into /lib for 64-bit libraries and /lib32 for 32-bit libraries. This will require you to update your project files to point to the proper location if you are updating from an older SDK.  The change was performed to avoid 32-bit compatibility issues.
  Overview of new features in SDK 1.0.46

  • Update loader and docs to Vulkan version 1.0.46.
  • Extensions introduced since the 1.0.42 SDK include:

    • VK_GOOGLE_display_timing (added in the Vulkan 1.0.43 spec)
    • VK_EXT_hdr_metadata (added in the Vulkan 1.0.43 spec)
    • VK_EXT_swapchain_colorspace (added in the Vulkan 1.0.45 spec)
    • VK_KHR_incremental_present (added in the Vulkan 1.0.46 spec)
  • Vulkan Layers have changed:

    • In this release, the validation layers have been updated to operate correctly with all non-experimental extensions up to and including those newly added to the 1.0.46 header.
    • Image layout and other image-related validation has been streamlined and coverage has been increased.
    • Layers have improved device feature and limit validation coverage
  • VkTrace/VkReplay additions:

    • vktraceviewer included in both the Windows and Linux SDKs and is an alpha release.
    • vktrace trim feature is now available and has been improved. Trim can be used to specify a frame interval to capture - all other frames are removed from the trace file, resulting in a smaller trace file.
    • vktrace has been improved to increase portability of generated trace files across display driver versions.
  • Scores of bugfixes, validation coverage and accuracy improvements, and many feature additions
Important Note About Experimental Extensions The KHX and NVX identifiers in the name indicate that the extension is experimental, and is being considered for future standardization.  In the case of a KHX extension, this extension is being considered as either a KHR extension or core Vulkan API functionality.  NVX extensions are being considered for either a final NV or a more general (EXT, KHR) extension.
As experimental extensions:

  • Developers are encouraged to experiment with them and provide feedback, but should not use them as the basis for production applications.
  • These experimental extensions are expected to be supported for a limited time only.
  • They may change their interfaces and behavior in significant ways as a result of feedback
  • They may be withdrawn or replaced with a different stable (KHR, EXT, ...) extension or core functionality at any time.
  • Implementations of these extensions receive limited or no testing when submitted to the Khronos conformance process.
  • Using experimental extensions with the validation layers may produce inaccurate validation results.
SDK Components This version of the SDK components are based on the following specifications and source code repositories:
Last Commits are designated by the following Git Tags in the respective repositories:

  • LoaderAndValidationLayers:    sdk-
  • VulkanTools:                  sdk-
  • VulkanSamples:                sdk-
Fixed Issues Fixed Vulkan-LoaderAndValidationLayers Github Issues:

  • #1642 Loader crashes if multiple VkSurfaces are created from more than one VkInstance
  • #1640 Windows Defender Flags Runtime Installers as
  • #1631 Error enum is not consistent between releases/commits enhancement help
  • #1624 SDK missing release tag
  • #1623 image_validation: error report for an 2d view of a 3d image if maintenance1 is present
  • #1621 cyclic pNext chain should be an error
  • #1618 Add validation support for SPV_KHR_storage_buffer_storage_class
  • #1616 SIGSEGV in libVkLayer_parameter_validation.
  • #1611 SC layer: Report required capabilities for SPIR-V module errors
  • #1606 Consider returning warning/error numbers for validation messages
  • #1605 Consider passing image handle instead of CB handle for certain validation messages
  • #1604 Buffer validation not passing command buffer as srcObject to validation callback
  • #1602 PRIxLEAST64 undeclared on Ubuntu 16.
  • #1597 Should be OK for fragment program to not write when VK_ATTACHMENT_STORE_OP_DONT_CARE
  • #1593 layers: Building with VK_USE_PLATFORM_WIN32_KHR and not VK_USE_PLATFORM_WIN32_KHX produces compile error.
  • #1592 unique layer not unwrapping objects
  • #1587 Potentially uninitialized variable use warning in
  • #1583 Access violation from UpdateDescriptorSetWithTemplateKHR
  • #1571 vkCreateFramebuffer triggers error on single-mip image with VK_REMAINING_MIP_LEVELS view
  • #1570 cube: Swap chain alpha compositing mode selection instead of fixed mode
  • #1566 dEQP-VK.api.object_management.alloc_callback_fail.instance failed
  • #1554 Build fails for mips64el: relocation truncated to fit: R_MIPS_
  • #1548 Fence tracking bug related to vkQueueBindSparse(?)
  • #1547 VK_KHR_maintenance1: copies between 2D and 3D images
  • #1545 vkCmdCopyBufferToImage(): copy region validation bugs
  • #1541 Support VK_KHR_shader_draw_parameters
  • #1540 Support negative viewport height if VK_KHR_maintenace1 is enabled
  • #1538 Fails to build with musl
  • #1533 Potentially spurious "Additional bits in Source accessMask are specified when layout is VK_IMAGE_LAYOUT_UNDEFINED" warning
  • #1532 Android build from Ubuntu 14.04 fails with "LOCAL_SRC_FILES points to a missing file libshaderc.a" help
  • #1529 Validation incorrect for VK_KHR_descriptor_update_template extension
  • #1528 Move loader generated files
  • #1524 Layer reports error: vkCmdClearColorImage with image from vkAcquireNextImageKHR
  • #1523 Layer complains about framebuffer mipmap count with VK_REMAINING_MIP_LEVELS
  • #1522 Layer freezes during vkCmdBeginRenderPass
  • #1513 Threading layer does not account for null pointer in GetSwapchainImages
  • #1512 vkCreateSwapChainKHR() called with imageExtent which is not equal to the currentExtent.
  • #1508 vkCmdCopyBufferToImage Validation on present
  • #1507 Core Validation: ValidtateBufferBounds may reports incorrect error for compressed image formats
  • #1506 VkWriteDescriptorSet: descriptorCount == 0 bug help
  • #1492 XDG overrides can be used to inject a library to suid process
  • #1491 Reading D24_S8 as input attachment with stencil triggers incorrect validation.
  • #1435 Vulkan Validation Errors should show Handles when possible.
  • #1407 Performance warning: Detect over-synchronization
  • #1398 no longer works with .39 spec
  • #1395 Signed/unsigned mismatch warning with VC++ 2017
  • #1253 Performance warning: Pipeline barriers used for layout transitions instead of Render Passes
  • #1215 Object Tracker valid handle messages
  • #1198 Spammy parameter_validator VkResult warnings help
  • #1195 "Cannot read invalid region of memory" when using image as resolve, then input attachment
  • #1187 cube and cubepp crash on resize (linux/AMD)
  • #1155 Performance warning: High number of memory objects
  • #1153 Expand Windows Loader Search Path to Include Paths in User-writable Registry Keys
  • #1048 Cube gets validation errors on resize on AMD
  • #953 Layers: Update Push Constants Range Checks to Disallow Multiple Ranges in a Single Block
  • #937 Layers: AcquireNextImageKHR completion not tied to semaphore & fence
  • #806 Add ability to disable implicit layers via the application
  • #760 Report an error on invalid image layout transitions
  • #757 Vulkan-LoaderAndValidationLayers does not provide pkg-config file ( ex. vulkan.pc)
  • #727 Performance warning: when instanceCount = 0 (or drawCount = 0)
  • #725 Enable MIR WSI support
  • #714 Core validation: multiple copies of ResolveRemainingLevelsLayers logic
  • #671 Feature: Create a layer which validates basic behavior of other layers
  • #373 Validate memory allocation size in device_limits
  • #282 layer_validation_test failures
  • #279 Samples validation errors on AMD driver
Fixed LunarXchange Issues:

  • #651 - Wrong VL report regarding non-solid polygon mode
  • #653 - Crash inside VL when command pool is invalid
  • #656 - VL are much slower in compared to
  • #657 - Possibly wrong VL report in latest version
  • #658 - Local Python modules not found
  • #660 - vkGetPhysicalDeviceQueueFamilyProperties2KHR has no effect on validation done by LUNARG_swapchain.
  • #661 - Missing buffer_validation.cpp file on
  • #662 - Why unnormalized coordinates must require a image that only has one mipmap and one layer´╝č
  • #663 - Fail CommandBuffer
  • #664 - wrong ELF class: ELFCLASS32
  • #665 - Not compatible with Windows version
  • #666 - Typo in the Docs
  • #667 - Latest Driver 17.3.3, vkCreateInstance is not working
  • #668 - Docs version switch does not seem to work
  • #669 - Unresolved symbol:
Fixed VulkanTools/VulkanSamples Github issues:

  • VulkanTools #153 - vkreplay (screenshot layer) screenshots are too dark
  • VulkanSamples #120 - Can not find vk_dispatch_table_helper.h
Known Issues Known Driver Issues None