This patch allows the realtime compositor to be limited to a specific compositing region that is a subset of the full render region. In the context of the viewport compositor, when the viewport is in camera view and has a completely opaque passepartout, the compositing region will be limited to the visible camera region. On the user-level, this gives the user the ability to make the result of the compositor invariant of the aspect ratio, shift, and zoom of the viewport, making the result in the viewport identical to the final render compositor assuming size relative operations. It should be noted that compositing region is the *visible* camera region, that is, the result of the intersection of the camera region and the render region. So the user should be careful not to shift or zoom the view such that the camera border extends outside of the viewport to have the aforementioned benefits. While we could implement logic to fill the areas outside of the render region with zeros in some cases, there are many other ambiguous cases where such a solution wouldn't work, including the problematic case where the user zooms in very close, making the camera region much bigger than that of the render region. Differential Revision: https://developer.blender.org/D16899 Reviewed By: Clement Foucault