Found some very pertinent info relating to context switch and why it may incur a performance hit (as mentioned by @Zlatan awhile ago, some of the members here attack him personally which is very shameful). This is directly from NV:
https://developer.nvidia.com/sites/...works/vr/GameWorks_VR_2015_Final_handouts.pdf
p31
Basically the pipeline is in-order, serial. Here they are referring to Async Shaders to perform timewarp:
So i think I understand when gamedevs describe Kepler/Maxwell as being in-order, and GCN out-of-order (stateless, no context switch necessary).
This can cause issues if developers do not optimize or design their engine around the limitations of NV's uarch when they use Async Shaders on NV GPUs. I believe this is what we are seeing with the performance drop on DX12 in Ashes.
As for how this impacts their VR latency, the timewarp uses async shaders to quickly render the last frame in response to user movement. That frame gets priority context, else it lags. The problem for NV's uarch is it isn't true timewarp/priority because it still has to wait for traffic in front to be cleared (finish rendering the last frame first!), so NV suggest to developers to break up their draw calls into many smaller batches to avoid long delays which can cause stutter/perf drops. If devs/engines do this, it can reduce the latency when async shaders are used, but if they do not, we get problems.
So essentially, it's easier to code for async shaders in dx12, and coding for nvidia hardware requires extra work? However, extra work provides benefits to both Nvidia and AMD?
So in the end, once they fully optimize their game, both vendors will get the benefits