浏览代码

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.
ReinUsesLisp 7 年之前
父节点
当前提交
df0f31f44e
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      src/video_core/renderer_opengl/gl_shader_cache.cpp

+ 1 - 0
src/video_core/renderer_opengl/gl_shader_cache.cpp

@@ -405,6 +405,7 @@ CachedProgram ShaderCacheOpenGL::GeneratePrecompiledProgram(
 
     CachedProgram shader = std::make_shared<OGLProgram>();
     shader->handle = glCreateProgram();
+    glProgramParameteri(shader->handle, GL_PROGRAM_SEPARABLE, GL_TRUE);
     glProgramBinary(shader->handle, dump.binary_format, dump.binary.data(),
                     static_cast<GLsizei>(dump.binary.size()));