mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-10-26 16:48:20 +00:00
D3D11 & D3D12 rebuild reflection when reloading shaders to match Vulkan
- Changing PDB search path will now reload all built shaders to get any newly found PDB data tracked and ready to be embedded into the RDC file
This commit is contained in:
1 parent
2c84beae9b
commit
fef0760490
2 files changed
+12
No files matched your search
@@ -159,6 +159,7 @@ void WrappedShader::ReloadShaderDebugInformation()
|
||||
|
||||
void WrappedShader::ShaderEntry::Reload()
|
||||
{
|
||||
bool wasBuilt = m_Built;
|
||||
m_Built = false;
|
||||
*m_Details = ShaderReflection();
|
||||
m_Access.clear();
|
||||
@@ -169,6 +170,11 @@ void WrappedShader::ShaderEntry::Reload()
|
||||
m_Bytecode = m_DXBCFile->GetShaderBlob();
|
||||
}
|
||||
SAFE_DELETE(m_DXBCFile);
|
||||
if(wasBuilt && (GetDXBC() != NULL))
|
||||
{
|
||||
BuildReflection();
|
||||
m_Built = true;
|
||||
}
|
||||
}
|
||||
|
||||
UINT GetSubresourceCount(ID3D11Resource *res)
|
||||
|
||||
@@ -650,9 +650,15 @@ void WrappedID3D12PipelineState::ShaderEntry::ReloadShaderDebugInformation()
|
||||
|
||||
void WrappedID3D12PipelineState::ShaderEntry::Reload()
|
||||
{
|
||||
bool wasBuilt = m_Built;
|
||||
m_Built = false;
|
||||
*m_Details = ShaderReflection();
|
||||
SAFE_DELETE(m_DXBCFile);
|
||||
if(wasBuilt && (GetDXBC() != NULL))
|
||||
{
|
||||
BuildReflection();
|
||||
m_Built = true;
|
||||
}
|
||||
}
|
||||
|
||||
rdcpair<uint32_t, uint32_t> FindMatchingRootParameter(const D3D12RootSignature &sig,
|
||||
|
||||
Reference in new issue
Block a user