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.
This commit is contained in:
ReinUsesLisp 2019-01-16 04:37:35 -03:00
parent 7fefec585c
commit df0f31f44e

View File

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