diff options
| author | Léo Lam <leo@leolam.fr> | 2022-01-03 17:43:30 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-03 17:43:30 +0100 |
| commit | a026ef30d248f8bcdfaea565415766056d65877f (patch) | |
| tree | 518aaa8c412ec2ba263b167108d2585d92a0f675 /Source/Core | |
| parent | 04a25818b2ccfea20b232e33493742378fb17bd7 (diff) | |
| parent | 8af737d3bd422c69962748bf2221e6c5ffe94704 (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.cpp | 8 |
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); } |
