New client application A bit delayed, but version 4.02 of the Vulkan Hardware Capability Viewer is now available for all platforms (Windows, Linux, Android, Mac OSX).
New extensions This version is based on Vulkan Headers 1.4.320 and adds support for the following new extension features and properties provided via VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2:
VK_ARM_tensors VK_ARM_data_graph VK_ARM_format_pack VK_EXT_shader_float8 VK_EXT_zero_initialize_device_memory VK_KHR_present_id2 VK_KHR_present_wait2 VK_KHR_video_decode_vp9 VK_KHR_unified_image_layouts VK_KHR_maintenance9 VK_KHR_robustness2 VK_VALVE_fragment_density_map_layered Native Linux ARM64 builds (AArch64) Thanks to a contribution by q4a, the Vulkan Hardware Capability viewer now also natively supports Linux on ARM64 (aka AArch64).
[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]
Shaders for Vulkan samples now also available in slang
A new shading language enters the ring Unlike other 3D graphics apis, Vulkan did decouple human readable shaders from the api using SPIR-V as an intermediate representation. 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 shading language to valid SPIR-V with Vulkan semantics.
This opens up Vulkan for shading languages other than glsl and made it possible to also add hlsl to most of my samples (back in 2020).
[Read More]
Vulkan Hardware Capability Viewer 4.01 released
New client application A bit delayed, but version 4.01 of the Vulkan Hardware Capability Viewer is now available for all platforms (Windows, Linux, Android, Mac OSX).
New extensions This version is based on Vulkan Headers 1.4.313 and adds support for the following new extension features and properties provided via VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2:
VK_ARM_pipeline_opacity_micromap VK_EXT_fragment_density_map_offset VK_KHR_depth_clamp_zero_one VK_KHR_maintenance8 VK_KHR_shader_bfloat16 VK_KHR_video_maintenance2 VK_NV_cluster_acceleration_structure VK_NV_cooperative_vector VK_NV_partitioned_acceleration_structure VK_NV_present_metering VK_NV_ray_tracing_linear_swept_spheres Updated build environments One of the reasons it took me so long to update this release were required updates to the build environments.
[Read More]
Improved filtering added to the Vulkan Hardware Database
Reworking global filters In the last posting I already hinted at reworking how filtering works for the Vulkan Hardware Database. Almost 40,000 reports across multiple platforms is a lot of data, and being able to properly and easily filter that is crucial for a database.
Up until now the only global filter option was the api version, so you could e.g. filter all views in the database to show only data based on devices supporting at least that api version.
[Read More]
Cleaning up Vulkan Hardware Database Android reports
Vulkan device properties on Android Compared to desktop environments like Windows and Linux, Vulkan on Android is a very different situation. Aside from the obvious hardware specific differences between full desktop GPUs and integrated mobile GPUs there are issues that also complicate data retrieval for my Vulkan Hardware Database. One such issue is device naming and how GPUs and mobile devices corelate. On desktop a given GPU like a RTX 4070 from NVIDIA always reports the same Vulkan properties for a given driver version, no matter who produced that graphics card.
[Read More]
Vulkan 1.4 support for the Vulkan Hardware Capability Viewer and database
Vulkan 1.4 has arrived Just a few days ago Vulkan 1.4 was released to the public. This is another important step forward for the api and adds some interesting new functionality. See this blog from Khronos for more details. The Vulkan documentation site is a good starting point too if you wanna learn about what’s included in that version and also why it’s included. If you’re looking for some code, the Khronos Vulkan Samples show some of the new features that were already available as an extensions, e.
[Read More]
Extension detail pages for the Vulkan hardware database
New pages for extension details One thing that I always kinda thought was missing from the database was an easy way to pass extension details around. Esp. coverage numbers for platforms.
A common question I see in the Vulkan communities I’m active in is “how good is support for this extension”. And usually the answer is “go to the extension list at https://vulkan.gpuinfo.org and filter yourself”.
And while that is a way to get an answer to that question, not having an easy way to simply pass around a link that answers this questions has been bugging me for some time now.
[Read More]
Vulkan Hardware Capability Viewer 3.40 released
New client application
Version 3.40 of the Vulkan Hardware Capability Viewer is now available for all platforms (Windows, Linux, Android, Mac OSX). An update for the Google Play Android version should land soon.
New extensions
This version is based on Vulkan Headers 1.3.280 and adds support for the following new extension features and properties provided via VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2
:
- VK_EXT_map_memory_placed
- VK_NV_shader_atomic_float16_vector
- VK_NV_raw_access_chains
- VK_NV_ray_tracing_validation
Other changes
- Made some minor adjustments to the JSON output that should hopefully fix some wrongly reported format feature flags
- JSON’s number type is limited to double, and some drivers reported numbers larger than that, resulting in wrong values stored to the database
- To avoid this, those flags are now stored as string, avoiding any problems with conversion
- Updated the LunarG Profiles library
GPU hardware databases hit 50,000 reports
50,000 reports (and counting) When I started the OpenGL online hardware database in 2011 along with a client application written in Delphi (which is pretty niche nowadays), it was meant as a replacement for a defunct database of OpenGL devices made by someone else. 13 years later my community driven GPU databases now also support OpenGL ES, OpenCL and Vulkan. Judging by the numbers and the feedback I get, the databases are widely used by developers that work the open APIs from Khronos.
[Read More]