While current generation Linux games with current Linux GPU drivers using the Vulkan API rather than OpenGL may not be significantly faster with higher-end hardware right, the impact of this newer Khronos graphics API tends to be more profound on lower-end hardware, especially when it comes to lightening the load on the CPU. Following recent Pentium vs. Ryzen 3 Linux gaming tests, Phoronix carried out some fresh benchmarks looking at OpenGL vs. Vulkan on the Ryzen 3 1200 quad-core CPU with NVIDIA and Radeon graphics.
SDL 2.0.6 was released as the latest feature update for this widely-used library that allows for more cross-platform portability of applications and games centered around input, audio, and video helpers. SDL 2.0.6 features QNX7 support, an experimental JACK audio driver, a default Steam Controller mapping for Linux, updated game controller, and cross-platform Vulkan helpers.
vkDOOM3 adds a Vulkan renderer to DOOM 3 BFG Edition. It was written as an example of how to use Vulkan for writing something more sizable than simple recipes. It covers topics such as General Setup, Proper Memory & Resource Allocation, Synchronization, and Pipelines. (source)
After failing to get the initial Vulkan support in last year's CryENGINE 5.3, the public preview of CryENGINE 5.4 is finally available and comes with initial support for the Vulkan graphics API. Learn more on Phoronix.
Vulkan 1.0.53 does have a number of document clarifications and fixes, but most exciting is a handful of new extensions. The new ones to Vulkan 1.0.53 are VK_AMD_gpu_shader_int16, VK_EXT_blend_operation_advanced, VK_EXT_sampler_filter_minmax, and VK_NV_framebuffer_mixed_samples. Read more about this update from Phoronix, or hop on over to the Vulkan Change Log for more details on this update.
AMD's GPUOpen initiative has posted a number of Vulkan open-source projects over time, with their latest open-source project is a Vulkan Memory Allocator. The VulkanMemoryAllocator is designed as a "easy to integrate Vulkan memory allocation library." Learn more about this project on Phoronix.
PasVulkan is a serious effort about bringing Vulkan to Object Pascal. PasVulkan is a Vulkan header generator and object-oriented style API wrapper for the Object Pascal programming language. This works with both FreePascal and the Delphi compiler.
As mentioned on Phoronix, Google just announced GSoC 2017 Projects. Included in the list are several Khronos related projects:
• Software Renderer for Vulkan (Vulkan, SPIR-V)
• 3D Hardware Acceleration in Haiku (OpenGL)
• Cross Platform GUI for CCExtractor (OpenGL
• libosmscout: Implementation of an opengl renderer (OpenGL)
• OpenGL-accelerated Renderer for Cytoscape 3 (OpenGL)
• Improvement to WebGL core for p5.js (WebGL)
• WebGL improvements for p5.js (WebGL)
• Creating the fastest math libraries for Ruby by using the GPU through OpenCL and ArrayFire. (OpenCL)
• GPU Boolean Evaluation for CSG Ray-Tracing (OpenCL)
• HPXCL – Asynchronous Integration of CUDA and OpenCL to HPX (OpenCL)
• libxcam Enable a debluring feature with OpenCL Design (OpenCL)
• Speeding up functional network analysis on fMRI data with distributed, in-memory computation using Apache Spark (OpenCL)
Phoronix posted about the newly revised OpenCL.org website: "The folks behind StreamComputing BV are looking to strengthen the OpenCL compute ecosystem by improving the documentation and code samples as well as better overviews for those wishing to learn this Khronos compute standard." Learn more about OpenCL.org on Phoronix or on StreamComputing.
With Blender 2.79, OpenCL support has improved and should be closer to parity with Blender's CUDA capabilities. The OpenCL Cycles renderer has shorter render times by up to 50% in some cases, tiles are now seen updating while rendering, support for SSS and volume rendering, optimized transparent shadows, and various fixes.
The Portable Computing Language (POCL) has issued a new release of their open-source CPU-based OpenCL implementation. This new version of POCL continues relying upon LLVM and with this release adds support for LLVM/Clang 4.0 and 3.9.