diff options
author | bunnei <bunneidev@gmail.com> | 2019-04-07 17:58:27 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-07 17:58:27 -0400 |
commit | f14328bf0a420dd4e9b4500023a9ae2493eaab08 (patch) | |
tree | 5e1e2659476e1465cff39fee3d6e2262040e7c97 /src/video_core | |
parent | c2fee0e5195bcde6c7c603788145496f520f1316 (diff) | |
parent | 021cd56bc98aec220b85c2049e1edb5c02714294 (diff) |
Merge pull request #2300 from FernandoS27/null-shader
shader_cache: Permit a Null Shader in case of a bad host_ptr.
Diffstat (limited to 'src/video_core')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_cache.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp index 7030db365..ab381932c 100644 --- a/src/video_core/renderer_opengl/gl_shader_cache.cpp +++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp @@ -39,6 +39,10 @@ GPUVAddr GetShaderAddress(Maxwell::ShaderProgram program) { /// Gets the shader program code from memory for the specified address ProgramCode GetShaderCode(const u8* host_ptr) { ProgramCode program_code(VideoCommon::Shader::MAX_PROGRAM_LENGTH); + ASSERT_OR_EXECUTE(host_ptr != nullptr, { + std::fill(program_code.begin(), program_code.end(), 0); + return program_code; + }); std::memcpy(program_code.data(), host_ptr, program_code.size() * sizeof(u64)); return program_code; } |