3 ms·
Today we access GPUs through standard APIs like DirectX, CUDA, OpenGL etc. In DOS there wasn’t these standards, and you had to write code for specific hardware
by bitmasher9 2y ago
Today we access GPUs through standard APIs like DirectX, CUDA, OpenGL etc. In DOS there wasn’t these standards, and you had to write code for specific hardware.
- amelius 2y agoTrue, but our OS has no idea what processes run on which GPU, or how much GPU memory they use. Everything on the GPU happens behind the back of the OS.
- TazeTSchnitzel 2y agoThat's not true, the kernel driver knows what page mappings belong to particular processes, including GPU page mappings. Moreover, you have no choice but to talk to that kernel driver; you can't go behind its back and talk truly directly to the GPU, even if you bypass the userspace GPU driver, because this would allow circumventing memory protection. It is true, however, that modern GPU kernel drivers are relatively thin.
- DaoVeles 2y agoThis is why DOS games that supported 3DFX just talked directly to the GPU. They documented all the registers mapping for direct access. Didn't even need to install drivers. DOS was in its twilight years at that point, Nvidia/ATI didn't bother with DOS support so they just kept them behind OpenGL/DirectX.