diff --git a/hw/xbox/nv2a/pgraph/gl/shaders.c b/hw/xbox/nv2a/pgraph/gl/shaders.c index 4400133434..0c36d0f20c 100644 --- a/hw/xbox/nv2a/pgraph/gl/shaders.c +++ b/hw/xbox/nv2a/pgraph/gl/shaders.c @@ -324,6 +324,15 @@ bool pgraph_gl_shader_load_from_memory(ShaderBinding *binding) return false; } + GLint link_status = GL_FALSE; + glGetProgramiv(gl_program, GL_LINK_STATUS, &link_status); + if (!link_status) { + NV2A_DPRINTF( + "failed to load shader binary from disk: link status is FALSE\n"); + glDeleteProgram(gl_program); + return false; + } + glUseProgram(gl_program); g_free(binding->program);