You love our Performance Guide but sometimes it can be hard to work with. All those optimization suggestions are great, but how can you tell if they apply to your engine? Enter the AMD checks for the Vulkan® Best Practice validation layer.
We took many of our performance suggestions and incorporated them into the validation layer. This layer will analyze Vulkan API calls and alert you on sub-optimal usage. Now you don’t have to remember which flags you should or shouldn’t use or if you are clearing with a fast color. The Best Practice layer will check all of that, and more, for you!
There are several ways to enable the best practice layer:
- Set an environment variable.
Simply set:
VK_LAYER_ENABLES=VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT;VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_AMD
- Use the Vulkan Configurator.
This easy-to-use GUI app can check which layers are present and configure the layers and their log output.

- Enable the layer in your engine during the Vulkan Instance creation.
This method allows you to more finely control the log output of the layer. Maybe you want to ignore certain suggestions, or elevate the severity of others. While this method requires changes in code, it allows for more control.
That’s it! You are ready to tune your engine with AMD’s Best Practices. We plan on adding even more checks in the future, as well as tune the existing checks based on your feedback.
The layer was recently merged into the validation layer Github Repo, and will be in version 1.2.189 of the SDK.
Related content

Bilinear interpolation on a quadrilateral using Barycentric coordinates
A new algebraic method for hardware-accelerated bilinear interpolation on convex quadrilaterals is presented, using the Barycentric coordinate feature of modern GPUs.

GPU Work Graphs mesh nodes now in Vulkan®
We’ve added mesh nodes to our Vulkan® experimental extension, VK_AMDX_shader_enqueue.

Radeon™ GPU Detective adds Vulkan® support on Windows®
The latest version of Radeon™ GPU Detective is out now! RGD v1.1 introduces support for post-mortem analysis of Vulkan applications on Windows.

How do I become a graphics programmer? – A small guide from the AMD Game Engineering team
It is often difficult to know where to start when taking your first in the world of graphics. This guide is here to help with a discussion of first steps and a list of useful websites.

Radeon™ Memory Visualizer 1.6 introduces improved device configuration info and an expanded Resource details pane
Radeon Memory Visualizer v1.6 adds improved device configuration information, and more parameters on the resource details pane.

AMD RDNA™ Performance Guide
Our one-stop resource for getting great AMD RDNA™ performance on Vulkan® and DirectX®12 APIs!

Game Optimization: Radeon™ Developer Tools on RADV and Steam Deck™ (Vulkanised 2023 – YouTube link)
This talk at Vulkanised 2023 covers how to use the Radeon Developer Tool Suite (RDTS) to optimize games using RADV and Steam Deck.

Announcing Vulkan Memory Allocator 3.0.0 and Direct3D 12 Memory Allocator 2.0.0
Find out more about the latest releases of VMA and D3DMA – our easy-to-integrate memory allocation libraries for Vulkan® and Direct3D® 12.

Radeon™ GPU Profiler v1.10 introduces GPU cache counters, Vulkan® ray tracing, and more
This latest release adds support for GPU cache counters, Vulkan® ray tracing, the latest RDNA™ 2 GPUs, and more.

Memory Management in Vulkan® – YouTube link
This talk by AMD’s Ste Tovey discusses memory management with Vulkan® at Vulkanised 2018.

Optimising a AAA Vulkan® Title on Desktop
This talk by AMD’s Lou Kramer discusses optimising AAA Vulkan® titles on desktop.

World War Z – Using Vulkan® to Tame the Zombie Swarm
A talk by AMD’s Jordan Logan and Saber Interactive’s Nikolai Petrov at Reboot DEVELOPRED in 2019.