geometry shaders: Turn on GS stage support
diff --git a/icd/intel/compiler/shader/main.cpp b/icd/intel/compiler/shader/main.cpp
index eb16b6c..cba3de5 100644
--- a/icd/intel/compiler/shader/main.cpp
+++ b/icd/intel/compiler/shader/main.cpp
@@ -112,7 +112,7 @@
     const unsigned fileNameLength = strlen(fileName);
     if (fileNameLength < 5 ||
             strncmp(".spv", &fileName[fileNameLength - 4], 4) != 0) {
-        printf("file must be .spv, .vert or .frag\n");
+        printf("file must be .spv, .vert, .geom, or .frag\n");
         return false;
     }
 
@@ -140,16 +140,19 @@
            // Call vkCreateShader on the single shader
 
            printf("Frontend compile %s\n", argv[1]);
+           fflush(stdout);
 
            void *shaderCode;
            size_t size;
 
            if (checkFileExt(argv[1], ".spv")) {
                shaderCode = load_spv_file(argv[1], &size);
-           } else if (checkFileExt(argv[1], ".frag")) {
-               shaderCode = load_glsl_file(argv[1], &size, VK_SHADER_STAGE_FRAGMENT);
            } else if (checkFileExt(argv[1], ".vert")) {
                shaderCode = load_glsl_file(argv[1], &size, VK_SHADER_STAGE_VERTEX);
+           } else if (checkFileExt(argv[1], ".geom")) {
+               shaderCode = load_glsl_file(argv[1], &size, VK_SHADER_STAGE_GEOMETRY);
+           } else if (checkFileExt(argv[1], ".frag")) {
+               shaderCode = load_glsl_file(argv[1], &size, VK_SHADER_STAGE_FRAGMENT);
            } else {
                return EXIT_FAILURE;
            }
@@ -165,6 +168,7 @@
            gpu.gt = 3;
 
            printf("Backend compile %s\n", argv[1]);
+           fflush(stdout);
 
            // struct timespec before;
            // clock_gettime(CLOCK_MONOTONIC, &before);