summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2022-01-03 17:43:30 +0100
committerGitHub <noreply@github.com>2022-01-03 17:43:30 +0100
commita026ef30d248f8bcdfaea565415766056d65877f (patch)
tree518aaa8c412ec2ba263b167108d2585d92a0f675 /Source/Core
parent04a25818b2ccfea20b232e33493742378fb17bd7 (diff)
parent8af737d3bd422c69962748bf2221e6c5ffe94704 (diff)
Merge pull request #10341 from AdmiralCurtiss/dx12-shader-crash
D3D12: Fix nullptr dereference when creating a shader with a name.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/VideoBackends/D3D12/DX12Shader.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/Core/VideoBackends/D3D12/DX12Shader.cpp b/Source/Core/VideoBackends/D3D12/DX12Shader.cpp
index 39589b6b24..eb0c3dd1f9 100644
--- a/Source/Core/VideoBackends/D3D12/DX12Shader.cpp
+++ b/Source/Core/VideoBackends/D3D12/DX12Shader.cpp
@@ -13,10 +13,6 @@ namespace DX12
DXShader::DXShader(ShaderStage stage, BinaryData bytecode, std::string_view name)
: D3DCommon::Shader(stage, std::move(bytecode)), m_name(UTF8ToWString(name))
{
- if (!m_name.empty())
- {
- m_compute_pipeline->SetName(m_name.c_str());
- }
}
DXShader::~DXShader() = default;
@@ -56,6 +52,10 @@ bool DXShader::CreateComputePipeline()
HRESULT hr = g_dx_context->GetDevice()->CreateComputePipelineState(
&desc, IID_PPV_ARGS(&m_compute_pipeline));
CHECK(SUCCEEDED(hr), "Creating compute pipeline failed");
+
+ if (m_compute_pipeline && !m_name.empty())
+ m_compute_pipeline->SetName(m_name.c_str());
+
return SUCCEEDED(hr);
}