D3D12 doesn't offer an equivalent to glGenerateMipMap(), so for a while my engine was doing a slow mipmapping process on the CPU. Since I'm a complete noob in compute shader and didn't know where to start, it stuck for a while. (The "GenerateMips()" in Microsoft's MiniEngine was hard to extract because of all the layers.) Then someone on the Discord posted this tutorial: https://www.3dgep.com/learning-directx-12-4 But it was still using a layer on top of D3D12 and d3dx12.h, which makes it hard to port to my existing engine. And I didn't go in-depth with D3D12 for a while, so I forgot how some things worked :p Then I found this one: https://slindev.com/d3d12-texture-mipmap-generation/ Which is not as complete, but at least more readable. In the end, I started something by mixing Microsoft's "D3D12HelloTexture" (loads and display a textured triangle) and "D3D12nBodyGravity" (runs a compute shader) samples (https://github.com/microsoft/DirectX-Graphics-Samples/tree/master/Samples/Desktop) and the 2 tutorials above still helped me, and this is where I am so far. The right set of quads is drawn without mipmaps, for reference.