diff options
| author | 2019-01-16 04:37:35 -0300 | |
|---|---|---|
| committer | 2019-02-06 22:23:40 -0300 | |
| commit | df0f31f44ea4e6945031a84f4bed7f231649fdb4 (patch) | |
| tree | 91171ce20b333d027f7aa136fe4f2431112f76d8 /src | |
| parent | gl_shader_disk_cache: Pass core system as argument and guard against games wi... (diff) | |
| download | yuzu-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.cpp | 1 |
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 | ||