How to Use Vulkan Debug Printf
- Auto-discovered
Tony Barbour
Visit resource ↗Description
A LunarG blog guide by Tony Barbour (updated February 2026) on using Vulkan Debug Printf to log values from shaders during development.
It shows GL_EXT_debug_printf in GLSL, printf in HLSL or Slang, and NonSemantic.DebugPrintf in SPIR-V, then viewing output in RenderDoc or Validation Layers via environment presets and vkconfig. Format-string rules, vector specifiers, descriptor-set and memory limits, and minimum SDK, API, and RenderDoc versions are listed.
Aimed at intermediate Vulkan shader authors who need per-invocation inspection beyond pixel picking. Basic glslang, dxc, or slangc use is assumed.
The free HTML article includes copyable snippets and configurator notes, paired with Willems samples and LunarG presets.
It helps debug divergent shader values without standing up a full GPU debugger workflow for every question.
Related resources
- Custom Renderer Features (Cyanilux)
Long-form Cyanilux guide to URP ScriptableRendererFeature and ScriptableRenderPass code: example effects, RTHandle setup, blit paths, and Unity 6 Render Graph notes.
100% match · <code><shaders><blog><free><full><notes><shader><snippets> - Hologram Shader Breakdown (Cyanilux)
A Shader Graph breakdown for Unity URP holograms: world-space scanlines from sine or frac, Fresnel rim, HDR additive tinting, plus optional UV distortion and glitch for quads.
100% match · <shaders><intermediate><blog><free><full><pixel><set><shader> - Local UVs for Sprites in Sprite Sheet/Atlas (Cyanilux)
Unity shader techniques for per-sprite 0-1 UVs when sprites live in sheets or atlases: C# UV remap with Shader Graph/HLSL, plus URP object-space and renderer-bounds alternatives.
100% match · <code><shaders><intermediate><blog><free><full><set><shader> - Blur Renderer Feature Example/Template for URP / Unity 2021.2 (Alexander Ameye)
Custom Render Passes in Unity is Alexander Ameye's July 2021 ameye.dev note on URP ScriptableRendererFeature and ScriptableRenderPass boilerplate, heavily commented where Unity SRP documentation still feels sparse. The sample applies a two-pass box blur: blit camera color to a temporary buffer, blur vertically then horizontally, with adjustable strength and downsampling.
100% match · <code><shaders><intermediate><blog><api><article><basic><free> - BruteForceGame
Matthieu Houllier's Brute Force studio blog documenting Crumble, a Unity physics platformer released on Steam in late 2020. Devlogs walk through shipped shaders: shell grass ben
100% match · <shaders><intermediate><blog><article><basic><free><full><includes> - Colored Outline Shader (Linden Reid)
Colored Outline Shader in Unity is Lindsey Reid's February 2018 lindenreidblog.com tutorial, third in her outline posts.
100% match · <shaders><intermediate><blog><article><basic><free><pixel><shader> - Cracked Ice Shader (using Parallax effect) (Daniel Pokladek)
Daniel Pokladek's January 2021 blog post builds a Unity cracked-ice material with parallax crack planes under a tinted surface, extending Binary Impact's Shader Graph ice tutorial toward Dragon Age: Inquisition-style stacked cracks, not one repeating layer. Shader Graph work uses three parallax slices, surface offset, normal UV distortion, grayscale albedo tinting, and RGB-packed crack maps.
100% match · <shaders><intermediate><blog><article><free><layers><shader><shows> - Creating a Volumetric Ray Marcher
The post builds a march loop along the camera ray inside a mesh volume, sampling tiled 2D slice atlases as pseudo-3D density, accumulating opacity, and clipping to a bounding box while supporting o…
100% match · <shaders><intermediate><blog><article><helps><notes><paired><samples> - NoGraphicsAPI
C++20 graphics library implementing bindless GPU-pointer and descriptor-heap ideas from the No Graphics API blog and talk.
100% match · <code><api><blog><descriptor><gpu><memory><shaders><slang> - A silly diffuse shading model
A silly diffuse shading model is a December 2025 post on the lisyarus graphics blog about a one-liner alternative to classic Lambertian diffuse for tech demos and early…
100% match · <shaders><intermediate><blog><article><basic><free><full><html> - An Experimental Approach to printf in HLSL
An Experimental Approach to printf in HLSL is a December 2025 technical post by Chris Bieneman describing a holiday prototype for GPU-side printf in HLSL. It covers GPU string…
100% match · <code><shaders><blog><article><debug><dxc><free><gpu> - Early-bird deadline for the Shading Languages Symposium 2026
Early-bird deadline for the Shading Languages Symposium 2026 points to the Khronos Group page for the in-person symposium held 12-13 February 2026 in San Diego, right after…
100% match · <code><shaders><intermediate><february><notes><shader><slang><spir> - Painting Holes in Terrain - Terrain Shaders - Episode 10
[video] Painting Holes in Terrain - Terrain Shaders - Episode 10 is a Ben Cloward tutorial on enabling terrain hole painting in custom Unreal landscape materials and Unity Shader…
100% match · <shaders><intermediate><free><need><notes><pixel><shader><shows> - Realtime Raytracing in Bevy 0.18 (Solari)
Realtime Raytracing in Bevy 0.18 (Solari) is a December 2025 development post by jms55 on quality and performance work for Solari, Bevy's dynamic ray-traced lighting path planned…
100% match · <code><shaders><blog><article><free><html><intermediate><notes> - No Graphics API
No Graphics API is a December 2025 long-form essay by Sebastian Aaltonen arguing that modern bindless GPUs no longer need the retained-mode complexity of DirectX 12, Vulkan, and…
100% match · <code><blog><api><free><gpu><html><memory><need> - Secrets of Direct3D 12: The Behavior of ClearUnorderedAccessViewUint/Float
Secrets of Direct3D 12: The Behavior of ClearUnorderedAccessViewUint/Float is a December 2025 deep dive by Adam Sawicki on how ID3D12GraphicsCommandList clear-UAV helpers fill…
100% match · <code><blog><article><descriptor><format><free><gpu><limits> - Around The World, Part 28: Scaling up
This is part 28 of Thomas ten Cate's Around The World development blog about an early-stage sea exploration game in Godot.
100% match · <code><intermediate><blog><article><free><full><helps><via> - Coding Adventure: Simulating Smoke
This YouTube Coding Adventure video by Sebastian Lague builds a grid-based smoke simulation from first principles as one episode in the Coding Adventures series. It covers…
100% match · <code><intermediate><aimed><basic><debug><free><full><helps> - Better sRGB to greyscale conversion
Better sRGB to greyscale conversion is an October 2025 technical blog post on 30fps.net about converting gamma-encoded sRGB to greyscale without misusing Rec.
100% match · <shaders><intermediate><blog><article><free><helps><need><notes> - WebGPU and the price of compiling WGSL
WebGPU and the price of compiling WGSL is a blog post by Hugo Daniel introducing a WebGPU diagnostics and compilation-benchmark tool after earlier posts on WGSL limits. It…
100% match · <code><shaders><tool><intermediate><blog><basic><free><gpu>