Vulkan tagged news

LunarG creates tools to help simplify Vulkan development. We leveraged the new Vulkan Layer Factory to create the Vulkan Assistant Layer, a layer that helps developers identify Vulkan best practices. The Vulkan Assistant Layer ā€” VK_LAYER_LUNARG_assistant_layer ā€” functions as a Vulkan best practices layer and is intended to highlight potential performance issues, questionable usage patterns, common mistakes, and items that may lead to application problems that are not specifically prohibited by the Vulkan specification. The Vulkan Assistant Layer can be found as part of the LunarG Vulkan SDK.

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.

Geeks 3D has a great overview of the new OpenGL and Vulkan features in the AMD Adrenalin 17.12.1 release. AMD has added some OpenGL 4.6 extensions (GL_ARB_gl_spirv) but not all, so Adrenalin 17.12.1 is still an OpenGL 4.5 driver with OpenGL 4.6 features. This driver exposes 319 OpenGL extensions (GL=294 and WGL=25) for a Radeon RX 470 on Windows 10 64-bit. Adrenalin 17.12.1 also exposes Vulkan 1.0.65 which is one of the latest specifications. Vulkan support has been added to Radeon Overlay, Radeon Relive, Enhanced Sync and Frame rate target control.

Neil Trevett, Khronos Group President and Radhakrishna Giduthuri, Software Architecture and Compute Performance Acceleration at AMD, spoke at two Khronos related events this past week. Neils presented was an update on the Khronos Standards for Vision and Machine Learning which covered Khronos Standards OpenVX, NNEF, OpenCL, SYCL and Vulkan. Radhakrishna presented Standards for Neural Networks Acceleration and Deployment covered Khronos Standards OpenVX and NNEF. The slides from both presentations are now online.

Arm releases PerfDoc v1.0PerfDoc is a Vulkan layer which aims to validate applications against the Mali Application Developer Best Practices Guide. Just like the LunarG validation layers, this layer tracks your application and attempts to find API usage which is discouraged. PerfDoc focuses on checks which can be done up-front, and checks which can portably run on all platforms which support Vulkan. The intended use of PerfDoc is to be used during development to catch potential performance issues early. The layer will run on any Vulkan implementation, so Mali-related optimizations can be found even when doing bringup on desktop platforms. Just like Vulkan validation layers, errors are reported either through VK_EXT_debug_report to the application as callbacks, or via console/logcat if enabled. Dynamic checking (i.e. profiling) of how an application is behaving in run-time is not currently in the scope of PerfDoc. Some heuristics in PerfDoc are based on "arbitrary limits" in case where there is no obvious limit to use. These values can be tweaked later via config files if needed. Some checks which are CPU intensive (index scanning for example), can also be disabled by the config file. Please visit the GitHub repository for PerfDoc.