• Use texture layers for render target allocations, remove render phases.

    Instead of splitting the scene into multiple phases, use texture
    layers to allocate slices as needed for each pass of the render
    frame. These are pooled and only allocated when the frame render
    target configuration changes.
    
    Previously, the code asserted if it was unable to fit the render
    tasks into a single render target for a single tile. Now, this
    (pathological) case is handled correctly.
    
    This makes the upcoming dynamic primitive cache support a lot
    simpler to add. It also means that we don't use a ping-pong
    allocation style, which typically performs badly on mobile / tiled
    rendering architectures.
    gw3583 committed Oct 26, 2016