Microsoft has released a new update for its DirectX 12 API that introduces two exciting new features: GPU Upload Heaps and Non-Normalized sampling. These features have been added to the latest Agility SDK 1.710.0 preview, which is currently only available to developers since its official introduction on Friday, March 31st.
The new GPU Upload Heaps feature allows the CPU to gain access to the GPU’s VRAM, enabling both the CPU and GPU to directly access memory simultaneously. This feature removes the need to copy large amounts of data from the CPU to the GPU, which can significantly improve performance in certain scenarios. It’s especially beneficial for memory-intensive applications such as computer games, where visual sophistication and complexity are continually increasing.
By eliminating the need to keep duplicates of the game scenario data in both system memory and graphics card VRAM, this shared pool of memory between the CPU and GPU results in a reduced data stream between the two locations. The feature takes advantage of the VRAM resizable base address register (BAR) introduced by most modern GPUs, which allows Windows to manage the GPU’s VRAM in WDDM 2.0 or later.
Non-Normalized Sampling, the other feature introduced with the new update, provides developers with more control over texture sampling by creating a sampler that interprets sampling coordinates as absolute. This feature enables developers to sample textures using the exact texel location within the texture, instead of the normalized texture coordinates.
The new features are supported by the latest graphics drivers issued by NVIDIA, Intel, and AMD. As modern graphics cards tend to feature very fast on-board memory standards compared to main system memory, this GPU optimization could offer significant benefits to the CPU in exclusive access to a pool of ultra-quick VRAM, providing an early preview of a time when DDR6 becomes the daily standard in main system memory.