Przeglądaj źródła

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 lat temu
rodzic
commit
df0f31f44e

+ 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()));