Do not let Direct3D override Software rendering

This could be done more compact with a nested ?: , but I think this makes a lot clearer what's going on