Can future APIs inject in older games?

MilesJ

Newcomer
I know that some DX8 games can be played with DX9(ENB injector), my question is would it be technically possible to inject Mantle/DX12 in DX9/10/11 games and still get performance benefits?
 
This is more or less what drivers already do.

All games run on the same hardware anyway. When a fast path is added to the hardware (either for a new API or just because the architecture can do it), the driver is allowed to use these mechanisms instead of the old paths. Assuming it can spot the opportunity, The more alien the APIs are the harder this becomes but it's already being done all the time under the surface.

A simple example would be something like DX8/9 games generating special draw calls for things like pointsprites/particle effects. When a modern driver sees these it will probably just decide to translate them into geometry shader calls. Geometry shaders didn't exist when the game was written so the driver has effectively promoted the calls to DX10+. The output looks the same but the new path makes things run faster.

The model's always the same - games request things through an API. A translation step occurs in the form of drivers and compilers to map these requests onto hardware. This translation step is already capable of mapping old DX, new DX, OpenGL and many other APIs onto hardware using the fastest paths available. Another API may just make batching of work easier (eg mantle) or it may mandate new features to be added (eg tessellation in DX11) or it might open up opportunities to make existing content faster (eg providing versions of exiting methods that sacrifice flexibility for faster execution).
 
Back
Top