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)); }
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)); }
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)); }
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"); }
public ReplayCreateException(ReplayCreateStatus status, string msg) : base(msg) { Status = status; }
public ReplayCreateException(ReplayCreateStatus status) : base(String.Format("Replay creation failure: {0}", status.Str())) { Status = status; }
public ReplayCreateException(ReplayCreateStatus status, string msg) : base(msg) { Status = status; }
public ReplayCreateException(ReplayCreateStatus status) : base(String.Format("Replay creation failure: {0}", status.Str())) { Status = status; }