public PipelineStateViewer(Core core)
        {
            InitializeComponent();

            Icon = global::renderdocui.Properties.Resources.icon;

            m_Core = core;

            DockHandler.GetPersistStringCallback = PersistString;

            m_D3D11 = new D3D11PipelineStateViewer(core, this);
            m_D3D11.Dock = DockStyle.Fill;
            Controls.Add(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_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 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;
        }