summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2019-01-16 04:37:35 -0300
committerGravatar ReinUsesLisp2019-02-06 22:23:40 -0300
commitdf0f31f44ea4e6945031a84f4bed7f231649fdb4 (patch)
tree91171ce20b333d027f7aa136fe4f2431112f76d8 /src
parentgl_shader_disk_cache: Pass core system as argument and guard against games wi... (diff)
downloadyuzu-df0f31f44ea4e6945031a84f4bed7f231649fdb4.tar.gz
yuzu-df0f31f44ea4e6945031a84f4bed7f231649fdb4.tar.xz
yuzu-df0f31f44ea4e6945031a84f4bed7f231649fdb4.zip
gl_shader_cache: Set GL_PROGRAM_SEPARABLE to dumped shaders
i965 (and probably all mesa drivers) require GL_PROGRAM_SEPARABLE when using glProgramBinary. This is probably required by the standard but it's ignored by permisive proprietary drivers.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_cache.cpp1
1 files changed, 1 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 b2b5c2aa5..7eeae082a 100644
--- a/src/video_core/renderer_opengl/gl_shader_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp
@@ -405,6 +405,7 @@ CachedProgram ShaderCacheOpenGL::GeneratePrecompiledProgram(
405 405
406 CachedProgram shader = std::make_shared<OGLProgram>(); 406 CachedProgram shader = std::make_shared<OGLProgram>();
407 shader->handle = glCreateProgram(); 407 shader->handle = glCreateProgram();
408 glProgramParameteri(shader->handle, GL_PROGRAM_SEPARABLE, GL_TRUE);
408 glProgramBinary(shader->handle, dump.binary_format, dump.binary.data(), 409 glProgramBinary(shader->handle, dump.binary_format, dump.binary.data(),
409 static_cast<GLsizei>(dump.binary.size())); 410 static_cast<GLsizei>(dump.binary.size()));
410 411