linker: Allow geometry shader without vertex shader for separable programs

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index de7e3cd..fbc0358 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -2300,7 +2300,8 @@
    /* Geometry shaders have to be linked with vertex shaders.
     */
    if (num_shaders[MESA_SHADER_GEOMETRY] > 0 &&
-       num_shaders[MESA_SHADER_VERTEX] == 0) {
+       num_shaders[MESA_SHADER_VERTEX] == 0 &&
+       !prog->SeparateShader) {
       linker_error(prog, "Geometry shader must be linked with "
 		   "vertex shader\n");
       goto done;