Graphics APIs like DirectX 12, Vulkan, and Metal have become unnecessarily complex over the past decade, designed for GPU architectures that are now 13 years old. Modern GPUs have converged on unified cache hierarchies, 64-bit pointers, and bindless texturing, making many API abstractions obsolete. The author proposes a radically simplified graphics API design using direct GPU memory allocation (similar to CUDA malloc), 64-bit pointers instead of buffer descriptors, a single root pointer for shader inputs, and elimination of pipeline state objects and resource barriers. This approach would reduce PSO permutation explosion, eliminate texture layout transitions, simplify shader languages with native pointer support, and align API design with modern GPU hardware capabilities while maintaining performance.
Sort: