With the rise of lower-level graphics APIs such as DirectX 12, Mantle and Vulkan, I'm wondering how these interact (if at all) with a Heterogeneous System Architecture (HSA)?
As I understand it, supporting HSA has required some developer involvement, but I'm curious whether any of the low-level graphics APIs now handle this themselves, or if the burden remains on the developer to fully take advantage it?
HSA is particularly interesting for features like simplified sharing of data between system memory and video memory, particularly when these are both sharing the same physical RAM.
Since this question is likely specific to the current state of affairs I'm fine with that kind of overview (though information about future roadmaps would be nice), and I'll accept an answer that only covers a single graphics API (since I doubt many, if any, people are familiar with all three plus HSA). Also if I've completely misunderstood how it works, then feel free to point that out too; I'm not super familiar with either technology, but would like to know how they currently interact all the same.