Is it safe to call SetViewport from all other places? I recall D3D plain crashing when these values are used as a viewport, so it would probably be better to have these checks everywhere SetViewport is called.