Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        // 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);
                }
            }
        }
Ejemplo n.º 4
0
        public void AddLogViewer(ILogViewerForm f)
        {
            m_LogViewers.Add(f);

            if (LogLoaded)
            {
                f.OnLogfileLoaded();
                f.OnEventSelected(CurFrame, CurEvent);
            }
        }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
        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;
        }
Ejemplo n.º 8
0
 public void SetEventID(ILogViewerForm exclude, UInt32 eventID)
 {
     SetEventID(new ILogViewerForm[] { exclude }, eventID, false);
 }
Ejemplo n.º 9
0
        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);
            }
        }
Ejemplo n.º 10
0
 public void RemoveLogViewer(ILogViewerForm f)
 {
     m_LogViewers.Remove(f);
 }
Ejemplo n.º 11
0
        public void AddLogViewer(ILogViewerForm f)
        {
            m_LogViewers.Add(f);

            if (LogLoaded)
            {
                f.OnLogfileLoaded();
                f.OnEventSelected(CurFrame, CurEvent);
            }
        }
Ejemplo n.º 12
0
 public void SetEventID(ILogViewerForm exclude, UInt32 frameID, UInt32 eventID)
 {
     SetEventID(exclude, frameID, eventID, false);
 }
Ejemplo n.º 13
0
        // 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);
            }
        }
Ejemplo n.º 14
0
        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;
        }
Ejemplo n.º 15
0
 public void SetEventID(ILogViewerForm exclude, UInt32 frameID, UInt32 eventID)
 {
     SetEventID(exclude, frameID, eventID, false);
 }
Ejemplo n.º 16
0
 public void RemoveLogViewer(ILogViewerForm f)
 {
     m_LogViewers.Remove(f);
 }
Ejemplo n.º 17
0
        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);
            }
        }
Ejemplo n.º 18
0
        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;
        }
Ejemplo n.º 19
0
        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;
        }