Ok got it working in c# Opentk in case anyone else needs it
int size = Marshal.SizeOf(g_fbdata[0]) * g_fbdata.Length;
pnt = Marshal.AllocHGlobal(size);
Marshal.Copy(g_fbdata, 0, pnt, g_fbdata.Length);
Rpr.Check((int)Rpr.FrameBufferGetInfo(g_frame_buffer_2,Rpr.FrameBuffer.DATA,(glControl.Width * glControl.Height) * sizeof(float)*4,pnt, out out_size));
float[] managedArray2 = new float[g_fbdata.Length];
Marshal.Copy(pnt, managedArray2, 0, g_fbdata.Length);
GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, glControl.Width, glControl.Height,PixelFormat.Rgba,PixelType.Float, managedArray2);