summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2017-09-07 11:45:43 +1000
committerStenzek <stenzek@gmail.com>2017-09-07 11:45:43 +1000
commitc15ea2f1edb840cda612c6ddbe2c3a142a0e1ee0 (patch)
treec6b52f43a3e1eaac611b01d0adb5935ad66430d9 /Source/Core/VideoBackends/D3D/PixelShaderCache.cpp
parentc97a799c5fcf4220a6311918f3a2a01f44f90a4a (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.cpp4
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;