Add helpers for setting markers on D3D12

This commit is contained in:
baldurk
2019-11-20 18:36:50 +00:00
parent 1cd0f0b5e2
commit ff309d8c54
2 changed files with 24 additions and 0 deletions
+20
View File
@@ -743,6 +743,26 @@ void D3D12GraphicsTest::SetBufferData(ID3D12ResourcePtr buffer, D3D12_RESOURCE_S
m_Alloc->Reset();
}
void D3D12GraphicsTest::pushMarker(ID3D12GraphicsCommandListPtr cmd, const std::string &name)
{
// D3D debug layer spams un-mutable errors if we call this. Don't do anything unless renderdoc is
// attached
if(rdoc)
cmd->BeginEvent(1, name.data(), (UINT)name.size());
}
void D3D12GraphicsTest::setMarker(ID3D12GraphicsCommandListPtr cmd, const std::string &name)
{
if(rdoc)
cmd->SetMarker(1, name.data(), (UINT)name.size());
}
void D3D12GraphicsTest::popMarker(ID3D12GraphicsCommandListPtr cmd)
{
if(rdoc)
cmd->EndEvent();
}
void D3D12GraphicsTest::ResourceBarrier(ID3D12GraphicsCommandListPtr cmd, ID3D12ResourcePtr res,
D3D12_RESOURCE_STATES before, D3D12_RESOURCE_STATES after)
{
+4
View File
@@ -131,6 +131,10 @@ struct D3D12GraphicsTest : public GraphicsTest
return ret;
}
void pushMarker(ID3D12GraphicsCommandListPtr cmd, const std::string &name);
void setMarker(ID3D12GraphicsCommandListPtr cmd, const std::string &name);
void popMarker(ID3D12GraphicsCommandListPtr cmd);
void ResourceBarrier(ID3D12GraphicsCommandListPtr cmd, ID3D12ResourcePtr res,
D3D12_RESOURCE_STATES before, D3D12_RESOURCE_STATES after);
void ResourceBarrier(ID3D12ResourcePtr res, D3D12_RESOURCE_STATES before,