Quake renders through a streaming CPU → NPU → GPU pipeline on a single Ryzen AI Max+ 395. The CPU produces work, sixteen XDNA tiles prepare texture pages and rasterize it, and a Radeon shader consumes the pixels as they arrive. Vulkan samples the resulting shared image to compose the game, its interface, and a CRT effect.
Each stage can make progress when its own input is ready. There is no device-wide barrier between the streaming stages, no CPU relay for each completed batch, and no staging copy at the NPU → GPU or compute → Vulkan handoffs. CPU preparation, NPU execution, and GPU consumption overlap within a frame; a bounded frame ring also permits work on successive frames to overlap.
Loom compiles both the NPU workers and the GPU consumer. libamdf supplies native XDNA memory and queue access, and explicit ownership connects that work to the AMDGPU execution path and Vulkan. The result is a program whose processors cooperate across the chip instead of meet