RenderTexture is black, nothing rendered

This is my complete component on my ‘capture camera’ set to depth -2. My Main Camera is set to depth -1 No errors, but my RenderTexture ‘top’ is black, nothing rendered.

using UnityEngine;
[ExecuteInEditMode]
[RequireComponent(typeof(Camera))]
public class PhysicalLogical_Blit : MonoBehaviour
 {
  public RenderTexture top;
  RenderTexture rt;
  RenderTextureDescriptor mainrtdesc;

Camera myCam;
void Start()
{
    myCam = GetComponent<Camera>();
 }


void OnPreRender()
{
     mainrtdesc = new RenderTextureDescriptor(6400,720);
    rt = RenderTexture.GetTemporary(mainrtdesc);
    myCam.targetTexture = rt; // This makes the camera render to the rt RenderTexture
}

void OnPostRender()
{
    myCam.targetTexture = null;

    Graphics.Blit(rt, top);
    Graphics.Blit(rt,null as RenderTexture);

    RenderTexture.ReleaseTemporary(rt);
 }
}

Ok this seems to be working though I get an occasional flicker. Had to add a OnRenderImage and also play with the Offset values in my RenderTexture material.

Would appreciate ANY feedback or tweaks that might improve this! Thanks again!

using UnityEngine;
[ExecuteInEditMode]
[RequireComponent(typeof(Camera))]
public class PhysicalLogical_Blit : MonoBehaviour
{
    public RenderTexture top;
    public RenderTexture bottom;
    public RenderTexture intermediateRT;

    RenderTexture rt;
    RenderTextureDescriptor mainrtdesc;

    Camera myCam;
    void Start()
    {
        myCam = GetComponent<Camera>();
    }

   void OnPreRender()
    {
         mainrtdesc = new RenderTextureDescriptor(3840,720, RenderTextureFormat.ARGB32);
        rt = RenderTexture.GetTemporary(mainrtdesc);
        myCam.targetTexture = rt; // This makes the camera render to the rt RenderTexture
    }

private void OnRenderImage(RenderTexture source, RenderTexture destination)
    {
        Graphics.Blit(source, rt);
    }

    void OnPostRender()
    {       
        myCam.targetTexture = null;
       Graphics.Blit(rt, top);       
        Graphics.Blit(rt,null as RenderTexture);
       RenderTexture.ReleaseTemporary(rt);
    }
}