Originally Posted by tpi2007
How do you know what GPU architectures are going to look like in, say, 4 years? You're assuming that current GCN and Pascal (which is a revised Maxwell) will just be the backwards compatible basis for every single GPU from now on. That would seriously hamper the GPU makers' freedom to come up with new designs.
And who is "they"? The game developers usually don't care about games after the first year, why would they have to continuously go back to adding patches to old games? In a few years developers may not even be around, but that was ok because it was GPU makers that ensured a big part of the compatibility with newer hardware. Or you mean GPU makers? But if that is what you mean that doesn't answer my question at all.
I'm calling into question the very basis of DX 12 and Vulkan. Are they too close to the metal or are they abstract enough to be able to handle the future? Why is nobody talking about this? Are we about to trade short term performance gains for a hell of a future where games require patches but the developers aren't willing (if they are still around) and the GPU makers will be throwing blame around because they don't want to have the expense of fine tuning again? And if they do, what will the performance penalty be for adding driver overhead back into the equation?
These clean slate, close to the metal APIs sound great at first, but at what cost do they come? Versus, say, improving the CPU multi-threading capabilities of the current APIs. Nobody said that was impossible to do and there is no reason why it should be.
Yes i know what you mean. But let me explain some things
I am mostly a Unity developer the last 2 years but the same applies to other engines too. After having some fun with the latest beta of Unity with dx12 i can:
DX12 and Vulcan (i suppose) are not Low level APIs. They are not even close. They are just lower level than Dx11. Right now we have to change a lot about our pipeline or our logic with the new clean state APIs. But they are still there drivers and features that we need to support. That's why there a specification requirement with some basic features as minimum. As we move on the next gen gpus will going to support these features. Even if something bad happens and one new gpu is not working at all then IHVs should be able to patch it through the drivers.