New target platform - Mac OSX With the recent updates from the Vulkan® Portability™ initiative and the addition of the relevant extensions in release 2.21, Mac OSX has become an even more important target for Vulkan applications.
So I decided to officially add support for Mac OSX to the Vulkan Hardware Capability Viewer. This only required a few changes to the application’s source code (mostly related to surface extensions) and a new target for the Travis CI setup to build the binaries.
[Read More]
Vulkan Hardware Capability Viewer 2.21 with support for Vulkan Portability released
Release Version 2.21 of the Vulkan Hardware Capability Viewer is now available for all platforms (Windows, Linux, Android).
New extensions This version has been updated to Vulkan Headers 1.2.154, adding support for reading new features and properties provided via VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2 for the following extensions:
VK_KHR_portability_subset VK_EXT_4444_formats Vulkan Portability Most notable is the addition of VK_KHR_portability_subset to support the Vulkan® Portability™ initiative (github). This extension allows non-conformant Vulkan implementations to be built on top of other graphics api like Metal or DirectX, and allows identification of features missing for a fully-conformant Vulkan implementation.
[Read More]
Vulkan Hardware Capability Viewer 2.2 released
Release Version 2.2 of the Vulkan Hardware Capability Viewer is now available for all platforms (Windows, Linux, Android).
New extensions This version has been updated to Vulkan Headers 1.2.148, adding support for reading new features and properties provided via VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2 for the following extensions:
VK_EXT_fragment_density_map2 VK_EXT_shader_atomic_float VK_EXT_extended_dynamic_state VK_EXT_private_data VK_EXT_image_robustness Wayland support Also new with this version is a dedicated build for Wayland. The Linux versions have always been built for X11, but thanks to external contributions, the application now also has a native Wayland version available at the download page.
[Read More]
New Vulkan glTF examples
Moving to glTF When I started writing my first Vulkan samples glTF was still in it’s infancy, esp. in terms of tooling. So I went with more common formats and went with the Open Asset importer library (Assimp) for loading these.
But things rapidly changed with glTF 2.0, which is now pretty much and industry standard and supported by many DCC tools. And since both Vulkan and glTF are both Khronos standards this is a perfect match.
[Read More]
Shaders for Vulkan samples now also available in HLSL
One of Vulkan’s biggest additions (compared to OpenGL) was the introduction of the SPIR-V intermediate representation for shaders. This makes it possible to use different shader language front-ends for writing your shaders, with the only requirement being to be able to compile that language to valid SPIR-V with Vulkan semantics. Unlike OpenGL (except for GL_ARB_gl_spirv) this no longer confines you to use GLSL for writing Vulkan shaders.
And while GLSL is still the primary language for my C++ Vulkan samples, SPIR-V opens up options for different shader languages.
[Read More]
Vulkan debug utilities sample and tutorial
I have contributed a new sample to the official Khronos Vulkan Samples repository that shows usage of the VK_EXT_debug_utils for adding debugging information to your Vulkan application.
This extension combines the old VK_EXT_debug_marker and VK_EXT_debug_report into a new extension that also implements some changes and additions based on developer feedback for the old extensions.
For example it’s now possible to debug instance creation and destruction with this new extension.
[Read More]
Vulkan hardware database feature update
Intro The Vulkan hardware database just got one of it’s biggest updates, bringing with it some fundamental changes, lots of optimizations and some quality-of-life improvements.
The main reason behind this update were requests from inside the Khronos group, asking for feature coverage based reporting.
What does Feature coverage mean? Up until now if you were looking for a specific extension and the devices (or reports) that supported it, the database would only tell you that a device would support the extension, with the driver version being reported just being the latest known version.
[Read More]
Vulkan Hardware Capability Viewer 2.03 released
Version 2.03 of the Vulkan Hardware Capability Viewer is now available for all platforms (Windows, Linux, Android).
This version has been updated to Vulkan Headers 1.1.129, adding support for new extensions introduced with this header:
VK_KHR_performance_query VK_KHR_separate_depth_stencil_layouts VK_KHR_buffer_device_address Aside from new support for these new extensions, this release also includes some small bugfixes related to surface extensions and adds a mapping for VK_PHYSICAL_DEVICE_TYPE_CPU. This is of interest for those that are using software Vulkan implementations like Swiftshader or gfxportability.
[Read More]
Khronos Vulkan Unified Samples repository is here
It’s finally here. Khronos just made the Unified Vulkan Samples repository publicly available.
For more details see the official press release.
About The goal of this project is a central source for high-quality Vulkan samples, with contributions both from Khronos members as well as external contributors like me.
It also comes with an extensive framework that takes care of platform-related stuff like window and input handling and offers functionality for loading assets like glTF models, shaders, etc.
[Read More]
Vulkan Hardware Capability Viewer 2.02 released
Version 2.02 of the Vulkan Hardware Capability Viewer is now available for all platforms (Windows, Linux, Android).
This version has been updated to Vulkan Headers 1.1.124, adding support for all new extensions introduced with this header:
VK_KHR_timeline_semaphore VK_KHR_shader_clock The reasons behind this new release just 3 days after the last one is the new new VK_KHR_timeline_semaphore extension, one that people have been anticipating for long. And as there are already drivers supporting this out in the wild, e.
[Read More]