private void SetEventID(ILogViewerForm exclude, UInt32 eventID, bool force) { m_EventID = eventID; m_Renderer.Invoke((ReplayRenderer r) => { r.SetFrameEvent(m_EventID, force); m_D3D11PipelineState = r.GetD3D11PipelineState(); m_GLPipelineState = r.GetGLPipelineState(); m_VulkanPipelineState = r.GetVulkanPipelineState(); m_PipelineState.SetStates(m_APIProperties, m_D3D11PipelineState, m_GLPipelineState, m_VulkanPipelineState); }); foreach (var logviewer in m_LogViewers) { if (logviewer == exclude) { continue; } Control c = (Control)logviewer; if (c.InvokeRequired) { c.Invoke(new Action(() => logviewer.OnEventSelected(eventID))); } else { logviewer.OnEventSelected(eventID); } } }
public void SetEventID(ILogViewerForm exclude, UInt32 frameID, UInt32 eventID) { m_FrameID = frameID; m_EventID = eventID; m_DeferredEvent = 0; m_Renderer.Invoke((ReplayRenderer r) => { r.SetContextFilter(ResourceId.Null, 0, 0); }); m_Renderer.Invoke((ReplayRenderer r) => { r.SetFrameEvent(m_FrameID, m_EventID); m_D3D11PipelineState = r.GetD3D11PipelineState(); m_GLPipelineState = r.GetGLPipelineState(); m_PipelineState.SetStates(m_APIProperties, m_D3D11PipelineState, m_GLPipelineState); }); foreach (var logviewer in m_LogViewers) { if (logviewer == exclude) { continue; } Control c = (Control)logviewer; if (c.InvokeRequired) { c.BeginInvoke(new Action(() => logviewer.OnEventSelected(frameID, eventID))); } else { logviewer.OnEventSelected(frameID, eventID); } } }
// setting a context filter allows replaying of deferred events. You can set the deferred // events to replay in a context, after replaying up to a given event on the main thread public void SetContextFilter(ILogViewerForm exclude, UInt32 eventID, ResourceId ctx, UInt32 firstDeferred, UInt32 lastDeferred) { m_EventID = eventID; m_DeferredEvent = lastDeferred; m_Renderer.Invoke((ReplayRenderer r) => { r.SetContextFilter(ctx, firstDeferred, lastDeferred); }); m_Renderer.Invoke((ReplayRenderer r) => { r.SetFrameEvent(m_EventID, true); m_D3D11PipelineState = r.GetD3D11PipelineState(); m_GLPipelineState = r.GetGLPipelineState(); m_VulkanPipelineState = r.GetVulkanPipelineState(); m_PipelineState.SetStates(m_APIProperties, m_D3D11PipelineState, m_GLPipelineState, m_VulkanPipelineState); }); foreach (var logviewer in m_LogViewers) { if (logviewer == exclude) { continue; } Control c = (Control)logviewer; if (c.InvokeRequired) { c.BeginInvoke(new Action(() => logviewer.OnEventSelected(eventID))); } else { logviewer.OnEventSelected(eventID); } } }
public void AddLogViewer(ILogViewerForm f) { m_LogViewers.Add(f); if (LogLoaded) { f.OnLogfileLoaded(); f.OnEventSelected(CurFrame, CurEvent); } }
private void SetToD3D11() { m_GL = null; if (m_D3D11 == null) { Controls.Clear(); m_D3D11 = new D3D11PipelineStateViewer(m_Core, this); m_D3D11.Dock = DockStyle.Fill; Controls.Add(m_D3D11); } m_Current = m_D3D11; }
private void SetToGL() { m_D3D11 = null; m_Vulkan = null; if (m_GL == null) { Controls.Clear(); m_GL = new GLPipelineStateViewer(m_Core, this); m_GL.Dock = DockStyle.Fill; Controls.Add(m_GL); } m_Current = m_GL; m_Core.CurPipelineState.DefaultType = APIPipelineStateType.OpenGL; }
private void SetToVulkan() { m_GL = null; m_D3D11 = null; if (m_Vulkan == null) { Controls.Clear(); m_Vulkan = new VulkanPipelineStateViewer(m_Core, this); m_Vulkan.Dock = DockStyle.Fill; Controls.Add(m_Vulkan); } m_Current = m_Vulkan; m_Core.CurPipelineState.DefaultType = GraphicsAPI.Vulkan; }
public void SetEventID(ILogViewerForm exclude, UInt32 eventID) { SetEventID(new ILogViewerForm[] { exclude }, eventID, false); }
public void SetEventID(ILogViewerForm exclude, UInt32 frameID, UInt32 eventID) { m_FrameID = frameID; m_EventID = eventID; m_DeferredEvent = 0; m_Renderer.Invoke((ReplayRenderer r) => { r.SetContextFilter(ResourceId.Null, 0, 0); }); m_Renderer.Invoke((ReplayRenderer r) => { r.SetFrameEvent(m_FrameID, m_EventID); m_D3D11PipelineState = r.GetD3D11PipelineState(); m_GLPipelineState = r.GetGLPipelineState(); m_PipelineState.SetStates(m_APIProperties, m_D3D11PipelineState, m_GLPipelineState); }); foreach (var logviewer in m_LogViewers) { if(logviewer == exclude) continue; Control c = (Control)logviewer; if (c.InvokeRequired) c.BeginInvoke(new Action(() => logviewer.OnEventSelected(frameID, eventID))); else logviewer.OnEventSelected(frameID, eventID); } }
public void RemoveLogViewer(ILogViewerForm f) { m_LogViewers.Remove(f); }
public void SetEventID(ILogViewerForm exclude, UInt32 frameID, UInt32 eventID) { SetEventID(exclude, frameID, eventID, false); }
// setting a context filter allows replaying of deferred events. You can set the deferred // events to replay in a context, after replaying up to a given event on the main thread public void SetContextFilter(ILogViewerForm exclude, UInt32 eventID, ResourceId ctx, UInt32 firstDeferred, UInt32 lastDeferred) { m_EventID = eventID; m_DeferredEvent = lastDeferred; m_Renderer.Invoke((ReplayRenderer r) => { r.SetContextFilter(ctx, firstDeferred, lastDeferred); }); m_Renderer.Invoke((ReplayRenderer r) => { r.SetFrameEvent(m_EventID, true); m_D3D11PipelineState = r.GetD3D11PipelineState(); m_GLPipelineState = r.GetGLPipelineState(); m_VulkanPipelineState = r.GetVulkanPipelineState(); m_PipelineState.SetStates(m_APIProperties, m_D3D11PipelineState, m_GLPipelineState, m_VulkanPipelineState); }); foreach (var logviewer in m_LogViewers) { if (logviewer == exclude) continue; Control c = (Control)logviewer; if (c.InvokeRequired) c.BeginInvoke(new Action(() => logviewer.OnEventSelected(eventID))); else logviewer.OnEventSelected(eventID); } }
private void SetToVulkan() { m_GL = null; m_D3D12 = null; m_D3D11 = null; if (m_Vulkan == null) { Controls.Clear(); m_Vulkan = new VulkanPipelineStateViewer(m_Core, this); m_Vulkan.Dock = DockStyle.Fill; Controls.Add(m_Vulkan); } m_Current = m_Vulkan; m_Core.CurPipelineState.DefaultType = GraphicsAPI.Vulkan; }
private void SetEventID(ILogViewerForm exclude, UInt32 eventID, bool force) { m_EventID = eventID; m_Renderer.Invoke((ReplayRenderer r) => { r.SetFrameEvent(m_EventID, force); m_D3D11PipelineState = r.GetD3D11PipelineState(); m_D3D12PipelineState = r.GetD3D12PipelineState(); m_GLPipelineState = r.GetGLPipelineState(); m_VulkanPipelineState = r.GetVulkanPipelineState(); m_PipelineState.SetStates(m_APIProperties, m_D3D11PipelineState, m_D3D12PipelineState, m_GLPipelineState, m_VulkanPipelineState); }); foreach (var logviewer in m_LogViewers) { if(logviewer == exclude) continue; Control c = (Control)logviewer; if (c.InvokeRequired) c.Invoke(new Action(() => logviewer.OnEventSelected(eventID))); else logviewer.OnEventSelected(eventID); } }
private void SetToGL() { m_D3D11 = null; if (m_GL == null) { Controls.Clear(); m_GL = new GLPipelineStateViewer(m_Core, this); m_GL.Dock = DockStyle.Fill; Controls.Add(m_GL); } m_Current = m_GL; }