summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D/DXTexture.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-08-30 21:00:24 +0200
committerGitHub <noreply@github.com>2021-08-30 21:00:24 +0200
commitd94aa913f585d8f743bbe6c373ca9fb029de77b7 (patch)
treedfe18ba017a6cda4a79c01c10431c7c37e8f74a3 /Source/Core/VideoBackends/D3D/DXTexture.cpp
parent9b83cf3e7fdf6fc4d15b78193461fd1081d61008 (diff)
parent1f2f5053735b4e94dac29237e9482befd9a2687b (diff)
Merge pull request #10065 from iwubcode/graphics-debug-details
VideoBackends / VideoCommon: expose ability to view shader/texture debug names
Diffstat (limited to 'Source/Core/VideoBackends/D3D/DXTexture.cpp')
-rw-r--r--Source/Core/VideoBackends/D3D/DXTexture.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/Source/Core/VideoBackends/D3D/DXTexture.cpp b/Source/Core/VideoBackends/D3D/DXTexture.cpp
index 72fe7958c2..1247b32fc7 100644
--- a/Source/Core/VideoBackends/D3D/DXTexture.cpp
+++ b/Source/Core/VideoBackends/D3D/DXTexture.cpp
@@ -15,9 +15,15 @@
namespace DX11
{
-DXTexture::DXTexture(const TextureConfig& config, ComPtr<ID3D11Texture2D> texture)
- : AbstractTexture(config), m_texture(std::move(texture))
+DXTexture::DXTexture(const TextureConfig& config, ComPtr<ID3D11Texture2D> texture,
+ std::string_view name)
+ : AbstractTexture(config), m_texture(std::move(texture)), m_name(name)
{
+ if (!m_name.empty())
+ {
+ m_texture->SetPrivateData(WKPDID_D3DDebugObjectName, static_cast<UINT>(m_name.size()),
+ m_name.c_str());
+ }
}
DXTexture::~DXTexture()
@@ -26,7 +32,7 @@ DXTexture::~DXTexture()
D3D::stateman->ApplyTextures();
}
-std::unique_ptr<DXTexture> DXTexture::Create(const TextureConfig& config)
+std::unique_ptr<DXTexture> DXTexture::Create(const TextureConfig& config, std::string_view name)
{
// Use typeless to create the texture when it's a render target, so we can alias it with an
// integer format (for EFB).
@@ -49,7 +55,7 @@ std::unique_ptr<DXTexture> DXTexture::Create(const TextureConfig& config)
return nullptr;
}
- std::unique_ptr<DXTexture> tex(new DXTexture(config, std::move(d3d_texture)));
+ std::unique_ptr<DXTexture> tex(new DXTexture(config, std::move(d3d_texture), name));
if (!tex->CreateSRV() || (config.IsComputeImage() && !tex->CreateUAV()))
return nullptr;
@@ -70,7 +76,7 @@ std::unique_ptr<DXTexture> DXTexture::CreateAdopted(ComPtr<ID3D11Texture2D> text
if (desc.BindFlags & D3D11_BIND_UNORDERED_ACCESS)
config.flags |= AbstractTextureFlag_ComputeImage;
- std::unique_ptr<DXTexture> tex(new DXTexture(config, std::move(texture)));
+ std::unique_ptr<DXTexture> tex(new DXTexture(config, std::move(texture), ""));
if (desc.BindFlags & D3D11_BIND_SHADER_RESOURCE && !tex->CreateSRV())
return nullptr;
if (desc.BindFlags & D3D11_BIND_UNORDERED_ACCESS && !tex->CreateUAV())