D3DCommon: Remove unused GetDebugObjectName and tidy up SetDebugObjectName

This commit is contained in:
Silent 2019-11-10 16:05:23 +01:00
parent 8445644e05
commit a68789a70c
No known key found for this signature in database
GPG key ID: AE53149BB0C45AF1
2 changed files with 6 additions and 38 deletions

View file

@ -268,53 +268,22 @@ AbstractTextureFormat GetAbstractFormatForDXGIFormat(DXGI_FORMAT format)
} }
} }
void SetDebugObjectName(IUnknown* resource, const char* format, ...) void SetDebugObjectName(IUnknown* resource, std::string_view name)
{ {
if (!g_ActiveConfig.bEnableValidationLayer) if (!g_ActiveConfig.bEnableValidationLayer)
return; return;
std::va_list ap;
va_start(ap, format);
std::string name = StringFromFormatV(format, ap);
va_end(ap);
Microsoft::WRL::ComPtr<ID3D11DeviceChild> child11; Microsoft::WRL::ComPtr<ID3D11DeviceChild> child11;
Microsoft::WRL::ComPtr<ID3D12DeviceChild> child12; Microsoft::WRL::ComPtr<ID3D12DeviceChild> child12;
if (SUCCEEDED(resource->QueryInterface(IID_PPV_ARGS(&child11)))) if (SUCCEEDED(resource->QueryInterface(IID_PPV_ARGS(child11.GetAddressOf()))))
{ {
child11->SetPrivateData(WKPDID_D3DDebugObjectName, static_cast<UINT>(name.length()), child11->SetPrivateData(WKPDID_D3DDebugObjectName, static_cast<UINT>(name.length()),
name.c_str()); name.data());
} }
else if (SUCCEEDED(resource->QueryInterface(IID_PPV_ARGS(&child12)))) else if (SUCCEEDED(resource->QueryInterface(IID_PPV_ARGS(child12.GetAddressOf()))))
{ {
child12->SetPrivateData(WKPDID_D3DDebugObjectName, static_cast<UINT>(name.length()), child12->SetPrivateData(WKPDID_D3DDebugObjectName, static_cast<UINT>(name.length()),
name.c_str()); name.data());
} }
} }
std::string GetDebugObjectName(IUnknown* resource)
{
if (!g_ActiveConfig.bEnableValidationLayer)
return {};
std::string name;
UINT size = 0;
Microsoft::WRL::ComPtr<ID3D11DeviceChild> child11;
Microsoft::WRL::ComPtr<ID3D12DeviceChild> child12;
if (SUCCEEDED(resource->QueryInterface(IID_PPV_ARGS(&child11))))
{
child11->GetPrivateData(WKPDID_D3DDebugObjectName, &size, nullptr);
name.resize(size);
child11->GetPrivateData(WKPDID_D3DDebugObjectName, &size, name.data());
}
else if (SUCCEEDED(resource->QueryInterface(IID_PPV_ARGS(&child12))))
{
child12->GetPrivateData(WKPDID_D3DDebugObjectName, &size, nullptr);
name.resize(size);
child12->GetPrivateData(WKPDID_D3DDebugObjectName, &size, name.data());
}
return name;
}
} // namespace D3DCommon } // namespace D3DCommon

View file

@ -41,6 +41,5 @@ AbstractTextureFormat GetAbstractFormatForDXGIFormat(DXGI_FORMAT format);
// This function will assign a name to the given resource. // This function will assign a name to the given resource.
// The DirectX debug layer will make it easier to identify resources that way, // The DirectX debug layer will make it easier to identify resources that way,
// e.g. when listing up all resources who have unreleased references. // e.g. when listing up all resources who have unreleased references.
void SetDebugObjectName(IUnknown* resource, const char* format, ...); void SetDebugObjectName(IUnknown* resource, std::string_view name);
std::string GetDebugObjectName(IUnknown* resource);
} // namespace D3DCommon } // namespace D3DCommon