Just in time for CES, Vulkan 1.1.97 has been released with 5 new extensions along with a handful of fixes internal and publicly raised issues. The new extensions in this update are: VK_KHR_depth_stencil_resolve, VK_EXT_buffer_device_address, VK_EXT_memory_budget, VK_EXT_memory_priority and VK_EXT_validation_features. Read the Change log for a complete list of changes.
In the latest version of the Nsight Graphics debugger tool, the Pixel History feature now supports the Vulkan API. Pixel History is key to understanding how a particular pixel changed throughout the creation of a frame. This feature gives you the ability to inspect the pixel’s color at each revision, how many samples passed or failed, the failure reason if it failed, and the associated event. You can find out more information about Pixel History in this Pixel History Spotlight!
Also, we have added support for another Vulkan Extension to the list: Vulkan Meshlets (VK_NV_mesh_shader)! You can now profile, debug, and create a C++ Capture of Vulkan applications that utilize mesh shaders and meshlets. A full list of supported Vulkan Extensions can be found in our documentation.
Vulkan Memory Allocator (VMA) is AMDs single-header STB-like library for easily and efficiently managing memory allocation for your Vulkan games and applications. The last three months of VMA development since the release of v2.1 have mostly focused on significantly improving and fleshing out the memory defragmentation support, adding support for sparse binding, and making sure the library had a rich and robust set of allocation strategies for games and other Vulkan applications to use. For all the details, read the GPU Open blog.
AMD released three updates this week with Vulkan improvements: The 18.12.2 Radeon driver, Vulkan Memory allocator and the AMDVLK open-source Vulkan driver. The AMDVLK 2018.Q4.4 update enables some additional features to allow up to 5% performance gains for tessellation workloads, enables the atomic optimizer, updates the Vulkan headers against v1.1.94, enables primitive under estimation for VK_EXT_conservative_rasterization, and has a number of fixes. The Vulkan Memory allocator sees many major changes including the addition of structure member VmaVulkanFunctions::vkCmdCopyBuffer. And finally the Radeon Software Adrenalin 2019 Edition 18.12.2 sees improved Vulkan support with 3 new extensions: VK_EXT_inline_uniform_block, VK_KHR_swapchain_mutable_format, VK_EXT_scalar_block_layout. Additionally Sparse Support is enabled.
The Khronos Group OpenCL API is a SIMD programming model which maps well to the GPU but mostly bypass the fixed graphics-specific logic. The latest Radeon GPU Profiler 1.4 (RGP) now has the ability to profile OpenCL workloads in RGP. Most of the major RGP features that you’re used to using for profiling graphics workloads generated by Vulkan and DirectX 12 are there when profiling OpenCL applications, including the workload and barrier overviews.
This Rust crate by @gwihlidal, a Senior Rendering Engineer II at Electronic Arts (EA), provides an FFI layer and idiomatic rust wrappers for the AMD Vulkan Memory Allocator (VMA) C/C++ library. Designed to help game developers to manage memory allocations and resource creation by offering some higher-level functions. vk-mem is Cross-platform: Windows, Linux and macOS (MoltenVK).
New post on Gamasutra, "Explicit resource state management and synchronization is one of the main advantages and main challenges that modern graphics APIs such as Direct3D12 and Vulkan offer application developers. It makes parallel command recording very efficient, but getting state management right is a challenging problem. This article explains why explicit state management is important and introduces a solution implemented in Diligent Engine, a modern cross-platform low-level graphics library."
In a recent update, Diligent Engine now gives applications direct control of state transitions in Vulkan API and DirectX12. Diligent Engine includes support for Vulkan and OpenGL 4.2 on Win32 and Linux, as well as OpenGL ES 3.0 on iOS and OpenGL 4.1 on macOS.
Students of Patrick Cozzi, glTF Working Group Chair, in the GPU course at University of Pennsylvania will be live streamed Monday, December 10, at 6pm EST. The students have built final projects with everything from WebGL to Vulkan to CUDA to DXR - ranging from photon mappers to water sims to feature detection algorithms. Many of the projects use glTF for models.
The Khronos Group was in Japan this week for SIGGRAPH Asia 2018. There were five BOF sessions covering Vulkan, OpenXR, WebGL, glTF, NNEF, OpenVX and OpenCL. Most of the presentations from these sessions is now online and we have lots of photos as well. Unfortunately not video this year.
AImotive has released its aiSim2 simulator to significantly upgrade the speed and quality of testing and validating self-driving solutions. aiSim2 is the next generation of the award-winning aiSim1, powered by a purpose-built engine that ensures a high level of physical realism, deterministic running alongside optimized hardware utilization and flexibility. aiSim2 is built on AImotive’s experience developing aiDrive, a full stack self-driving software solution. The new simulator offers flexibility and scalability by being hardware agnostic, utilizing The Khronos Group’s Vulkan API to maximize portability and flexibility to enable efficient execution on a wide range of single and multi-GPU system configurations.
Intel’s open-source programming function computer vision library OpenCV has released the first stable version in its 4.0 line. Release highlights list the dnn module now includes experimental Vulkan backend, and the popular Kinect Fusion algorithm has been implemented and optimized for CPU and GPU using OpenCL.
Basemark has releases version 1.1 of the its multi-platform graphics hardware evaluation tool Basemark GPU for enthusiasts and professionals alike. Basemark GPU 1.1 Benchmark offers unparalleled, objective comparisons between Vulkan, OpenGL, OpenGL ES and now DirectX 12 for graphics performance analysis across both mobile and desktop platforms.
Update: Due to a bug in 22.214.171.124, 126.96.36.199 has been released. Fixed: a loader bug when initializing the VK_EXT_debug_utils extension where the loader would pass in invalid instance handle to layers. This would cause a crash in layers that attempted to use the extension.
This latest release of the LunarG SDK supports Vulkan API revision 1.1.92. Introducing vkconfig, the new Vulkan Configurator tool. This is a graphical application that allows a user to specify which layers will be loaded by Vulkan applications at runtime. VulkanSDK Ubuntu packages are no longer in beta. As well, seven new extensions have been added: VK_EXT_calibrated_timestamps, VK_EXT_image_drm_format_modifier, VK_EXT_pci_bus_info, VK_EXT_transform_feedback, VK_GOOGLE_decorate_string, VK_AMD_memory_overallocation_behavior, VK_NV_ray_tracing.
The Khronos Group is trying to better understand how the community have learnt or is learning to use the Vulkan API. We’d like to gather insight on which resources are most or least useful as well as candid feedback on how we handle Vulkan education in general across a variety of areas. The survey takes approximately 10 - 15 minutes. We hope that you can find the time to complete this short survey, the results of this survey will be used to improve our overall Vulkan education offering as part of a major update to Vulkan web resources next year.