Longtime Nouveau developer Karol Herbst has been leading the work on the Nouveau NIR/SPIR-V changes around OpenCL support since joining Red Hat almost two years ago. Arriving in Mesa recently is the SPIR-V support for Nouveau’s NVC0 Gallium3D driver.
Intel’s “ANV” Vulkan Linux driver has now hooked into the DriConf infrastructure for handling driver tunables and workarounds. As of Friday afternoon, the Intel Vulkan driver hooks into DriConf. That was followed up by adding a toggle for vk_x11_override_min_image_count behavior. That was followed by adding a generic override for when running gfxbench. Learn more about DriConf and this change.
NVIDIA is still investing in their OpenGL driver stack and have added new multi-GPU/SLI functionality to their driver. Complementing the WGL_NV_multigpu_context extension from July is now the GLX_NV_multigpu_context extension catering to Linux GLX windowing system users. See more extensions in the Khronos OpenGL Registry.
The FFmpeg library up to this point has supported AMD’s Advanced Media Framework (AMF) library just on Windows for H.264/HEVC encoding on GPUs. The Windows code-path makes use of DirectX while now AMD AMF support for Linux via Vulkan is now exposed by the latest FFmpeg code.
MoltenVK 1.0.35 is this new release based on the Vulkan SDK 1.1.108 milestone. This MoltenVK update brings various new extensions like VK_EXT_debug_report, VK_NV_glsl_shader, VK_EXT_debug_utils, and others. More details on MoltenVK 1.0.35 can be found via GitHub. (source: Phoronix)
The latest update of the AMDVLK Open Source Vulkan driver sees several notable additions. The driver now officially supports VK_EXT_host_query_reset, VK_EXT_separate_stencil_usage, and VK_KHR_uniform_buffer_standard_layout extensions and updates the Vulkan API headers against version 1.1.108. Read more about this update at Phoronix or download the driver on GitHub.
Wine 4.0 is released bringing initial Vulkan graphics API support, Direct3D CSMT is enabled by default, early Direct3D 12 support via VKD3D, continued HiDPI work, various OpenGL improvements, and more. There is a very brief but official announcement on the Wine News feed.
The new MoltenVK now allows run-time configuration of MoltenVK via environment variables, support for GPU switching was added and is enabled by default, queue family specialization was added but currently disabled by default, synchronous queue submits was added and enabled by default, there is now support for four queue families, support for the VK_AMD_gpu_shader_half_float and VK_KHR_variable_pointers extensions, and updated against the latest SPIR-V Cross. There is also some fixes and other internal improvements. Checkout the Change Log on GitHub and read more about this update on Phoronix.
Intel compiler engineer Alexey Bader sent out a public “request for comments” on the idea of adding SYCL to the LLVM Clang compiler stack. He wrote, “We (Intel) would like to request to add SYCL programming model support to LLVM/Clang project to facilitate collaboration on C++ single-source heterogeneous programming for accelerators like GPU, FPGA, DSP, etc. from different hardware and software vendors.” Learn more about this initiative or read the original letter.
Artifact is now available with launch-day support for Linux, macOS, and Windows. Artifact is a competitive digital card game. The game is targeting Dota 2 players as well as card gaming enthusiasts. Vulkan support on macOS is done through MoltenVK.
Shader Conductor is one of several open-source projects for going from one shading language to another. With Microsoft’s Shader Conductor the focus is on converting HLSL to GLSL or SPIR-V (OpenGL/Vulkan), ESSL (OpenGL ES), MSL (Apple Metal), and older HLSL shader models. Shader Conductor can handle all shader stages, including geometry and compute shaders. Learn more about this new Open Source project from Microsoft.
The AMDVLK Vulkan Radeon driver updates include support for the VK_EXT_inline_uniform_block extension, which lets uniform blocks be directly backed by descriptor sets. Code clean up and other updates can be viewed on Phoronix and directly from the source on Github GPUOpen-Drivers/AMDVLK.
A libre-licensed software implementation of Vulkan has started up again. Originally started in c++ in 2017, for a reimplementation Rust has been chosen for its concurrency and memory-safety features, and Rust’s LLVM support makes it highly portable. With OpenGL having both llvmpipe and MesaGL for fallback and testing purposes, it seems strange that there does not exist a corresponding Reference Implementation for Vulkan: the only implementations available are in hardware, making it extremely challenging for anyone considering entering the market. Kazan helps fill that gap. Sponsorship of this entirely libre-licensed project welcomed.