diff --git a/DDSTextureLoader/DDSTextureLoader.cpp b/DDSTextureLoader/DDSTextureLoader.cpp index cf5a738..6adade2 100644 --- a/DDSTextureLoader/DDSTextureLoader.cpp +++ b/DDSTextureLoader/DDSTextureLoader.cpp @@ -29,6 +29,10 @@ #define DXGI_1_2_FORMATS #endif +#if defined(_DEBUG) || defined(PROFILE) +#pragma comment(lib,"dxguid.lib") +#endif + //-------------------------------------------------------------------------------------- // Macros //-------------------------------------------------------------------------------------- @@ -131,6 +135,16 @@ typedef public std::unique_ptr ScopedHandle; inline HANDLE safe_handle( HANDLE h ) { return (h == INVALID_HANDLE_VALUE) ? 0 : h; } +//-------------------------------------------------------------------------------------- + +template +inline void SetDebugObjectName(_In_ ID3D11DeviceChild* resource, _In_z_ const char (&name)[TNameLength]) +{ +#if defined(_DEBUG) || defined(PROFILE) + resource->SetPrivateData(WKPDID_D3DDebugObjectName, TNameLength - 1, name); +#endif +} + //-------------------------------------------------------------------------------------- static HRESULT LoadTextureDataFromFile( _In_z_ const wchar_t* fileName, std::unique_ptr& ddsData, @@ -866,11 +880,7 @@ static HRESULT CreateD3DResources( _In_ ID3D11Device* d3dDevice, } else { -#if defined(_DEBUG) || defined(PROFILE) - tex->SetPrivateData( WKPDID_D3DDebugObjectName, - sizeof("DDSTextureLoader")-1, - "DDSTextureLoader" ); -#endif + SetDebugObjectName(tex, "DDSTextureLoader"); tex->Release(); } } @@ -950,12 +960,7 @@ static HRESULT CreateD3DResources( _In_ ID3D11Device* d3dDevice, } else { -#if defined(_DEBUG) || defined(PROFILE) - tex->SetPrivateData( WKPDID_D3DDebugObjectName, - sizeof("DDSTextureLoader")-1, - "DDSTextureLoader" - ); -#endif + SetDebugObjectName(tex, "DDSTextureLoader"); tex->Release(); } } @@ -1007,11 +1012,7 @@ static HRESULT CreateD3DResources( _In_ ID3D11Device* d3dDevice, } else { -#if defined(_DEBUG) || defined(PROFILE) - tex->SetPrivateData( WKPDID_D3DDebugObjectName, - sizeof("DDSTextureLoader")-1, - "DDSTextureLoader" ); -#endif + SetDebugObjectName(tex, "DDSTextureLoader"); tex->Release(); } } @@ -1310,23 +1311,15 @@ HRESULT DirectX::CreateDDSTextureFromMemory( _In_ ID3D11Device* d3dDevice, maxsize ); -#if defined(_DEBUG) || defined(PROFILE) if (texture != 0 && *texture != 0) { - (*texture)->SetPrivateData( WKPDID_D3DDebugObjectName, - sizeof("DDSTextureLoader")-1, - "DDSTextureLoader" - ); + SetDebugObjectName(*texture, "DDSTextureLoader"); } if (textureView != 0 && *textureView != 0) { - (*textureView)->SetPrivateData( WKPDID_D3DDebugObjectName, - sizeof("DDSTextureLoader")-1, - "DDSTextureLoader" - ); + SetDebugObjectName(*textureView, "DDSTextureLoader"); } -#endif return hr; } diff --git a/WICTextureLoader/WICTextureLoader.cpp b/WICTextureLoader/WICTextureLoader.cpp index cece1bf..35db725 100644 --- a/WICTextureLoader/WICTextureLoader.cpp +++ b/WICTextureLoader/WICTextureLoader.cpp @@ -44,6 +44,10 @@ #define DXGI_1_2_FORMATS #endif +#if defined(_DEBUG) || defined(PROFILE) +#pragma comment(lib,"dxguid.lib") +#endif + //--------------------------------------------------------------------------------- template class ScopedObject { @@ -75,6 +79,16 @@ private: T* _pointer; }; +//-------------------------------------------------------------------------------------- + +template +inline void SetDebugObjectName(_In_ ID3D11DeviceChild* resource, _In_z_ const char (&name)[TNameLength]) +{ +#if defined(_DEBUG) || defined(PROFILE) + resource->SetPrivateData(WKPDID_D3DDebugObjectName, TNameLength - 1, name); +#endif +} + //------------------------------------------------------------------------------------- // WIC Pixel Format Translation Data //------------------------------------------------------------------------------------- @@ -544,12 +558,7 @@ static HRESULT CreateTextureFromWIC( _In_ ID3D11Device* d3dDevice, } else { -#if defined(_DEBUG) || defined(PROFILE) - tex->SetPrivateData( WKPDID_D3DDebugObjectName, - sizeof("WICTextureLoader")-1, - "WICTextureLoader" - ); -#endif + SetDebugObjectName(tex, "WICTextureLoader"); tex->Release(); } } @@ -611,23 +620,15 @@ HRESULT DirectX::CreateWICTextureFromMemory( _In_ ID3D11Device* d3dDevice, if ( FAILED(hr)) return hr; -#if defined(_DEBUG) || defined(PROFILE) if (texture != 0 && *texture != 0) { - (*texture)->SetPrivateData( WKPDID_D3DDebugObjectName, - sizeof("WICTextureLoader")-1, - "WICTextureLoader" - ); + SetDebugObjectName(*texture, "WICTextureLoader"); } if (textureView != 0 && *textureView != 0) { - (*textureView)->SetPrivateData( WKPDID_D3DDebugObjectName, - sizeof("WICTextureLoader")-1, - "WICTextureLoader" - ); + SetDebugObjectName(*textureView, "WICTextureLoader"); } -#endif return hr; }