Check for tessellation/geometry extensions being exposed

Some sample_variables tests use tessellation/geometry shaders.
Need to check that the relevant extensions are exposed.

Components: AOSP

Affects:
dEQP-GLES31.functional.debug.negative_coverage.*.oes_sample_variables.access_built_in_types_inside_other_shaders

Change-Id: Iff74939d474082938955e5b7ebfc41ea3b4a6ec5
(cherry picked from commit 573154bb7bb4c40fbdce77b6633ebc8919e6a641)
diff --git a/modules/gles31/functional/es31fNegativeSampleVariablesTests.cpp b/modules/gles31/functional/es31fNegativeSampleVariablesTests.cpp
index ea68a5a..54b77da 100644
--- a/modules/gles31/functional/es31fNegativeSampleVariablesTests.cpp
+++ b/modules/gles31/functional/es31fNegativeSampleVariablesTests.cpp
@@ -137,6 +137,12 @@
 {
 	checkSupported(ctx);
 
+	if ((!ctx.isExtensionSupported("GL_EXT_tessellation_shader") && !ctx.isExtensionSupported("GL_OES_tessellation_shader")) ||
+		(!ctx.isExtensionSupported("GL_EXT_geometry_shader") && !ctx.isExtensionSupported("GL_OES_geometry_shader")))
+	{
+		TCU_THROW(NotSupportedError, "tessellation and geometry shader extensions not supported");
+	}
+
 	std::ostringstream	shader;
 
 	struct testConfig
@@ -356,4 +362,4 @@
 } // NegativeTestShared
 } // Functional
 } // gles31
-} // deqp
\ No newline at end of file
+} // deqp