Based on feedback rename checkShaderStageForNVExtensions to checkExtensionStage
authorSahil Parmar <sparmar@nvidia.com>
Thu, 27 Sep 2018 18:08:13 +0000 (11:08 -0700)
committerSahil Parmar <sparmar@nvidia.com>
Thu, 27 Sep 2018 18:08:13 +0000 (11:08 -0700)
Also continue error checking post requireStage() check

glslang/MachineIndependent/Versions.cpp
glslang/MachineIndependent/parseVersions.h

index 30e0085..9ca20a5 100644 (file)
@@ -742,10 +742,8 @@ void TParseVersions::updateExtensionBehavior(int line, const char* extension, co
         return;
     }
 
-#ifdef NV_EXTENSIONS
-    if (!checkShaderStageForNVExtensions(getCurrentLoc(), extension))
-        return;
-#endif
+    // check if extension is used with correct shader stage
+    checkExtensionStage(getCurrentLoc(), extension);
 
     // update the requested extension
     updateExtensionBehavior(extension, behavior);
@@ -839,24 +837,16 @@ void TParseVersions::updateExtensionBehavior(const char* extension, TExtensionBe
     }
 }
 
-#ifdef NV_EXTENSIONS
 // Check if extension is used with correct shader stage.
-bool TParseVersions::checkShaderStageForNVExtensions(const TSourceLoc& loc, const char * const extension)
+void TParseVersions::checkExtensionStage(const TSourceLoc& loc, const char * const extension)
 {
-    int lNumErrors = getNumErrors();
-
+#ifdef NV_EXTENSIONS
     // GL_NV_mesh_shader extension is only allowed in task/mesh shaders
     if (strcmp(extension, "GL_NV_mesh_shader") == 0)
         requireStage(loc, (EShLanguageMask)(EShLangTaskNVMask | EShLangMeshNVMask),
                      "#extension GL_NV_mesh_shader");
-
-    // TODO: need to add error checks for other nvidia turing extensions
-
-    if (getNumErrors() > lNumErrors)
-        return false;
-    return true;
-}
 #endif
+}
 
 // Call for any operation needing full GLSL integer data-type support.
 void TParseVersions::fullIntegerCheck(const TSourceLoc& loc, const char* op)
index 4504803..be468da 100644 (file)
@@ -103,9 +103,7 @@ public:
     virtual void requireSpv(const TSourceLoc&, const char* op);
     virtual bool checkExtensionsRequested(const TSourceLoc&, int numExtensions, const char* const extensions[], const char* featureDesc);
     virtual void updateExtensionBehavior(const char* const extension, TExtensionBehavior);
-#ifdef NV_EXTENSIONS
-    virtual bool checkShaderStageForNVExtensions(const TSourceLoc&, const char* const extension);
-#endif
+    virtual void checkExtensionStage(const TSourceLoc&, const char* const extension);
 
     virtual void C_DECL error(const TSourceLoc&, const char* szReason, const char* szToken,
         const char* szExtraInfoFormat, ...) = 0;