title: What is the point of D3D12's SetGraphicsRootSignature?
body: <p>I am a little confused about the existence of the <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/dn903914.aspx" rel="noreferrer"><code>ID3D12GraphicsCommandList::SetGraphicsRootSignature</code></a> method. From what I understand of <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/dn903950.aspx#command_list_semantic" rel="noreferrer">this MSDN page</a>, it seems that the only valid usage of it is to always call it after <code>SetPipelineState</code>, giving it the same root signature as was provided when creating the pipeline state object. If that's so, what benefit is there to it not being implicit? Are there other ways to use this method?</p>