Add tests for GL_NV_shader_noperspective_interpolation
diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp
index 825e4dd..fea7586 100644
--- a/gtests/AST.FromFile.cpp
+++ b/gtests/AST.FromFile.cpp
@@ -41,6 +41,10 @@
 
 using CompileToAstTest = GlslangTest<::testing::TestWithParam<std::string>>;
 
+#ifdef NV_EXTENSIONS
+using CompileToAstTestNV = GlslangTest<::testing::TestWithParam<std::string>>;
+#endif
+
 TEST_P(CompileToAstTest, FromFile)
 {
     loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(),
@@ -48,6 +52,16 @@
                             Target::AST);
 }
 
+#ifdef NV_EXTENSIONS
+// Compiling GLSL to SPIR-V under OpenGL semantics (NV extensions enabled).
+TEST_P(CompileToAstTestNV, FromFile)
+{
+    loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(),
+                            Source::GLSL, Semantics::OpenGL, glslang::EShTargetVulkan_1_0,
+                            Target::AST);
+}
+#endif
+
 // clang-format off
 INSTANTIATE_TEST_CASE_P(
     Glsl, CompileToAstTest,
@@ -214,6 +228,16 @@
     })),
     FileNameAsCustomTestSuffix
 );
+
+#ifdef NV_EXTENSIONS
+INSTANTIATE_TEST_CASE_P(
+    Glsl, CompileToAstTestNV,
+    ::testing::ValuesIn(std::vector<std::string>({
+        "nvShaderNoperspectiveInterpolation.frag",
+    })),
+    FileNameAsCustomTestSuffix
+);
+#endif
 // clang-format on
 
 }  // anonymous namespace