Fundamental Vulkan Samples rework (Sync, command buffers and more) Some history It’s been almost ten years since I started working on my open source C++ Vulkan samples. Never would I have imagined what the coming years would look like. Back then I only knew a bit of OpenGL and very little DirectX. And I wasn’t that proficient in C++ either, my main programming language back then was Delphi (which has become a small niche as of today).| Sascha Willems
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...| Sascha Willems
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 samp...| Sascha Willems
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 V...| Sascha Willems
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.| Sascha Willems
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 propert...| Sascha Willems