Shawn Hargreaves:any change invalidates everything.
I thought that would be the case. It just makes managing things a little more difficult.
Imagine a situation where you are drawing a reflective and refractive surface mid frame (like water). This involves switching the render target and drawing a couple of times.
The only way I can think of recovering from this situation on the 360 would be:
Resolving the backbuffer/current render target to a texture before switching render targets.
Render to new render targets (may even have their own depthstencil due to the size >= rt limitation).
Resolve the new render targets.
Set target and depth stencil back to original.
Clear target and depth stencil. (Is this really needed?)
Render the backbuffer on a quad to restore color data.
Render scene again up to this item with color writes disabled to restore depth stencil data.
The last step can be avoided by sorting the draw order so that we dont care about the depth stencil any more (i.e last), it ust makes it rather inflexible.