Ejemplo n.º 1
0
        public static RemoteRenderer CreateRemoteReplayConnection(string host)
        {
            IntPtr rendPtr = IntPtr.Zero;

            IntPtr host_mem = CustomMarshal.MakeUTF8String(host);

            ReplayCreateStatus ret = RENDERDOC_CreateRemoteReplayConnection(host_mem, ref rendPtr);

            CustomMarshal.Free(host_mem);

            if (rendPtr == IntPtr.Zero || ret != ReplayCreateStatus.Success)
            {
                var e = new System.ApplicationException("Failed to connect to remote replay host");
                e.Data.Add("status", ret);
                throw e;
            }

            return(new RemoteRenderer(rendPtr));
        }
Ejemplo n.º 2
0
        public static ReplayRenderer CreateReplayRenderer(string logfile, ref float progress)
        {
            IntPtr rendPtr = IntPtr.Zero;

            IntPtr logfile_mem = CustomMarshal.MakeUTF8String(logfile);

            ReplayCreateStatus ret = RENDERDOC_CreateReplayRenderer(logfile_mem, ref progress, ref rendPtr);

            CustomMarshal.Free(logfile_mem);

            if (rendPtr == IntPtr.Zero || ret != ReplayCreateStatus.Success)
            {
                var e = new System.ApplicationException("Failed to load log for local replay");
                e.Data.Add("status", ret);
                throw e;
            }

            return(new ReplayRenderer(rendPtr));
        }
Ejemplo n.º 3
0
        public ReplayRenderer CreateProxyRenderer(int proxyid, string logfile, ref float progress)
        {
            IntPtr rendPtr = IntPtr.Zero;

            IntPtr logfile_mem = CustomMarshal.MakeUTF8String(logfile);

            ReplayCreateStatus ret = RemoteRenderer_CreateProxyRenderer(m_Real, (UInt32)proxyid, logfile_mem, ref progress, ref rendPtr);

            CustomMarshal.Free(logfile_mem);

            if (rendPtr == IntPtr.Zero || ret != ReplayCreateStatus.Success)
            {
                var e = new System.ApplicationException("Failed to set up local proxy replay with remote connection");
                e.Data.Add("status", ret);
                throw e;
            }

            return(new ReplayRenderer(rendPtr));
        }
Ejemplo n.º 4
0
        public static string Str(this ReplayCreateStatus status)
        {
            switch (status)
            {
            case ReplayCreateStatus.Success: return("Success");

            case ReplayCreateStatus.UnknownError: return("Unknown Error");

            case ReplayCreateStatus.InternalError: return("Internal Error");

            case ReplayCreateStatus.FileNotFound: return("File not found");

            case ReplayCreateStatus.InjectionFailed: return("RenderDoc injection failed");

            case ReplayCreateStatus.IncompatibleProcess: return("Process is incompatible (likely 64-bit/32-bit issue)");

            case ReplayCreateStatus.NetworkIOFailed: return("Network I/O operation failed");

            case ReplayCreateStatus.NetworkRemoteBusy: return("Remote side of network connection is busy");

            case ReplayCreateStatus.NetworkVersionMismatch: return("Version mismatch between network clients");

            case ReplayCreateStatus.FileIOFailed: return("File I/O operation failed");

            case ReplayCreateStatus.FileIncompatibleVersion: return("File is of an incompatible version");

            case ReplayCreateStatus.FileCorrupted: return("File is corrupted or unrecognisable format");

            case ReplayCreateStatus.ImageUnsupported: return("The contents or format of the image is not supported");

            case ReplayCreateStatus.APIUnsupported: return("API used is not supported");

            case ReplayCreateStatus.APIInitFailed: return("Replay API failed to initialise");

            case ReplayCreateStatus.APIIncompatibleVersion: return("API-specific data used is of an incompatible version");

            case ReplayCreateStatus.APIHardwareUnsupported: return("Your hardware or software configuration doesn't meet this API's minimum requirements");
            }

            return("Unknown Error Code");
        }
Ejemplo n.º 5
0
 public ReplayCreateException(ReplayCreateStatus status, string msg)
     : base(msg)
 {
     Status = status;
 }
Ejemplo n.º 6
0
 public ReplayCreateException(ReplayCreateStatus status)
     : base(String.Format("Replay creation failure: {0}", status.Str()))
 {
     Status = status;
 }
Ejemplo n.º 7
0
 public ReplayCreateException(ReplayCreateStatus status, string msg)
     : base(msg)
 {
     Status = status;
 }
Ejemplo n.º 8
0
 public ReplayCreateException(ReplayCreateStatus status)
     : base(String.Format("Replay creation failure: {0}", status.Str()))
 {
     Status = status;
 }