diff options
| author | Stenzek <stenzek@gmail.com> | 2017-09-07 11:45:43 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2017-09-07 11:45:43 +1000 |
| commit | c15ea2f1edb840cda612c6ddbe2c3a142a0e1ee0 (patch) | |
| tree | c6b52f43a3e1eaac611b01d0adb5935ad66430d9 /Source/Core/VideoBackends/D3D/PixelShaderCache.cpp | |
| parent | c97a799c5fcf4220a6311918f3a2a01f44f90a4a (diff) | |
D3D: Fix crash if shaders fail to compile
Diffstat (limited to 'Source/Core/VideoBackends/D3D/PixelShaderCache.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/D3D/PixelShaderCache.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp b/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp index 326f840db1..3625cf4e0c 100644 --- a/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp +++ b/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp @@ -644,7 +644,7 @@ bool PixelShaderCache::SetShader() ShaderCode code = GeneratePixelShaderCode(APIType::D3D, ShaderHostConfig::GetCurrent(), uid.GetUidData()); D3D::CompilePixelShader(code.GetBuffer(), &bytecode); - if (!InsertByteCode(uid, bytecode->Data(), bytecode->Size())) + if (!InsertByteCode(uid, bytecode ? bytecode->Data() : nullptr, bytecode ? bytecode->Size() : 0)) { SAFE_RELEASE(bytecode); return false; @@ -687,7 +687,7 @@ bool PixelShaderCache::SetUberShader() ShaderCode code = UberShader::GenPixelShader(APIType::D3D, ShaderHostConfig::GetCurrent(), uid.GetUidData()); D3D::CompilePixelShader(code.GetBuffer(), &bytecode); - if (!InsertByteCode(uid, bytecode->Data(), bytecode->Size())) + if (!InsertByteCode(uid, bytecode ? bytecode->Data() : nullptr, bytecode ? bytecode->Size() : 0)) { SAFE_RELEASE(bytecode); return false; |
