Merge branch 'feature' of https://github.com/amdrexu/glslang into amdrexu-feature
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index bf0b430..14f536a 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -435,7 +435,7 @@
     case glslang::EbvBaseInstance:
     case glslang::EbvDrawId:
         // TODO: Add SPIR-V builtin ID.
-        logger->missingFunctionality("Draw parameters");
+        logger->missingFunctionality("shader draw parameters");
         return (spv::BuiltIn)spv::BadValue;
     case glslang::EbvPrimitiveId:          return spv::BuiltInPrimitiveId;
     case glslang::EbvInvocationId:         return spv::BuiltInInvocationId;
@@ -455,6 +455,16 @@
     case glslang::EbvLocalInvocationId:    return spv::BuiltInLocalInvocationId;
     case glslang::EbvLocalInvocationIndex: return spv::BuiltInLocalInvocationIndex;
     case glslang::EbvGlobalInvocationId:   return spv::BuiltInGlobalInvocationId;
+    case glslang::EbvSubGroupSize:
+    case glslang::EbvSubGroupInvocation:
+    case glslang::EbvSubGroupEqMask:
+    case glslang::EbvSubGroupGeMask:
+    case glslang::EbvSubGroupGtMask:
+    case glslang::EbvSubGroupLeMask:
+    case glslang::EbvSubGroupLtMask:
+        // TODO: Add SPIR-V builtin ID.
+        logger->missingFunctionality("shader ballot");
+        return (spv::BuiltIn)spv::BadValue;
     default:                               return (spv::BuiltIn)spv::BadValue;
     }
 }
@@ -3236,6 +3246,12 @@
             libCall = spv::GLSLstd450FindSMsb;
         break;
 
+    case glslang::EOpBallot:
+    case glslang::EOpReadFirstInvocation:
+        logger->missingFunctionality("shader ballot");
+        libCall = spv::GLSLstd450Bad;
+        break;
+
     default:
         return 0;
     }
@@ -3689,6 +3705,11 @@
         libCall = spv::GLSLstd450Ldexp;
         break;
 
+    case glslang::EOpReadInvocation:
+        logger->missingFunctionality("shader ballot");
+        libCall = spv::GLSLstd450Bad;
+        break;
+
     default:
         return 0;
     }