Vulkan Hardware Capability Viewer 1.9 released

Version 1.9 of the Vulkan Hardware Capability Viewer is now available for all platforms (Windows, Linux, Android).

This version fully supports Vulkan 1.1 and adds support for reading additional features and properties for the following extensions:

  • VK_KHR_driver_properties
  • VK_KHR_shader_atomic_int64
  • VK_NVX_raytracing
  • VK_NV_mesh_shader
  • VK_NV_shading_rate_image
  • VK_NV_compute_shader_derivatives
  • VK_AMD_shader_core_properties

You can download the new version from https://vulkan.gpuinfo.org/download.php.

Vulkan Hardware Capability Viewer 1.8 released

Version 1.8 of the Vulkan Hardware Capability Viewer is now available for all platforms (Windows, Linux, Android). As with 1.8 this version fully supports Vulkan 1.1 and adds support for new extensions: VK_EXT_inline_uniform_block VK_KHR_vulkan_memory_model VK_EXT_vertex_attribute_divisor The UI has also been slightly updated. Instead of listing extension features and properties on a separate tab, these are now included in the extensions tab: You can download the new version from https://vulkan. [Read More]

Vulkan conditional rendering

Introduction Note: Source code that demonstrates this feature can be found in this new example at my open source C++ Vulkan examples repository. With the new VK_EXT_conditional_rendering extension, Vulkan gains the possibility to execute certain rendering and dispatch commands conditionally, based on values stored in a dedicated buffer. So instead of having to rebuild command buffers if the visibility of objects change, it’s now to possible to just change a single buffer value to control if the rendering commands for that object are executed without the need to touch any command buffers. [Read More]

Vulkan input attachments and sub passes

Introduction I have added a new example to my open source C++ Vulkan examples that demonstrates the use of input attachments and subpasses within a single render pass. Input attachments are image views that can be used for pixel local load operations inside a fragment shader. This basically means that framebuffer attachments written in one subpass can be read from at the exact same pixel (that they have been written) in subsequent subpasses. [Read More]

Multiview rendering in Vulkan using VK_KHR_multiview

I have added a new example to my open source C++ Vulkan examples that demonstrates the use of multiview rendering. Multiview enables rendering to multiple views simultaneously instead of having to use multiple passes. Esp. with stereoscopic rendering (e.g. for VR related applications) there’s usually little change between two views, like different matrices, and having to do multiple passes for such small differences is inefficient. With multiview an implementation can now render different views simultaneously in a single pass and the Vulkan extension even adds hints for the implementation to even further improve performance (see correlation mask down below). [Read More]

Vulkan 1.1 is here

A bit later than initially planned Vulkan 1.1 was released to the public yesterday, as usual with day-one driver support by most of the IHVs. Vulkan 1.1 promoted several extension to the core and also adds interesting new functionality like vendor independent subgroup operations. You can get all the details at the Khronos Vulkan landing page. Note that all my open source examples, demos and applications will work fine with Vulkan 1. [Read More]
vulkan 

Conservative rasterization in Vulkan using VK_EXT_conservative_rasterization

I have added a new example to my open source C++ Vulkan examples that demonstrates the basic use of conservative rasterization using the VK_EXT_conservative_rasterization extension. This has been missing from Vulkan some time now (while other APIs already offer this feature) but has recently been added and is already support by at least NVIDIA. Conservative rasterization changes the way fragments are generated, and enabling over estimation generates fragments for every pixel touched instead of only pixels that are fully covered. [Read More]

How-to video: Debugging a non-visible model in Vulkan using RenderDoc

One of the most common Vulkan related that I’m seeing a lot is about rendering stuff that somehow ends up being not visible on the screen, even though technically everything looks okay (no validation layer errors, correct buffer uploads, etc.). Luckily there are debugging tools tools like RenderDoc that can help locating and fixing such problems. But not everyone knows about such tools or how to use them for debugging these kind of problems. [Read More]