Secrets of Direct3D 12: The Behavior of ClearUnorderedAccessViewUint/Float
- Auto-discovered
Adam Sawicki
Visit resource ↗Description
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 typed buffers across GPU vendors.
It covers dual shader-visible and non-shader-visible UAV descriptors, UNORDERED_ACCESS state and UAV barriers, element-range limits via descriptor bounds or clear rects, and measured Uint versus Float conversion differences on NVIDIA, AMD, and Intel for UINT, UNORM, SINT, and FLOAT formats. It also contrasts DX12 behavior with older DX11 documentation.
It is for advanced Direct3D 12 programmers who clear UAVs from the CPU command list and need cross-vendor correctness.
The article is a free long-form post on asawicki.info with C++ samples and tabulated experiment results.
It is useful when debugging unexpected clear values or choosing Uint versus Float clears for a given DXGI_FORMAT.
Related resources
- A gentle introduction to shaders (Alan Zucconi)
Alan Zucconi's A gentle introduction to shaders in Unity3D (June 2015) is part one of his Gentle Introduction series on alanzucconi.com, aimed at Unity developers new to GPU programs. It connects vertices, materials, and shaders in Unity's pipeline, covering ShaderLab Properties and SubShader layout, inspector uniforms, Queue tags, ZTest, and the surface-versus-vertex/fragment split for lighting versus effects. Little prior shader knowledge is assumed; fixed-function shaders are skipped as obsolete.
100% match · <blog><access><also><article><free><gpu><long><programmers> - Blending Meshes into Terrain (Inresin)
Louis Waloschek's April 2020 Inresin tutorial blends static meshes into Unity Terrain using baked depth masks and Amplify surface shaders.
100% match · <code><advanced><blog><access><article><covers><free><given> - 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><blog><access><also><article><documentation><free><older> - Coordinate Systems (Learn OpenGL)
"Coordinate Systems" is a chapter in Joey de Vries' LearnOpenGL Getting Started series at learnopengl.com.
100% match · <advanced><blog><access><article><clear><free><given><programmers> - Drawing Thousands of Meshes with DrawMeshInstanced / Indirect (Toqoz)
Toqoz's November 2019 toqoz.fyi post walks through drawing very large mesh counts in Unity with Graphics.DrawMeshInstanced and Graphics.DrawMeshInstancedIndirect, with C# samples,
100% match · <code><advanced><blog><access><also><article><bounds><covers> - Linden Reid
Reid works at Uncommon Games after Blizzard and EA; posts are not employer-sponsored.
100% match · <blog><access><across><article><free><gpu><list><post> - Partial Derivatives (ddx, ddy, fwidth) (Ronja)
Ronja’s tutorial 046 demystifies HLSL partial derivatives: ddx and ddy measure how a value changes across 2×2 pixel quads, and fwidth combines them for screen-space-aware filtering. Demonstrates greyscale debug views, then builds an anti-aliased step (aaStep) that widens cutoffs by one pixel’s gradient - reducing jaggy fire, toon bands, and procedural edges versus raw step(). Includes a scrolling noise fire shader comparing step, aaStep, and smoothstep.
100% match · <blog><access><article><free><gpu><programmers><shader><useful> - Physically Based Rendering
Alex Tardif’s Physically Based Rendering page is a practitioner-oriented explainer of energy-conserving shading terms - diffuse, specular, Fresnel, and microfacet models - for real
100% match · <blog><article><cross><documentation><form><free><long><post> - Cyanilux GitHub - URP Blit Renderer Feature
URP_BlitRenderFeature demonstrates a ScriptableRendererFeature that performs full-screen blits in Universal RP - template for custom post effects, copying buffers, or chaining pass
100% match · <access><free><info><older><post><samples><shader><useful> - Anatomy of a Texture
Deep dive into modern GPU texture memory layout through the lens of cross-platform texture conversion.
100% match · <code><advanced><blog><conversion><covers><cross><deep><dive> - meshoptimizer - v1.2
meshoptimizer - v1.2 is an open-source library / codebase hosted on GitHub. meshoptimizer v1.2 release notes introducing experimental MikkTSpace-based tangent frame generation,…
100% match · <code><advanced><also><amd><covers><helpers><intel><programmers> - Writing GPU shaders in plain Rust (Firestar99 - Sebastian Sydow at RustWeek)
Writing GPU shaders in plain Rust (Firestar99 - Sebastian Sydow at RustWeek) is a recorded talk by Sebastian Sydow, presented at RustNL. RustWeek 2026 talk by Sebastian Sydow…
100% match · <code><advanced><covers><cpu><free><gpu><limits><post> - New AMD Radeon Developer Tool Suite update brings shader source code, Extended PIX Markers, and command-line capture
New AMD Radeon Developer Tool Suite update brings shader source code, Extended PIX Markers, and command-line capture is a technical blog article by Chris Hesik. AMD GPUOpen…
100% match · <blog><amd><article><command><debugging><free><post><programmers> - Why does ASTC use ISE when almost nothing else does?
Why does ASTC use ISE when almost nothing else does? is a technical blog article by Fabian Giesen. Technical blog explaining ASTC integer sequence encoding (trits and quints)…
100% match · <code><advanced><blog><article><format><free><post><programmers> - Implicit Surface rendering for CAD
Implicit Surface rendering for CAD is a technical blog article by Francis Le Roy. Long-form blog on interactively rendering arbitrary implicit surfaces in a CAD prototype…
100% match · <code><advanced><blog><article><bounds><cpu><form><free> - Partial Graphics Programs
Partial Graphics Programs is a technical blog article by Nada Ouf. DirectX Developer Blog detailing Partial Graphics Programs in Agility SDK 1.721-preview: split pipeline…
100% match · <code><advanced><blog><article><covers><free><post><programmers> - Floor and Ceil Versus Denormals on CPU and GPU
Floor and Ceil Versus Denormals on CPU and GPU is a technical blog article by Adam Sawicki. Blog examining how floor and ceil behave on subnormal floats when platforms preserve…
100% match · <code><advanced><blog><sawicki><across><adam><amd><article> - Inside 007 First Light - A Deep Dive Into The Evolved Glacier Engine
Inside 007 First Light - A Deep Dive Into The Evolved Glacier Engine is a free YouTube video on the Digital Foundry channel. Digital Foundry sponsored interview with IO…
100% match · <code><access><covers><cpu><deep><dive><free><gpu> - Triangle Tessellation with Clamped Parallelograms
Triangle Tessellation with Clamped Parallelograms is a technical blog article by John Hable. John Hable derives a compute-friendly triangle tessellation algorithm using clamped…
100% match · <code><advanced><blog><article><covers><dx11><fill><free> - niagara: Opacity micromaps
niagara: Opacity micromaps is a free YouTube video on the Arseny Kapoulkine channel, a session in Arseny Kapoulkine's Niagara live coding series. Niagara series livestream by…
100% match · <code><advanced><access><buffers><free><programmers><results><shader>