Close

Joel Felipe - Unsplash

Blog

The Latest Vulkan Blogs

Announcements, articles, and blurbs about Vulkan tech, conformant products, and more.

All Blogs

Detroit Become Human - Quantic Dream

Part 1

Porting Detroit Become Human from PlayStation® 4 to PC

In this three part series AMD and Quantic Dream break down the process of porting the hit title Detroit Become Human to PC.

Learn More

Wolfenstein: Youngblood - MachineGames

Vulkan Ray Tracing Best Practices for Hybrid Rendering

Exploring ray tracing techniques in Wolfenstein: Youngblood

Get an in-depth look at hybrid rendering in Wolfenstein: Youngblood

Learn More

Alongside my latest papers I released the underlying renderer as open source. It is a real-time deferred renderer with ray traced shadows based on Vulkan and written in C. I'm writing this blog post series in hopes that others may learn from it as well. And maybe some others want to toy with this code base.
Khronos has introduced a new extension named VK_EXT_graphics_pipeline_library that allows for shaders to be compiled much earlier than at full Pipeline State Object (PSO) creation time. By leveraging this extension, I was able to avoid many causes of frame hitches due to PSOs being late-created at draw time in the Source 2 Vulkan renderer.
In this blog post we’ll discuss Baseline Profiles and how they improve app and library performance, including startup time by up to 40%. While this blogpost focuses on startup, baseline profiles also significantly improve jank as well.
The Vulkan API is under constant development, with an ever-growing pool of extensions to solve problems and add valuable new features. However, extensions typically don't come with a deployment timeline or a guarantee of which devices will support them. As a result, it can be hard for developers to have a clear picture of when and where extensions will be supported, and what functionality can be relied on for current and future projects. With Vulkan 1.3 and the new public roadmap, we’re taking a significant step to reduce feature fragmentation.
One of the extensions released as part of Vulkan 1.2.199 was VK_EXT_image_view_min_lod extension. This extension allows clamping the minimum LOD value accessed by an image view to a minLod value set at image view creation time.
In this tutorial, we will be covering a little-known feature in Khronos' validation layer which can help you detect potential performance issues for Arm Mali GPUs. In 2020, we integrated the functionality of our now-deprecated PerfDoc layer directly into the Khronos validation layer, which we now refer to as Arm best practice validation.
Today we’re announcing VK_KHR_dynamic_rendering. With this extension you can tell the API to start rendering, and it will just do it - no render pass objects!
With real-time audiovisual applications that rely on any kind of interactivity, each frame comes and goes like a fleeting moment. A moment you might want to capture, frame and hang on a wall. Fortunately, NAP 0.4.2 includes nap::Snapshot: a new high-resolution screenshot resource that can take stunning frame captures of extreme image quality. In this post, I will briefly explain how it works.