<p dir="ltr">The disabled bit needs to be split into 2 - separately test that the define isn't available, and that you can't do #extension foo: require. Otherwise you won't know why it failed. (Actually on a closer read, you don't test the latter bit at all. You should.)</p>
<div class="gmail_quote">On Apr 12, 2016 3:48 AM, "Dylan Baker" <<a href="mailto:baker.dylan.c@gmail.com">baker.dylan.c@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This replaces a large number of handrolled tests (and adds many new<br>
ones) for testing that preprocessor defines are exposed correctly<br>
(either exposed if the extension is enabled, or not if it's disabled)<br>
across all shader stages. It tests for support in legacy (non<br>
core/compat) mode and in profile mode, unless the extension itself<br>
requires GLSL >= 140. It also covers all stages (fs, vs, gs, tcs, tes,<br>
and cs), and both GLES and GL.<br>
<br>
It drives all of this from a simple, easily extended list in the<br>
generator, and replaces over 1000 lines of code with about 300,<br>
including the template files, and generates over 1000 tests currently.<br>
These are GLSL parser tests and don't take more than a few seconds to<br>
run.<br>
<br>
The only known issue is that an extension can not currently be tested in<br>
both GLES and OpenGL.<br>
<br>
Signed-off-by: Dylan Baker <<a href="mailto:dylanx.c.baker@intel.com">dylanx.c.baker@intel.com</a>><br>
---<br>
 generated_tests/CMakeLists.txt                     |   7 +<br>
 generated_tests/gen_extensions_defined.py          | 183 +++++++++++++++++++++<br>
 .../gen_extensions_defined/disabled.glsl.mako      |  40 +++++<br>
 .../gen_extensions_defined/enabled.glsl.mako       |  43 +++++<br>
 tests/all.py                                       |   1 -<br>
 tests/shaders/CMakeLists.gl.txt                    |   1 -<br>
 .../glsl-arb-fragment-coord-conventions-define.c   |  83 ----------<br>
 ...glsl-arb-fragment-coord-conventions-define.frag |  10 --<br>
 .../amd_shader_trinary_minmax/compiler/define.frag |  19 ---<br>
 .../amd_shader_trinary_minmax/compiler/define.vert |  19 ---<br>
 .../compiler/instanceidarb-disabled.frag           |  25 ---<br>
 .../compiler/instanceidarb-disabled.vert           |  25 ---<br>
 .../compiler/instanceidarb-enabled.frag            |  24 ---<br>
 .../compiler/instanceidarb-enabled.vert            |  24 ---<br>
 .../preprocessor/feature-macro-disabled.frag       |  12 --<br>
 .../preprocessor/feature-macro-disabled.vert       |  12 --<br>
 .../preprocessor/feature-macro-enabled.frag        |  15 --<br>
 .../preprocessor/feature-macro-enabled.vert        |  15 --<br>
 .../spec/arb_enhanced_layouts/compiler/define.frag |  19 ---<br>
 .../spec/arb_enhanced_layouts/compiler/define.vert |  19 ---<br>
 .../1.10/preprocessor/define.frag                  |  19 ---<br>
 .../1.10/preprocessor/define.vert                  |  19 ---<br>
 .../1.20/preprocessor/define.frag                  |  19 ---<br>
 .../1.20/preprocessor/define.vert                  |  19 ---<br>
 .../1.30/preprocessor/define-130.frag              |  19 ---<br>
 .../1.30/preprocessor/define-130.vert              |  19 ---<br>
 .../preprocessor/define.frag                       |  20 ---<br>
 .../preprocessor/define.vert                       |  20 ---<br>
 .../arb_gpu_shader_fp64/preprocessor/define.frag   |  19 ---<br>
 .../arb_gpu_shader_fp64/preprocessor/define.vert   |  19 ---<br>
 .../compiler/1.10/define.frag                      |  18 --<br>
 .../compiler/1.10/define.vert                      |  18 --<br>
 .../compiler/1.20/define.frag                      |  18 --<br>
 .../compiler/1.20/define.vert                      |  18 --<br>
 .../compiler/1.30/define.frag                      |  18 --<br>
 .../compiler/1.30/define.vert                      |  18 --<br>
 .../compiler/1.40/define.frag                      |  18 --<br>
 .../compiler/1.40/define.vert                      |  18 --<br>
 .../compiler/1.50/define.frag                      |  18 --<br>
 .../compiler/1.50/define.geom                      |  18 --<br>
 .../compiler/1.50/define.vert                      |  18 --<br>
 .../preprocessor/define.frag                       |  19 ---<br>
 .../preprocessor/define.vert                       |  19 ---<br>
 .../preprocessor/define.frag                       |  19 ---<br>
 .../preprocessor/define.vert                       |  19 ---<br>
 .../compiler/define.vert                           |  19 ---<br>
 .../preprocessor/define.frag                       |  19 ---<br>
 .../preprocessor/define.vert                       |  19 ---<br>
 .../arb_shader_subroutine/preprocessor/define.vert |  19 ---<br>
 .../arb_tessellation_shader/compiler/define.tesc   |  19 ---<br>
 .../arb_tessellation_shader/compiler/define.tese   |  19 ---<br>
 .../preprocessor/define.frag                       |  19 ---<br>
 .../preprocessor/define.vert                       |  19 ---<br>
 .../preprocessor/define.frag                       |  19 ---<br>
 .../preprocessor/define.vert                       |  19 ---<br>
 .../glsl-1.10/preprocessor/define.frag             |  19 ---<br>
 .../glsl-1.10/preprocessor/define.vert             |  19 ---<br>
 .../glsl-1.50/preprocessor/define.geom             |  18 --<br>
 .../glsl-es-3.10/preprocessor/define.frag          |  19 ---<br>
 .../glsl-es-3.10/preprocessor/define.vert          |  19 ---<br>
 60 files changed, 273 insertions(+), 1073 deletions(-)<br>
 create mode 100644 generated_tests/gen_extensions_defined.py<br>
 create mode 100644 generated_tests/templates/gen_extensions_defined/disabled.glsl.mako<br>
 create mode 100644 generated_tests/templates/gen_extensions_defined/enabled.glsl.mako<br>
 delete mode 100644 tests/shaders/glsl-arb-fragment-coord-conventions-define.c<br>
 delete mode 100644 tests/shaders/glsl-arb-fragment-coord-conventions-define.frag<br>
 delete mode 100644 tests/spec/amd_shader_trinary_minmax/compiler/define.frag<br>
 delete mode 100644 tests/spec/amd_shader_trinary_minmax/compiler/define.vert<br>
 delete mode 100644 tests/spec/arb_draw_instanced/compiler/instanceidarb-disabled.frag<br>
 delete mode 100644 tests/spec/arb_draw_instanced/compiler/instanceidarb-disabled.vert<br>
 delete mode 100644 tests/spec/arb_draw_instanced/compiler/instanceidarb-enabled.frag<br>
 delete mode 100644 tests/spec/arb_draw_instanced/compiler/instanceidarb-enabled.vert<br>
 delete mode 100644 tests/spec/arb_draw_instanced/preprocessor/feature-macro-disabled.frag<br>
 delete mode 100644 tests/spec/arb_draw_instanced/preprocessor/feature-macro-disabled.vert<br>
 delete mode 100644 tests/spec/arb_draw_instanced/preprocessor/feature-macro-enabled.frag<br>
 delete mode 100644 tests/spec/arb_draw_instanced/preprocessor/feature-macro-enabled.vert<br>
 delete mode 100644 tests/spec/arb_enhanced_layouts/compiler/define.frag<br>
 delete mode 100644 tests/spec/arb_enhanced_layouts/compiler/define.vert<br>
 delete mode 100644 tests/spec/arb_explicit_attrib_location/1.10/preprocessor/define.frag<br>
 delete mode 100644 tests/spec/arb_explicit_attrib_location/1.10/preprocessor/define.vert<br>
 delete mode 100644 tests/spec/arb_explicit_attrib_location/1.20/preprocessor/define.frag<br>
 delete mode 100644 tests/spec/arb_explicit_attrib_location/1.20/preprocessor/define.vert<br>
 delete mode 100644 tests/spec/arb_explicit_attrib_location/1.30/preprocessor/define-130.frag<br>
 delete mode 100644 tests/spec/arb_explicit_attrib_location/1.30/preprocessor/define-130.vert<br>
 delete mode 100644 tests/spec/arb_explicit_uniform_location/preprocessor/define.frag<br>
 delete mode 100644 tests/spec/arb_explicit_uniform_location/preprocessor/define.vert<br>
 delete mode 100644 tests/spec/arb_gpu_shader_fp64/preprocessor/define.frag<br>
 delete mode 100644 tests/spec/arb_gpu_shader_fp64/preprocessor/define.vert<br>
 delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.10/define.frag<br>
 delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.10/define.vert<br>
 delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.20/define.frag<br>
 delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.20/define.vert<br>
 delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.30/define.frag<br>
 delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.30/define.vert<br>
 delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.40/define.frag<br>
 delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.40/define.vert<br>
 delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.50/define.frag<br>
 delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.50/define.geom<br>
 delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.50/define.vert<br>
 delete mode 100644 tests/spec/arb_shader_atomic_counter_ops/preprocessor/define.frag<br>
 delete mode 100644 tests/spec/arb_shader_atomic_counter_ops/preprocessor/define.vert<br>
 delete mode 100644 tests/spec/arb_shader_atomic_counters/preprocessor/define.frag<br>
 delete mode 100644 tests/spec/arb_shader_atomic_counters/preprocessor/define.vert<br>
 delete mode 100644 tests/spec/arb_shader_draw_parameters/compiler/define.vert<br>
 delete mode 100644 tests/spec/arb_shader_storage_buffer_object/preprocessor/define.frag<br>
 delete mode 100644 tests/spec/arb_shader_storage_buffer_object/preprocessor/define.vert<br>
 delete mode 100644 tests/spec/arb_shader_subroutine/preprocessor/define.vert<br>
 delete mode 100644 tests/spec/arb_tessellation_shader/compiler/define.tesc<br>
 delete mode 100644 tests/spec/arb_tessellation_shader/compiler/define.tese<br>
 delete mode 100644 tests/spec/arb_uniform_buffer_object/preprocessor/define.frag<br>
 delete mode 100644 tests/spec/arb_uniform_buffer_object/preprocessor/define.vert<br>
 delete mode 100644 tests/spec/arb_vertex_attrib_64bit/preprocessor/define.frag<br>
 delete mode 100644 tests/spec/arb_vertex_attrib_64bit/preprocessor/define.vert<br>
 delete mode 100644 tests/spec/ext_shader_samples_identical/glsl-1.10/preprocessor/define.frag<br>
 delete mode 100644 tests/spec/ext_shader_samples_identical/glsl-1.10/preprocessor/define.vert<br>
 delete mode 100644 tests/spec/ext_shader_samples_identical/glsl-1.50/preprocessor/define.geom<br>
 delete mode 100644 tests/spec/ext_shader_samples_identical/glsl-es-3.10/preprocessor/define.frag<br>
 delete mode 100644 tests/spec/ext_shader_samples_identical/glsl-es-3.10/preprocessor/define.vert<br>
<br>
diff --git a/generated_tests/CMakeLists.txt b/generated_tests/CMakeLists.txt<br>
index 0dc617b..b4789fe 100644<br>
--- a/generated_tests/CMakeLists.txt<br>
+++ b/generated_tests/CMakeLists.txt<br>
@@ -132,6 +132,12 @@ piglit_make_generated_tests(<br>
        templates/gen_variable_index_read_tests/vs.shader_test.mako<br>
        templates/gen_variable_index_read_tests/fs.shader_test.mako<br>
        templates/gen_variable_index_read_tests/helpers.mako)<br>
+piglit_make_generated_tests(<br>
+       gen_extensions_defined.list<br>
+       gen_extensions_defined.py<br>
+       templates/gen_extensions_defined/enabled.glsl.mako<br>
+       templates/gen_extensions_defined/disabled.glsl.mako<br>
+       modules/glsl.py)<br>
<br>
 # OpenCL Test generators<br>
 piglit_make_generated_tests(<br>
@@ -176,6 +182,7 @@ add_custom_target(gen-gl-tests<br>
                        shader_precision_tests.list<br>
                        shader_image_load_store_tests.list<br>
                        variable_index_read_tests.list<br>
+                       gen_extensions_defined.list<br>
 )<br>
<br>
 # Create a custom target for generating OpenCL tests<br>
diff --git a/generated_tests/gen_extensions_defined.py b/generated_tests/gen_extensions_defined.py<br>
new file mode 100644<br>
index 0000000..2c7d899<br>
--- /dev/null<br>
+++ b/generated_tests/gen_extensions_defined.py<br>
@@ -0,0 +1,183 @@<br>
+# encoding=utf-8<br>
+# Copyright © 2016 Intel Corporation<br>
+<br>
+# Permission is hereby granted, free of charge, to any person obtaining a copy<br>
+# of this software and associated documentation files (the "Software"), to deal<br>
+# in the Software without restriction, including without limitation the rights<br>
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br>
+# copies of the Software, and to permit persons to whom the Software is<br>
+# furnished to do so, subject to the following conditions:<br>
+<br>
+# The above copyright notice and this permission notice shall be included in<br>
+# all copies or substantial portions of the Software.<br>
+<br>
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE<br>
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,<br>
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE<br>
+# SOFTWARE.<br>
+<br>
+"""Generate tests for extensions that affect the shading language.<br>
+<br>
+This generates two tests per extensions.<br>
+The first test asserts that if the extension is required it's defined<br>
+The second test asserts that if the extension isn't available it's not defined<br>
+<br>
+These are glslparsertests.<br>
+<br>
+For extensions that require an OpenGL version < 140 (without profiles) a test<br>
+will be generated for that version with '-legacy' appended to the name, and a<br>
+version for 140 that adds '-profile'. If the extension requires >= 140 then<br>
+only a single test with no appended value will be generated.<br>
+<br>
+For OpenGL ES only one test will be generated, it will have no extra name<br>
+added.<br>
+<br>
+"""<br>
+<br>
+from __future__ import (<br>
+    absolute_import, division, print_function, unicode_literals<br>
+)<br>
+import os<br>
+<br>
+from templates import template_dir<br>
+from modules import utils, glsl<br>
+<br>
+_TEMPLATES = template_dir(os.path.basename(os.path.splitext(__file__)[0]))<br>
+ENABLED_TEMPLATE = _TEMPLATES.get_template('enabled.glsl.mako')<br>
+DISABLED_TEMPLATE = _TEMPLATES.get_template('disabled.glsl.mako')<br>
+<br>
+# A list of tuples with the full preprocess defined name, and the minimum<br>
+# supported version of that extension.<br>
+EXTENSIONS = [<br>
+    ("GL_ARB_draw_instanced", "110"),<br>
+    ("GL_ARB_draw_buffers", "110"),<br>
+    ("GL_ARB_enhanced_layouts", "140"),<br>
+    ("GL_ARB_separate_shader_objects", "110"),<br>
+    ("GL_ARB_texture_rectangle", "110"),<br>
+    ("GL_AMD_shader_trinary_minmax", "110"),<br>
+    ("GL_EXT_texture_array", "110"),<br>
+    ("GL_ARB_ES3_1_compatibility", "110"),<br>
+    ("GL_ARB_arrays_of_arrays", "110"),<br>
+    ("GL_ARB_fragment_coord_conventions", "110"),<br>
+    ("GL_ARB_fragment_layer_viewport", "110"),<br>
+    ("GL_ARB_explicit_attrib_location", "110"),<br>
+    ("GL_ARB_explicit_uniform_location", "110"),<br>
+    ("GL_ARB_shader_texture_lod", "110"),<br>
+    ("GL_AMD_conservative_depth", "110"),<br>
+    ("GL_ARB_conservative_depth", "110"),<br>
+    ("GL_ARB_shader_bit_encodign", "110"),<br>
+    ("GL_ARB_shader_clock", "110"),<br>
+    ("GL_ARB_uniform_buffer_object", "110"),<br>
+    ("GL_ARB_texture_cube_map_array", "110"),<br>
+    ("GL_ARB_shading_language_packing", "110"),<br>
+    ("GL_ARB_texture_multisample", "110"),<br>
+    ("GL_ARB_texture_query_levels", "110"),<br>
+    ("GL_ARB_texture_query_lod", "110"),<br>
+    ("GL_ARB_gpu_shader5", "110"),<br>
+    ("GL_ARB_gpu_shader_fp64", "150"),<br>
+    ("GL_ARB_vertex_attrib_64bit", "150"),<br>
+    ("GL_AMD_vertex_shader_layer", "110"),<br>
+    ("GL_AMD_vertex_shader_viewport_index", "110"),<br>
+    ("GL_ARB_shading_language_420pack", "110"),<br>
+    ("GL_ARB_sample_shading", "110"),<br>
+    ("GL_ARB_texture_gather", "110"),<br>
+    ("GL_ARB_shader_atomic_counters", "110"),<br>
+    ("GL_ARB_shader_atomic_counter_ops", "140"),<br>
+    ("GL_ARB_viewport_array", "110"),<br>
+    ("GL_ARB_compute_shader", "110"),<br>
+    ("GL_ARB_shader_image_load_store", "110"),<br>
+    ("GL_ARB_shader_image_size", "110"),<br>
+    ("GL_ARB_shader_texture_image_samples", "110"),<br>
+    # That is what the original hand written test required.<br>
+    ("GL_ARB_derivative_control", "150"),<br>
+    ("GL_ARB_shader_precision", "110"),<br>
+    ("GL_ARB_shader_storage_buffer_object", "110"),<br>
+    ("GL_ARB_tessellation_shader", "150"),<br>
+    ("GL_ARB_shader_subroutine", "150"),<br>
+    ("GL_ARB_shader_draw_parameters", "140"),<br>
+    ("GL_EXT_separate_shader_objects", "100"),<br>
+    ("GL_EXT_draw_buffers", "100"),<br>
+    ("GL_AMD_shader_stencil_export", "120"),<br>
+    ("GL_ARB_shader_stencil_export", "120"),<br>
+    ("GL_ARB_geometry_shader4", "110"),<br>
+    ("GL_OES_EGL_image_external", "100"),<br>
+    ("GL_EXT_shader_samples_identical", "110"),<br>
+    ("GL_EXT_shader_samples_identical", "310 es"),<br>
+    ("GL_OES_sample_variables", "300 es"),<br>
+    ("GL_OES_multisample_interpolation", "300 es"),<br>
+    ("GL_OES_standard_derivatives", "100"),<br>
+    ("GL_OES_texture_storage_multisample_2d_array", "300 es"),<br>
+    ("GL_OES_blend_func_extended", "100"),<br>
+    ("GL_OES_shader_image_atomic", "310 es"),<br>
+    ("GL_OES_geometry_shader", "310 es"),<br>
+    ("GL_OES_geometry_point_size", "310 es"),<br>
+    ("GL_EXT_gpu_shader5", "310 es"),<br>
+    ("GL_OES_gpu_shader5", "310 es"),<br>
+    ("GL_EXT_texture_buffer", "310 es"),<br>
+    ("GL_OES_texture_buffer", "310 es"),<br>
+]<br>
+EXTENSIONS = [(n, glsl.Version(v)) for n, v in EXTENSIONS]<br>
+<br>
+_EXTRA_REQUIRES = {<br>
+    'tesc': ['GL_ARB_tessellation_shader'],<br>
+    'tese': ['GL_ARB_tessellation_shader'],<br>
+    'comp': ['GL_ARB_compute_shader'],<br>
+}<br>
+<br>
+<br>
+def _gen_tests(ext, ver, stage, path, extra_name=''):<br>
+    """Generate the actual test files.<br>
+<br>
+    This generates both a disabled test for both disabled and enabled<br>
+    configurations.<br>
+<br>
+    Argments:<br>
+    ext -- the extension to be tested<br>
+    ver -- the minimum required version<br>
+    stage -- the shader stage to test<br>
+    path -- the path to put the test in, without the test name<br>
+<br>
+    Keyword Arguments:<br>
+    extra_name -- An extra string to put in the test name. Default: ''<br>
+<br>
+    """<br>
+    extra_extensions = _EXTRA_REQUIRES.get(stage, [])<br>
+    version = glsl.MinVersion.for_stage(stage, ver)<br>
+<br>
+    for test, template in [('enabled', ENABLED_TEMPLATE),<br>
+                           ('disabled', DISABLED_TEMPLATE)]:<br>
+        name = os.path.join(path, '{}{}.{}'.format(test, extra_name, stage))<br>
+<br>
+        # Open in bytes mode to avoid weirdness in python 2/3 compatibility<br>
+        with open(name, 'wb') as f:<br>
+            f.write(template.render(<br>
+                version=version,<br>
+                extension=ext,<br>
+                extra_extensions=extra_extensions))<br>
+        print(name)<br>
+<br>
+<br>
+def main():<br>
+    """Main function."""<br>
+    for ext, ver in EXTENSIONS:<br>
+        # Lower ext in the path name, but keep it capitalized for the generated<br>
+        # tests<br>
+        path = os.path.join('spec', ext[3:].lower(), 'preprocessor')<br>
+        utils.safe_makedirs(path)<br>
+<br>
+        for stage in ['vert', 'frag', 'geom', 'tesc', 'tese', 'comp']:<br>
+            # If the version is less than 140, generate two tests. One for<br>
+            # legacy (without profiles) and one for profiles.<br>
+            if not ver.is_es and ver < 140:<br>
+                _gen_tests(ext, ver, stage, path, extra_name='-legacy')<br>
+                _gen_tests(ext, glsl.Version('140'), stage, path,<br>
+                           extra_name='-profile')<br>
+            else:<br>
+                _gen_tests(ext, ver, stage, path)<br>
+<br>
+<br>
+if __name__ == '__main__':<br>
+    main()<br>
diff --git a/generated_tests/templates/gen_extensions_defined/disabled.glsl.mako b/generated_tests/templates/gen_extensions_defined/disabled.glsl.mako<br>
new file mode 100644<br>
index 0000000..f4fc92f<br>
--- /dev/null<br>
+++ b/generated_tests/templates/gen_extensions_defined/disabled.glsl.mako<br>
@@ -0,0 +1,40 @@<br>
+## encoding=utf-8<br>
+## Copyright © 2016 Intel Corporation<br>
+##<br>
+## Permission is hereby granted, free of charge, to any person obtaining a copy<br>
+## of this software and associated documentation files (the "Software"), to deal<br>
+## in the Software without restriction, including without limitation the rights<br>
+## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br>
+## copies of the Software, and to permit persons to whom the Software is<br>
+## furnished to do so, subject to the following conditions:<br>
+##<br>
+## The above copyright notice and this permission notice shall be included in<br>
+## all copies or substantial portions of the Software.<br>
+##<br>
+## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>
+## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>
+## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE<br>
+## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>
+## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,<br>
+## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE<br>
+## SOFTWARE.<br>
+/* This is a generated test, do not edit<br>
+ * Generated by gen_extensions_defined.py<br>
+ *<br>
+ * [config]<br>
+ * expect_result: pass<br>
+ * glsl_version: ${version.print_float()}<br>
+ * require_extensions: !${extension} ${' '.join(extra_extensions)}<br>
+ * [end config]<br>
+ */<br>
+<br>
+#version ${str(version)}<br>
+% for ext in extra_extensions:<br>
+  #extension ${ext} : require<br>
+% endfor<br>
+<br>
+#if defined ${extension}<br>
+#    error ${extension} is defined, but should not be<br>
+#endif<br>
+<br>
+float foo() { return 0.0; }<br>
diff --git a/generated_tests/templates/gen_extensions_defined/enabled.glsl.mako b/generated_tests/templates/gen_extensions_defined/enabled.glsl.mako<br>
new file mode 100644<br>
index 0000000..09a82fa<br>
--- /dev/null<br>
+++ b/generated_tests/templates/gen_extensions_defined/enabled.glsl.mako<br>
@@ -0,0 +1,43 @@<br>
+## encoding=utf-8<br>
+## Copyright © 2016 Intel Corporation<br>
+##<br>
+## Permission is hereby granted, free of charge, to any person obtaining a copy<br>
+## of this software and associated documentation files (the "Software"), to deal<br>
+## in the Software without restriction, including without limitation the rights<br>
+## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br>
+## copies of the Software, and to permit persons to whom the Software is<br>
+## furnished to do so, subject to the following conditions:<br>
+##<br>
+## The above copyright notice and this permission notice shall be included in<br>
+## all copies or substantial portions of the Software.<br>
+##<br>
+## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>
+## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>
+## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE<br>
+## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>
+## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,<br>
+## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE<br>
+## SOFTWARE.<br>
+/* This is a generated test, do not edit<br>
+ * Generated by gen_extensions_defined.py<br>
+ *<br>
+ * [config]<br>
+ * expect_result: pass<br>
+ * glsl_version: ${version.print_float()}<br>
+ * require_extensions: ${extension} ${' '.join(extra_extensions)}<br>
+ * [end config]<br>
+ */<br>
+<br>
+#version ${str(version)}<br>
+#extension ${extension} : require<br>
+% for ext in extra_extensions:<br>
+  #extension ${ext} : require<br>
+% endfor<br>
+<br>
+#if !defined ${extension}<br>
+#    error ${extension} is not defined<br>
+#elif ${extension} != 1<br>
+#    error ${extension} != 1<br>
+#endif<br>
+<br>
+float foo() { return 0.0; }<br>
diff --git a/tests/all.py b/tests/all.py<br>
index c7088ca..898d061 100644<br>
--- a/tests/all.py<br>
+++ b/tests/all.py<br>
@@ -490,7 +490,6 @@ with profile.group_manager(PiglitGLTest, 'shaders') as g:<br>
     g(['createshaderprogram-bad-type'])<br>
     g(['createshaderprogram-attached-shaders'])<br>
     g(['glsl-arb-fragment-coord-conventions'])<br>
-    g(['glsl-arb-fragment-coord-conventions-define'])<br>
     g(['glsl-bug-22603'])<br>
     g(['glsl-bindattriblocation'])<br>
     g(['glsl-dlist-getattriblocation'])<br>
diff --git a/tests/shaders/CMakeLists.gl.txt b/tests/shaders/CMakeLists.gl.txt<br>
index 42c6fae..afbcc4b 100644<br>
--- a/tests/shaders/CMakeLists.gl.txt<br>
+++ b/tests/shaders/CMakeLists.gl.txt<br>
@@ -43,7 +43,6 @@ IF (UNIX)<br>
        target_link_libraries(fp-unpack-01 m)<br>
 ENDIF (UNIX)<br>
 piglit_add_executable (glsl-arb-fragment-coord-conventions glsl-arb-fragment-coord-conventions.c)<br>
-piglit_add_executable (glsl-arb-fragment-coord-conventions-define glsl-arb-fragment-coord-conventions-define.c)<br>
 piglit_add_executable (glsl-bindattriblocation glsl-bindattriblocation.c)<br>
 piglit_add_executable (glsl-bug-22603 glsl-bug-22603.c)<br>
 piglit_add_executable (glsl-dlist-getattriblocation glsl-dlist-getattriblocation.c)<br>
diff --git a/tests/shaders/glsl-arb-fragment-coord-conventions-define.c b/tests/shaders/glsl-arb-fragment-coord-conventions-define.c<br>
deleted file mode 100644<br>
index bc30a96..0000000<br>
--- a/tests/shaders/glsl-arb-fragment-coord-conventions-define.c<br>
+++ /dev/null<br>
@@ -1,83 +0,0 @@<br>
-/*<br>
- * Copyright © 2009 Intel Corporation<br>
- *<br>
- * Permission is hereby granted, free of charge, to any person obtaining a<br>
- * copy of this software and associated documentation files (the "Software"),<br>
- * to deal in the Software without restriction, including without limitation<br>
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,<br>
- * and/or sell copies of the Software, and to permit persons to whom the<br>
- * Software is furnished to do so, subject to the following conditions:<br>
- *<br>
- * The above copyright notice and this permission notice (including the next<br>
- * paragraph) shall be included in all copies or substantial portions of the<br>
- * Software.<br>
- *<br>
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL<br>
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING<br>
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS<br>
- * IN THE SOFTWARE.<br>
- *<br>
- * Authors:<br>
- *    Eric Anholt <<a href="mailto:eric@anholt.net">eric@anholt.net</a>><br>
- *<br>
- */<br>
-<br>
-/** @file glsl-arb-fragment-coord-conventions-define.c<br>
- *<br>
- * Tests that the ARB_fragment_coord_conventions extension define is present<br>
- * when the extension is exposed.<br>
- */<br>
-<br>
-#include "piglit-util-gl.h"<br>
-<br>
-PIGLIT_GL_TEST_CONFIG_BEGIN<br>
-<br>
-       config.supports_gl_compat_version = 10;<br>
-<br>
-       config.window_visual = PIGLIT_GL_VISUAL_RGB | PIGLIT_GL_VISUAL_DOUBLE;<br>
-<br>
-PIGLIT_GL_TEST_CONFIG_END<br>
-<br>
-static GLint prog;<br>
-<br>
-enum piglit_result<br>
-piglit_display(void)<br>
-{<br>
-       GLboolean pass = GL_TRUE;<br>
-       static const float green[] = {0.0, 1.0, 0.0, 0.0};<br>
-<br>
-       glClearColor(1.0, 0.0, 0.0, 0.0);<br>
-       glClear(GL_COLOR_BUFFER_BIT);<br>
-<br>
-       piglit_draw_rect(0, 0, piglit_width, piglit_height);<br>
-<br>
-       pass &= piglit_probe_pixel_rgb(15, 15, green);<br>
-<br>
-       piglit_present_results();<br>
-<br>
-       return pass ? PIGLIT_PASS : PIGLIT_FAIL;<br>
-}<br>
-<br>
-void<br>
-piglit_init(int argc, char **argv)<br>
-{<br>
-       GLint vs, fs;<br>
-<br>
-       piglit_require_gl_version(20);<br>
-<br>
-       piglit_require_extension("GL_ARB_fragment_coord_conventions");<br>
-<br>
-       piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);<br>
-<br>
-       vs = piglit_compile_shader(GL_VERTEX_SHADER,<br>
-                                  "shaders/glsl-mvp.vert");<br>
-       fs = piglit_compile_shader(GL_FRAGMENT_SHADER,<br>
-                                  "shaders/glsl-arb-fragment-coord-conventions-define.frag");<br>
-<br>
-       prog = piglit_link_simple_program(vs, fs);<br>
-<br>
-       glUseProgram(prog);<br>
-}<br>
diff --git a/tests/shaders/glsl-arb-fragment-coord-conventions-define.frag b/tests/shaders/glsl-arb-fragment-coord-conventions-define.frag<br>
deleted file mode 100644<br>
index 645f77f..0000000<br>
--- a/tests/shaders/glsl-arb-fragment-coord-conventions-define.frag<br>
+++ /dev/null<br>
@@ -1,10 +0,0 @@<br>
-#extension GL_ARB_fragment_coord_conventions : warn<br>
-<br>
-void main()<br>
-{<br>
-#ifdef GL_ARB_fragment_coord_conventions<br>
-               gl_FragColor = vec4(0.0, 1.0, 0.0, 0.0);<br>
-#else<br>
-               gl_FragColor = vec4(1.0, 0.0, 0.0, 0.0);<br>
-#endif<br>
-}<br>
diff --git a/tests/spec/amd_shader_trinary_minmax/compiler/define.frag b/tests/spec/amd_shader_trinary_minmax/compiler/define.frag<br>
deleted file mode 100644<br>
index b1931cf..0000000<br>
--- a/tests/spec/amd_shader_trinary_minmax/compiler/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_AMD_shader_trinary_minmax<br>
-// [end config]<br>
-<br>
-#version 110<br>
-#extension GL_AMD_shader_trinary_minmax: require<br>
-<br>
-#if !defined GL_AMD_shader_trinary_minmax<br>
-#  error GL_AMD_shader_trinary_minmax is not defined<br>
-#elif GL_AMD_shader_trinary_minmax != 1<br>
-#  error GL_AMD_shader_trinary_minmax is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/amd_shader_trinary_minmax/compiler/define.vert b/tests/spec/amd_shader_trinary_minmax/compiler/define.vert<br>
deleted file mode 100644<br>
index b1931cf..0000000<br>
--- a/tests/spec/amd_shader_trinary_minmax/compiler/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_AMD_shader_trinary_minmax<br>
-// [end config]<br>
-<br>
-#version 110<br>
-#extension GL_AMD_shader_trinary_minmax: require<br>
-<br>
-#if !defined GL_AMD_shader_trinary_minmax<br>
-#  error GL_AMD_shader_trinary_minmax is not defined<br>
-#elif GL_AMD_shader_trinary_minmax != 1<br>
-#  error GL_AMD_shader_trinary_minmax is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_draw_instanced/compiler/instanceidarb-disabled.frag b/tests/spec/arb_draw_instanced/compiler/instanceidarb-disabled.frag<br>
deleted file mode 100644<br>
index 54d5200..0000000<br>
--- a/tests/spec/arb_draw_instanced/compiler/instanceidarb-disabled.frag<br>
+++ /dev/null<br>
@@ -1,25 +0,0 @@<br>
-/* [config]<br>
- * expect_result: fail<br>
- * glsl_version: 1.10<br>
- * require_extensions: GL_ARB_draw_instanced<br>
- * [end config]<br>
- *<br>
- * From the GL_ARB_draw_instanced spec:<br>
- *<br>
- *     "Change Section 7.1 "Vertex Shader Special Variables"<br>
- *<br>
- *     Add the following definition to the list of built-in variable<br>
- *     definitions:<br>
- *<br>
- *          int gl_InstanceIDARB // read-only"<br>
- *<br>
- * There is no mention of gl_InstanceIDARB in fragment shaders or<br>
- * geometry shaders.<br>
- *<br>
- * This test does not enable the extension before using gl_InstanceIDARB.<br>
- */<br>
-<br>
-int function()<br>
-{<br>
-  return gl_InstanceIDARB;<br>
-}<br>
diff --git a/tests/spec/arb_draw_instanced/compiler/instanceidarb-disabled.vert b/tests/spec/arb_draw_instanced/compiler/instanceidarb-disabled.vert<br>
deleted file mode 100644<br>
index 54d5200..0000000<br>
--- a/tests/spec/arb_draw_instanced/compiler/instanceidarb-disabled.vert<br>
+++ /dev/null<br>
@@ -1,25 +0,0 @@<br>
-/* [config]<br>
- * expect_result: fail<br>
- * glsl_version: 1.10<br>
- * require_extensions: GL_ARB_draw_instanced<br>
- * [end config]<br>
- *<br>
- * From the GL_ARB_draw_instanced spec:<br>
- *<br>
- *     "Change Section 7.1 "Vertex Shader Special Variables"<br>
- *<br>
- *     Add the following definition to the list of built-in variable<br>
- *     definitions:<br>
- *<br>
- *          int gl_InstanceIDARB // read-only"<br>
- *<br>
- * There is no mention of gl_InstanceIDARB in fragment shaders or<br>
- * geometry shaders.<br>
- *<br>
- * This test does not enable the extension before using gl_InstanceIDARB.<br>
- */<br>
-<br>
-int function()<br>
-{<br>
-  return gl_InstanceIDARB;<br>
-}<br>
diff --git a/tests/spec/arb_draw_instanced/compiler/instanceidarb-enabled.frag b/tests/spec/arb_draw_instanced/compiler/instanceidarb-enabled.frag<br>
deleted file mode 100644<br>
index a59afca..0000000<br>
--- a/tests/spec/arb_draw_instanced/compiler/instanceidarb-enabled.frag<br>
+++ /dev/null<br>
@@ -1,24 +0,0 @@<br>
-/* [config]<br>
- * expect_result: fail<br>
- * glsl_version: 1.10<br>
- * require_extensions: GL_ARB_draw_instanced<br>
- * [end config]<br>
- *<br>
- * From the GL_ARB_draw_instanced spec:<br>
- *<br>
- *     "Change Section 7.1 "Vertex Shader Special Variables"<br>
- *<br>
- *     Add the following definition to the list of built-in variable<br>
- *     definitions:<br>
- *<br>
- *          int gl_InstanceIDARB // read-only"<br>
- *<br>
- * There is no mention of gl_InstanceIDARB in fragment shaders or<br>
- * geometry shaders.<br>
- */<br>
-#extension GL_ARB_draw_instanced: require<br>
-<br>
-int function()<br>
-{<br>
-  return gl_InstanceIDARB;<br>
-}<br>
diff --git a/tests/spec/arb_draw_instanced/compiler/instanceidarb-enabled.vert b/tests/spec/arb_draw_instanced/compiler/instanceidarb-enabled.vert<br>
deleted file mode 100644<br>
index beb4a9c..0000000<br>
--- a/tests/spec/arb_draw_instanced/compiler/instanceidarb-enabled.vert<br>
+++ /dev/null<br>
@@ -1,24 +0,0 @@<br>
-/* [config]<br>
- * expect_result: pass<br>
- * glsl_version: 1.10<br>
- * require_extensions: GL_ARB_draw_instanced<br>
- * [end config]<br>
- *<br>
- * From the GL_ARB_draw_instanced spec:<br>
- *<br>
- *     "Change Section 7.1 "Vertex Shader Special Variables"<br>
- *<br>
- *     Add the following definition to the list of built-in variable<br>
- *     definitions:<br>
- *<br>
- *          int gl_InstanceIDARB // read-only"<br>
- *<br>
- * There is no mention of gl_InstanceIDARB in fragment shaders or<br>
- * geometry shaders.<br>
- */<br>
-#extension GL_ARB_draw_instanced: require<br>
-<br>
-int function()<br>
-{<br>
-  return gl_InstanceIDARB;<br>
-}<br>
diff --git a/tests/spec/arb_draw_instanced/preprocessor/feature-macro-disabled.frag b/tests/spec/arb_draw_instanced/preprocessor/feature-macro-disabled.frag<br>
deleted file mode 100644<br>
index 0f95e1b..0000000<br>
--- a/tests/spec/arb_draw_instanced/preprocessor/feature-macro-disabled.frag<br>
+++ /dev/null<br>
@@ -1,12 +0,0 @@<br>
-/* [config]<br>
- * expect_result: pass<br>
- * glsl_version: 1.10<br>
- * require_extensions: !GL_ARB_draw_instanced<br>
- * [end config]<br>
- */<br>
-<br>
-#if defined GL_ARB_draw_instanced<br>
-#    error GL_ARB_draw_instanced is defined, but should not be<br>
-#endif<br>
-<br>
-float foo() { return 0.0; }<br>
diff --git a/tests/spec/arb_draw_instanced/preprocessor/feature-macro-disabled.vert b/tests/spec/arb_draw_instanced/preprocessor/feature-macro-disabled.vert<br>
deleted file mode 100644<br>
index 0f95e1b..0000000<br>
--- a/tests/spec/arb_draw_instanced/preprocessor/feature-macro-disabled.vert<br>
+++ /dev/null<br>
@@ -1,12 +0,0 @@<br>
-/* [config]<br>
- * expect_result: pass<br>
- * glsl_version: 1.10<br>
- * require_extensions: !GL_ARB_draw_instanced<br>
- * [end config]<br>
- */<br>
-<br>
-#if defined GL_ARB_draw_instanced<br>
-#    error GL_ARB_draw_instanced is defined, but should not be<br>
-#endif<br>
-<br>
-float foo() { return 0.0; }<br>
diff --git a/tests/spec/arb_draw_instanced/preprocessor/feature-macro-enabled.frag b/tests/spec/arb_draw_instanced/preprocessor/feature-macro-enabled.frag<br>
deleted file mode 100644<br>
index 766424c..0000000<br>
--- a/tests/spec/arb_draw_instanced/preprocessor/feature-macro-enabled.frag<br>
+++ /dev/null<br>
@@ -1,15 +0,0 @@<br>
-/* [config]<br>
- * expect_result: pass<br>
- * glsl_version: 1.10<br>
- * require_extensions: GL_ARB_draw_instanced<br>
- * [end config]<br>
- */<br>
-#extension GL_ARB_draw_instanced: require<br>
-<br>
-#if !defined GL_ARB_draw_instanced<br>
-#    error GL_ARB_draw_instanced is not defined<br>
-#elif GL_ARB_draw_instanced != 1<br>
-#    error GL_ARB_draw_instanced != 1<br>
-#endif<br>
-<br>
-float foo() { return 0.0; }<br>
diff --git a/tests/spec/arb_draw_instanced/preprocessor/feature-macro-enabled.vert b/tests/spec/arb_draw_instanced/preprocessor/feature-macro-enabled.vert<br>
deleted file mode 100644<br>
index 766424c..0000000<br>
--- a/tests/spec/arb_draw_instanced/preprocessor/feature-macro-enabled.vert<br>
+++ /dev/null<br>
@@ -1,15 +0,0 @@<br>
-/* [config]<br>
- * expect_result: pass<br>
- * glsl_version: 1.10<br>
- * require_extensions: GL_ARB_draw_instanced<br>
- * [end config]<br>
- */<br>
-#extension GL_ARB_draw_instanced: require<br>
-<br>
-#if !defined GL_ARB_draw_instanced<br>
-#    error GL_ARB_draw_instanced is not defined<br>
-#elif GL_ARB_draw_instanced != 1<br>
-#    error GL_ARB_draw_instanced != 1<br>
-#endif<br>
-<br>
-float foo() { return 0.0; }<br>
diff --git a/tests/spec/arb_enhanced_layouts/compiler/define.frag b/tests/spec/arb_enhanced_layouts/compiler/define.frag<br>
deleted file mode 100644<br>
index 4d52cf4..0000000<br>
--- a/tests/spec/arb_enhanced_layouts/compiler/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.40<br>
-// require_extensions: GL_ARB_enhanced_layouts<br>
-// [end config]<br>
-<br>
-#version 140<br>
-#extension GL_ARB_enhanced_layouts: require<br>
-<br>
-#if !defined GL_ARB_enhanced_layouts<br>
-#  error GL_ARB_enhanced_layouts is not defined<br>
-#elif GL_ARB_enhanced_layouts != 1<br>
-#  error GL_ARB_enhanced_layouts is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_enhanced_layouts/compiler/define.vert b/tests/spec/arb_enhanced_layouts/compiler/define.vert<br>
deleted file mode 100644<br>
index 4d52cf4..0000000<br>
--- a/tests/spec/arb_enhanced_layouts/compiler/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.40<br>
-// require_extensions: GL_ARB_enhanced_layouts<br>
-// [end config]<br>
-<br>
-#version 140<br>
-#extension GL_ARB_enhanced_layouts: require<br>
-<br>
-#if !defined GL_ARB_enhanced_layouts<br>
-#  error GL_ARB_enhanced_layouts is not defined<br>
-#elif GL_ARB_enhanced_layouts != 1<br>
-#  error GL_ARB_enhanced_layouts is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_explicit_attrib_location/1.10/preprocessor/define.frag b/tests/spec/arb_explicit_attrib_location/1.10/preprocessor/define.frag<br>
deleted file mode 100644<br>
index 7e03a53..0000000<br>
--- a/tests/spec/arb_explicit_attrib_location/1.10/preprocessor/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_ARB_explicit_attrib_location<br>
-// [end config]<br>
-<br>
-#version 110<br>
-#extension GL_ARB_explicit_attrib_location: require<br>
-<br>
-#if !defined GL_ARB_explicit_attrib_location<br>
-#  error GL_ARB_explicit_attrib_location is not defined<br>
-#elif GL_ARB_explicit_attrib_location != 1<br>
-#  error GL_ARB_explicit_attrib_location is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_explicit_attrib_location/1.10/preprocessor/define.vert b/tests/spec/arb_explicit_attrib_location/1.10/preprocessor/define.vert<br>
deleted file mode 100644<br>
index 7e03a53..0000000<br>
--- a/tests/spec/arb_explicit_attrib_location/1.10/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_ARB_explicit_attrib_location<br>
-// [end config]<br>
-<br>
-#version 110<br>
-#extension GL_ARB_explicit_attrib_location: require<br>
-<br>
-#if !defined GL_ARB_explicit_attrib_location<br>
-#  error GL_ARB_explicit_attrib_location is not defined<br>
-#elif GL_ARB_explicit_attrib_location != 1<br>
-#  error GL_ARB_explicit_attrib_location is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_explicit_attrib_location/1.20/preprocessor/define.frag b/tests/spec/arb_explicit_attrib_location/1.20/preprocessor/define.frag<br>
deleted file mode 100644<br>
index f89761c..0000000<br>
--- a/tests/spec/arb_explicit_attrib_location/1.20/preprocessor/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.20<br>
-// require_extensions: GL_ARB_explicit_attrib_location<br>
-// [end config]<br>
-<br>
-#version 120<br>
-#extension GL_ARB_explicit_attrib_location: require<br>
-<br>
-#if !defined GL_ARB_explicit_attrib_location<br>
-#  error GL_ARB_explicit_attrib_location is not defined<br>
-#elif GL_ARB_explicit_attrib_location != 1<br>
-#  error GL_ARB_explicit_attrib_location is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_explicit_attrib_location/1.20/preprocessor/define.vert b/tests/spec/arb_explicit_attrib_location/1.20/preprocessor/define.vert<br>
deleted file mode 100644<br>
index f89761c..0000000<br>
--- a/tests/spec/arb_explicit_attrib_location/1.20/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.20<br>
-// require_extensions: GL_ARB_explicit_attrib_location<br>
-// [end config]<br>
-<br>
-#version 120<br>
-#extension GL_ARB_explicit_attrib_location: require<br>
-<br>
-#if !defined GL_ARB_explicit_attrib_location<br>
-#  error GL_ARB_explicit_attrib_location is not defined<br>
-#elif GL_ARB_explicit_attrib_location != 1<br>
-#  error GL_ARB_explicit_attrib_location is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_explicit_attrib_location/1.30/preprocessor/define-130.frag b/tests/spec/arb_explicit_attrib_location/1.30/preprocessor/define-130.frag<br>
deleted file mode 100644<br>
index e9a3917..0000000<br>
--- a/tests/spec/arb_explicit_attrib_location/1.30/preprocessor/define-130.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.30<br>
-// require_extensions: GL_ARB_explicit_attrib_location<br>
-// [end config]<br>
-<br>
-#version 130<br>
-#extension GL_ARB_explicit_attrib_location: require<br>
-<br>
-#if !defined GL_ARB_explicit_attrib_location<br>
-#  error GL_ARB_explicit_attrib_location is not defined<br>
-#elif GL_ARB_explicit_attrib_location != 1<br>
-#  error GL_ARB_explicit_attrib_location is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_explicit_attrib_location/1.30/preprocessor/define-130.vert b/tests/spec/arb_explicit_attrib_location/1.30/preprocessor/define-130.vert<br>
deleted file mode 100644<br>
index e9a3917..0000000<br>
--- a/tests/spec/arb_explicit_attrib_location/1.30/preprocessor/define-130.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.30<br>
-// require_extensions: GL_ARB_explicit_attrib_location<br>
-// [end config]<br>
-<br>
-#version 130<br>
-#extension GL_ARB_explicit_attrib_location: require<br>
-<br>
-#if !defined GL_ARB_explicit_attrib_location<br>
-#  error GL_ARB_explicit_attrib_location is not defined<br>
-#elif GL_ARB_explicit_attrib_location != 1<br>
-#  error GL_ARB_explicit_attrib_location is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_explicit_uniform_location/preprocessor/define.frag b/tests/spec/arb_explicit_uniform_location/preprocessor/define.frag<br>
deleted file mode 100644<br>
index c88dd73..0000000<br>
--- a/tests/spec/arb_explicit_uniform_location/preprocessor/define.frag<br>
+++ /dev/null<br>
@@ -1,20 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.30<br>
-// require_extensions: GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location<br>
-// [end config]<br>
-<br>
-#version 130<br>
-#extension GL_ARB_explicit_attrib_location: require<br>
-#extension GL_ARB_explicit_uniform_location: require<br>
-<br>
-#if !defined GL_ARB_explicit_uniform_location<br>
-#  error GL_ARB_explicit_uniform_location is not defined<br>
-#elif GL_ARB_explicit_uniform_location != 1<br>
-#  error GL_ARB_explicit_uniform_location is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_explicit_uniform_location/preprocessor/define.vert b/tests/spec/arb_explicit_uniform_location/preprocessor/define.vert<br>
deleted file mode 100644<br>
index c88dd73..0000000<br>
--- a/tests/spec/arb_explicit_uniform_location/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,20 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.30<br>
-// require_extensions: GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location<br>
-// [end config]<br>
-<br>
-#version 130<br>
-#extension GL_ARB_explicit_attrib_location: require<br>
-#extension GL_ARB_explicit_uniform_location: require<br>
-<br>
-#if !defined GL_ARB_explicit_uniform_location<br>
-#  error GL_ARB_explicit_uniform_location is not defined<br>
-#elif GL_ARB_explicit_uniform_location != 1<br>
-#  error GL_ARB_explicit_uniform_location is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_gpu_shader_fp64/preprocessor/define.frag b/tests/spec/arb_gpu_shader_fp64/preprocessor/define.frag<br>
deleted file mode 100644<br>
index 85dd9bf..0000000<br>
--- a/tests/spec/arb_gpu_shader_fp64/preprocessor/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.50<br>
-// require_extensions: GL_ARB_gpu_shader_fp64<br>
-// [end config]<br>
-<br>
-#version 150<br>
-#extension GL_ARB_gpu_shader_fp64: require<br>
-<br>
-#if !defined GL_ARB_gpu_shader_fp64<br>
-#  error GL_ARB_gpu_shader_fp64 is not defined<br>
-#elif GL_ARB_gpu_shader_fp64 != 1<br>
-#  error GL_ARB_gpu_shader_fp64 is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_gpu_shader_fp64/preprocessor/define.vert b/tests/spec/arb_gpu_shader_fp64/preprocessor/define.vert<br>
deleted file mode 100644<br>
index 85dd9bf..0000000<br>
--- a/tests/spec/arb_gpu_shader_fp64/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.50<br>
-// require_extensions: GL_ARB_gpu_shader_fp64<br>
-// [end config]<br>
-<br>
-#version 150<br>
-#extension GL_ARB_gpu_shader_fp64: require<br>
-<br>
-#if !defined GL_ARB_gpu_shader_fp64<br>
-#  error GL_ARB_gpu_shader_fp64 is not defined<br>
-#elif GL_ARB_gpu_shader_fp64 != 1<br>
-#  error GL_ARB_gpu_shader_fp64 is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.10/define.frag b/tests/spec/arb_separate_shader_objects/compiler/1.10/define.frag<br>
deleted file mode 100644<br>
index 8ea068b..0000000<br>
--- a/tests/spec/arb_separate_shader_objects/compiler/1.10/define.frag<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_ARB_separate_shader_objects<br>
-// [end config]<br>
-#version 110<br>
-#extension GL_ARB_separate_shader_objects: require<br>
-<br>
-#if !defined GL_ARB_separate_shader_objects<br>
-#  error GL_ARB_separate_shader_objects is not defined<br>
-#elif GL_ARB_separate_shader_objects != 1<br>
-#  error GL_ARB_separate_shader_objects is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.10/define.vert b/tests/spec/arb_separate_shader_objects/compiler/1.10/define.vert<br>
deleted file mode 100644<br>
index 8ea068b..0000000<br>
--- a/tests/spec/arb_separate_shader_objects/compiler/1.10/define.vert<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_ARB_separate_shader_objects<br>
-// [end config]<br>
-#version 110<br>
-#extension GL_ARB_separate_shader_objects: require<br>
-<br>
-#if !defined GL_ARB_separate_shader_objects<br>
-#  error GL_ARB_separate_shader_objects is not defined<br>
-#elif GL_ARB_separate_shader_objects != 1<br>
-#  error GL_ARB_separate_shader_objects is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.20/define.frag b/tests/spec/arb_separate_shader_objects/compiler/1.20/define.frag<br>
deleted file mode 100644<br>
index fac81b9..0000000<br>
--- a/tests/spec/arb_separate_shader_objects/compiler/1.20/define.frag<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.20<br>
-// require_extensions: GL_ARB_separate_shader_objects<br>
-// [end config]<br>
-#version 120<br>
-#extension GL_ARB_separate_shader_objects: require<br>
-<br>
-#if !defined GL_ARB_separate_shader_objects<br>
-#  error GL_ARB_separate_shader_objects is not defined<br>
-#elif GL_ARB_separate_shader_objects != 1<br>
-#  error GL_ARB_separate_shader_objects is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.20/define.vert b/tests/spec/arb_separate_shader_objects/compiler/1.20/define.vert<br>
deleted file mode 100644<br>
index fac81b9..0000000<br>
--- a/tests/spec/arb_separate_shader_objects/compiler/1.20/define.vert<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.20<br>
-// require_extensions: GL_ARB_separate_shader_objects<br>
-// [end config]<br>
-#version 120<br>
-#extension GL_ARB_separate_shader_objects: require<br>
-<br>
-#if !defined GL_ARB_separate_shader_objects<br>
-#  error GL_ARB_separate_shader_objects is not defined<br>
-#elif GL_ARB_separate_shader_objects != 1<br>
-#  error GL_ARB_separate_shader_objects is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.30/define.frag b/tests/spec/arb_separate_shader_objects/compiler/1.30/define.frag<br>
deleted file mode 100644<br>
index ddccb6e..0000000<br>
--- a/tests/spec/arb_separate_shader_objects/compiler/1.30/define.frag<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.30<br>
-// require_extensions: GL_ARB_separate_shader_objects<br>
-// [end config]<br>
-#version 130<br>
-#extension GL_ARB_separate_shader_objects: require<br>
-<br>
-#if !defined GL_ARB_separate_shader_objects<br>
-#  error GL_ARB_separate_shader_objects is not defined<br>
-#elif GL_ARB_separate_shader_objects != 1<br>
-#  error GL_ARB_separate_shader_objects is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.30/define.vert b/tests/spec/arb_separate_shader_objects/compiler/1.30/define.vert<br>
deleted file mode 100644<br>
index ddccb6e..0000000<br>
--- a/tests/spec/arb_separate_shader_objects/compiler/1.30/define.vert<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.30<br>
-// require_extensions: GL_ARB_separate_shader_objects<br>
-// [end config]<br>
-#version 130<br>
-#extension GL_ARB_separate_shader_objects: require<br>
-<br>
-#if !defined GL_ARB_separate_shader_objects<br>
-#  error GL_ARB_separate_shader_objects is not defined<br>
-#elif GL_ARB_separate_shader_objects != 1<br>
-#  error GL_ARB_separate_shader_objects is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.40/define.frag b/tests/spec/arb_separate_shader_objects/compiler/1.40/define.frag<br>
deleted file mode 100644<br>
index 9ae5932..0000000<br>
--- a/tests/spec/arb_separate_shader_objects/compiler/1.40/define.frag<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.40<br>
-// require_extensions: GL_ARB_separate_shader_objects<br>
-// [end config]<br>
-#version 140<br>
-#extension GL_ARB_separate_shader_objects: require<br>
-<br>
-#if !defined GL_ARB_separate_shader_objects<br>
-#  error GL_ARB_separate_shader_objects is not defined<br>
-#elif GL_ARB_separate_shader_objects != 1<br>
-#  error GL_ARB_separate_shader_objects is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.40/define.vert b/tests/spec/arb_separate_shader_objects/compiler/1.40/define.vert<br>
deleted file mode 100644<br>
index 9ae5932..0000000<br>
--- a/tests/spec/arb_separate_shader_objects/compiler/1.40/define.vert<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.40<br>
-// require_extensions: GL_ARB_separate_shader_objects<br>
-// [end config]<br>
-#version 140<br>
-#extension GL_ARB_separate_shader_objects: require<br>
-<br>
-#if !defined GL_ARB_separate_shader_objects<br>
-#  error GL_ARB_separate_shader_objects is not defined<br>
-#elif GL_ARB_separate_shader_objects != 1<br>
-#  error GL_ARB_separate_shader_objects is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.50/define.frag b/tests/spec/arb_separate_shader_objects/compiler/1.50/define.frag<br>
deleted file mode 100644<br>
index ae1f2e9..0000000<br>
--- a/tests/spec/arb_separate_shader_objects/compiler/1.50/define.frag<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.50<br>
-// require_extensions: GL_ARB_separate_shader_objects<br>
-// [end config]<br>
-#version 150<br>
-#extension GL_ARB_separate_shader_objects: require<br>
-<br>
-#if !defined GL_ARB_separate_shader_objects<br>
-#  error GL_ARB_separate_shader_objects is not defined<br>
-#elif GL_ARB_separate_shader_objects != 1<br>
-#  error GL_ARB_separate_shader_objects is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.50/define.geom b/tests/spec/arb_separate_shader_objects/compiler/1.50/define.geom<br>
deleted file mode 100644<br>
index ae1f2e9..0000000<br>
--- a/tests/spec/arb_separate_shader_objects/compiler/1.50/define.geom<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.50<br>
-// require_extensions: GL_ARB_separate_shader_objects<br>
-// [end config]<br>
-#version 150<br>
-#extension GL_ARB_separate_shader_objects: require<br>
-<br>
-#if !defined GL_ARB_separate_shader_objects<br>
-#  error GL_ARB_separate_shader_objects is not defined<br>
-#elif GL_ARB_separate_shader_objects != 1<br>
-#  error GL_ARB_separate_shader_objects is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.50/define.vert b/tests/spec/arb_separate_shader_objects/compiler/1.50/define.vert<br>
deleted file mode 100644<br>
index ae1f2e9..0000000<br>
--- a/tests/spec/arb_separate_shader_objects/compiler/1.50/define.vert<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.50<br>
-// require_extensions: GL_ARB_separate_shader_objects<br>
-// [end config]<br>
-#version 150<br>
-#extension GL_ARB_separate_shader_objects: require<br>
-<br>
-#if !defined GL_ARB_separate_shader_objects<br>
-#  error GL_ARB_separate_shader_objects is not defined<br>
-#elif GL_ARB_separate_shader_objects != 1<br>
-#  error GL_ARB_separate_shader_objects is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_shader_atomic_counter_ops/preprocessor/define.frag b/tests/spec/arb_shader_atomic_counter_ops/preprocessor/define.frag<br>
deleted file mode 100644<br>
index 69633af..0000000<br>
--- a/tests/spec/arb_shader_atomic_counter_ops/preprocessor/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.40<br>
-// require_extensions: GL_ARB_shader_atomic_counter_ops<br>
-// [end config]<br>
-<br>
-#version 140<br>
-#extension GL_ARB_shader_atomic_counter_ops: require<br>
-<br>
-#if !defined GL_ARB_shader_atomic_counter_ops<br>
-#  error GL_ARB_shader_atomic_counter_ops is not defined<br>
-#elif GL_ARB_shader_atomic_counter_ops != 1<br>
-#  error GL_ARB_shader_atomic_counter_ops is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_shader_atomic_counter_ops/preprocessor/define.vert b/tests/spec/arb_shader_atomic_counter_ops/preprocessor/define.vert<br>
deleted file mode 100644<br>
index 69633af..0000000<br>
--- a/tests/spec/arb_shader_atomic_counter_ops/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.40<br>
-// require_extensions: GL_ARB_shader_atomic_counter_ops<br>
-// [end config]<br>
-<br>
-#version 140<br>
-#extension GL_ARB_shader_atomic_counter_ops: require<br>
-<br>
-#if !defined GL_ARB_shader_atomic_counter_ops<br>
-#  error GL_ARB_shader_atomic_counter_ops is not defined<br>
-#elif GL_ARB_shader_atomic_counter_ops != 1<br>
-#  error GL_ARB_shader_atomic_counter_ops is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_shader_atomic_counters/preprocessor/define.frag b/tests/spec/arb_shader_atomic_counters/preprocessor/define.frag<br>
deleted file mode 100644<br>
index f48fe8e..0000000<br>
--- a/tests/spec/arb_shader_atomic_counters/preprocessor/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.40<br>
-// require_extensions: GL_ARB_shader_atomic_counters<br>
-// [end config]<br>
-<br>
-#version 140<br>
-#extension GL_ARB_shader_atomic_counters: require<br>
-<br>
-#if !defined GL_ARB_shader_atomic_counters<br>
-#  error GL_ARB_shader_atomic_counters is not defined<br>
-#elif GL_ARB_shader_atomic_counters != 1<br>
-#  error GL_ARB_shader_atomic_counters is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_shader_atomic_counters/preprocessor/define.vert b/tests/spec/arb_shader_atomic_counters/preprocessor/define.vert<br>
deleted file mode 100644<br>
index f48fe8e..0000000<br>
--- a/tests/spec/arb_shader_atomic_counters/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.40<br>
-// require_extensions: GL_ARB_shader_atomic_counters<br>
-// [end config]<br>
-<br>
-#version 140<br>
-#extension GL_ARB_shader_atomic_counters: require<br>
-<br>
-#if !defined GL_ARB_shader_atomic_counters<br>
-#  error GL_ARB_shader_atomic_counters is not defined<br>
-#elif GL_ARB_shader_atomic_counters != 1<br>
-#  error GL_ARB_shader_atomic_counters is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_shader_draw_parameters/compiler/define.vert b/tests/spec/arb_shader_draw_parameters/compiler/define.vert<br>
deleted file mode 100644<br>
index 073ec64..0000000<br>
--- a/tests/spec/arb_shader_draw_parameters/compiler/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.40<br>
-// require_extensions: GL_ARB_shader_draw_parameters<br>
-// [end config]<br>
-<br>
-#version 140<br>
-#extension GL_ARB_shader_draw_parameters: require<br>
-<br>
-#if !defined GL_ARB_shader_draw_parameters<br>
-#  error GL_ARB_shader_draw_parameters is not defined<br>
-#elif GL_ARB_shader_draw_parameters != 1<br>
-#  error GL_ARB_shader_draw_parameters is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_shader_storage_buffer_object/preprocessor/define.frag b/tests/spec/arb_shader_storage_buffer_object/preprocessor/define.frag<br>
deleted file mode 100644<br>
index ca9fc6d..0000000<br>
--- a/tests/spec/arb_shader_storage_buffer_object/preprocessor/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_ARB_shader_storage_buffer_object<br>
-// [end config]<br>
-<br>
-#version 110<br>
-#extension GL_ARB_shader_storage_buffer_object: require<br>
-<br>
-#if !defined GL_ARB_shader_storage_buffer_object<br>
-#  error GL_ARB_shader_storage_buffer_object is not defined<br>
-#elif GL_ARB_shader_storage_buffer_object != 1<br>
-#  error GL_ARB_shader_storage_buffer_object is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_shader_storage_buffer_object/preprocessor/define.vert b/tests/spec/arb_shader_storage_buffer_object/preprocessor/define.vert<br>
deleted file mode 100644<br>
index ca9fc6d..0000000<br>
--- a/tests/spec/arb_shader_storage_buffer_object/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_ARB_shader_storage_buffer_object<br>
-// [end config]<br>
-<br>
-#version 110<br>
-#extension GL_ARB_shader_storage_buffer_object: require<br>
-<br>
-#if !defined GL_ARB_shader_storage_buffer_object<br>
-#  error GL_ARB_shader_storage_buffer_object is not defined<br>
-#elif GL_ARB_shader_storage_buffer_object != 1<br>
-#  error GL_ARB_shader_storage_buffer_object is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_shader_subroutine/preprocessor/define.vert b/tests/spec/arb_shader_subroutine/preprocessor/define.vert<br>
deleted file mode 100644<br>
index 37d99b6..0000000<br>
--- a/tests/spec/arb_shader_subroutine/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.50<br>
-// require_extensions: GL_ARB_shader_subroutine<br>
-// [end config]<br>
-<br>
-#version 150<br>
-#extension GL_ARB_shader_subroutine: require<br>
-<br>
-#if !defined GL_ARB_shader_subroutine<br>
-#  error GL_ARB_shader_subroutine is not defined<br>
-#elif GL_ARB_shader_subroutine != 1<br>
-#  error GL_ARB_shader_subroutine is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_tessellation_shader/compiler/define.tesc b/tests/spec/arb_tessellation_shader/compiler/define.tesc<br>
deleted file mode 100644<br>
index ed9c782..0000000<br>
--- a/tests/spec/arb_tessellation_shader/compiler/define.tesc<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.50<br>
-// require_extensions: GL_ARB_tessellation_shader<br>
-// [end config]<br>
-<br>
-#version 150<br>
-#extension GL_ARB_tessellation_shader: require<br>
-<br>
-#if !defined GL_ARB_tessellation_shader<br>
-#  error GL_ARB_tessellation_shader is not defined<br>
-#elif GL_ARB_tessellation_shader != 1<br>
-#  error GL_ARB_tessellation_shader is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_tessellation_shader/compiler/define.tese b/tests/spec/arb_tessellation_shader/compiler/define.tese<br>
deleted file mode 100644<br>
index ed9c782..0000000<br>
--- a/tests/spec/arb_tessellation_shader/compiler/define.tese<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.50<br>
-// require_extensions: GL_ARB_tessellation_shader<br>
-// [end config]<br>
-<br>
-#version 150<br>
-#extension GL_ARB_tessellation_shader: require<br>
-<br>
-#if !defined GL_ARB_tessellation_shader<br>
-#  error GL_ARB_tessellation_shader is not defined<br>
-#elif GL_ARB_tessellation_shader != 1<br>
-#  error GL_ARB_tessellation_shader is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_uniform_buffer_object/preprocessor/define.frag b/tests/spec/arb_uniform_buffer_object/preprocessor/define.frag<br>
deleted file mode 100644<br>
index e1c13e8..0000000<br>
--- a/tests/spec/arb_uniform_buffer_object/preprocessor/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_ARB_uniform_buffer_object<br>
-// [end config]<br>
-<br>
-#version 110<br>
-#extension GL_ARB_uniform_buffer_object: require<br>
-<br>
-#if !defined GL_ARB_uniform_buffer_object<br>
-#  error GL_ARB_uniform_buffer_object is not defined<br>
-#elif GL_ARB_uniform_buffer_object != 1<br>
-#  error GL_ARB_uniform_buffer_object is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_uniform_buffer_object/preprocessor/define.vert b/tests/spec/arb_uniform_buffer_object/preprocessor/define.vert<br>
deleted file mode 100644<br>
index e1c13e8..0000000<br>
--- a/tests/spec/arb_uniform_buffer_object/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_ARB_uniform_buffer_object<br>
-// [end config]<br>
-<br>
-#version 110<br>
-#extension GL_ARB_uniform_buffer_object: require<br>
-<br>
-#if !defined GL_ARB_uniform_buffer_object<br>
-#  error GL_ARB_uniform_buffer_object is not defined<br>
-#elif GL_ARB_uniform_buffer_object != 1<br>
-#  error GL_ARB_uniform_buffer_object is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_vertex_attrib_64bit/preprocessor/define.frag b/tests/spec/arb_vertex_attrib_64bit/preprocessor/define.frag<br>
deleted file mode 100644<br>
index 9bd723b..0000000<br>
--- a/tests/spec/arb_vertex_attrib_64bit/preprocessor/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.50<br>
-// require_extensions: GL_ARB_vertex_attrib_64bit<br>
-// [end config]<br>
-<br>
-#version 150<br>
-#extension GL_ARB_vertex_attrib_64bit: require<br>
-<br>
-#if !defined GL_ARB_vertex_attrib_64bit<br>
-#  error GL_ARB_vertex_attrib_64bit is not defined<br>
-#elif GL_ARB_vertex_attrib_64bit != 1<br>
-#  error GL_ARB_vertex_attrib_64bit is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/arb_vertex_attrib_64bit/preprocessor/define.vert b/tests/spec/arb_vertex_attrib_64bit/preprocessor/define.vert<br>
deleted file mode 100644<br>
index 9bd723b..0000000<br>
--- a/tests/spec/arb_vertex_attrib_64bit/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.50<br>
-// require_extensions: GL_ARB_vertex_attrib_64bit<br>
-// [end config]<br>
-<br>
-#version 150<br>
-#extension GL_ARB_vertex_attrib_64bit: require<br>
-<br>
-#if !defined GL_ARB_vertex_attrib_64bit<br>
-#  error GL_ARB_vertex_attrib_64bit is not defined<br>
-#elif GL_ARB_vertex_attrib_64bit != 1<br>
-#  error GL_ARB_vertex_attrib_64bit is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/ext_shader_samples_identical/glsl-1.10/preprocessor/define.frag b/tests/spec/ext_shader_samples_identical/glsl-1.10/preprocessor/define.frag<br>
deleted file mode 100644<br>
index c48232a..0000000<br>
--- a/tests/spec/ext_shader_samples_identical/glsl-1.10/preprocessor/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_ARB_texture_multisample GL_EXT_shader_samples_identical<br>
-// [end config]<br>
-<br>
-#extension GL_ARB_texture_multisample: require<br>
-#extension GL_EXT_shader_samples_identical: require<br>
-<br>
-#if !defined GL_EXT_shader_samples_identical<br>
-#  error GL_EXT_shader_samples_identical is not defined<br>
-#elif GL_EXT_shader_samples_identical != 1<br>
-#  error GL_EXT_shader_samples_identical is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/ext_shader_samples_identical/glsl-1.10/preprocessor/define.vert b/tests/spec/ext_shader_samples_identical/glsl-1.10/preprocessor/define.vert<br>
deleted file mode 100644<br>
index c48232a..0000000<br>
--- a/tests/spec/ext_shader_samples_identical/glsl-1.10/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.10<br>
-// require_extensions: GL_ARB_texture_multisample GL_EXT_shader_samples_identical<br>
-// [end config]<br>
-<br>
-#extension GL_ARB_texture_multisample: require<br>
-#extension GL_EXT_shader_samples_identical: require<br>
-<br>
-#if !defined GL_EXT_shader_samples_identical<br>
-#  error GL_EXT_shader_samples_identical is not defined<br>
-#elif GL_EXT_shader_samples_identical != 1<br>
-#  error GL_EXT_shader_samples_identical is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/ext_shader_samples_identical/glsl-1.50/preprocessor/define.geom b/tests/spec/ext_shader_samples_identical/glsl-1.50/preprocessor/define.geom<br>
deleted file mode 100644<br>
index c7d677a..0000000<br>
--- a/tests/spec/ext_shader_samples_identical/glsl-1.50/preprocessor/define.geom<br>
+++ /dev/null<br>
@@ -1,18 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 1.50<br>
-// require_extensions: GL_EXT_shader_samples_identical<br>
-// [end config]<br>
-<br>
-#extension GL_EXT_shader_samples_identical: require<br>
-<br>
-#if !defined GL_EXT_shader_samples_identical<br>
-#  error GL_EXT_shader_samples_identical is not defined<br>
-#elif GL_EXT_shader_samples_identical != 1<br>
-#  error GL_EXT_shader_samples_identical is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/ext_shader_samples_identical/glsl-es-3.10/preprocessor/define.frag b/tests/spec/ext_shader_samples_identical/glsl-es-3.10/preprocessor/define.frag<br>
deleted file mode 100644<br>
index 00a1d1c..0000000<br>
--- a/tests/spec/ext_shader_samples_identical/glsl-es-3.10/preprocessor/define.frag<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 3.10<br>
-// require_extensions: GL_EXT_shader_samples_identical<br>
-// [end config]<br>
-<br>
-#version 310 es<br>
-#extension GL_EXT_shader_samples_identical: require<br>
-<br>
-#if !defined GL_EXT_shader_samples_identical<br>
-#  error GL_EXT_shader_samples_identical is not defined<br>
-#elif GL_EXT_shader_samples_identical != 1<br>
-#  error GL_EXT_shader_samples_identical is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
diff --git a/tests/spec/ext_shader_samples_identical/glsl-es-3.10/preprocessor/define.vert b/tests/spec/ext_shader_samples_identical/glsl-es-3.10/preprocessor/define.vert<br>
deleted file mode 100644<br>
index 00a1d1c..0000000<br>
--- a/tests/spec/ext_shader_samples_identical/glsl-es-3.10/preprocessor/define.vert<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-// [config]<br>
-// expect_result: pass<br>
-// glsl_version: 3.10<br>
-// require_extensions: GL_EXT_shader_samples_identical<br>
-// [end config]<br>
-<br>
-#version 310 es<br>
-#extension GL_EXT_shader_samples_identical: require<br>
-<br>
-#if !defined GL_EXT_shader_samples_identical<br>
-#  error GL_EXT_shader_samples_identical is not defined<br>
-#elif GL_EXT_shader_samples_identical != 1<br>
-#  error GL_EXT_shader_samples_identical is not equal to 1<br>
-#endif<br>
-<br>
-/* Some compilers generate spurious errors if a shader does not contain<br>
- * any code or declarations.<br>
- */<br>
-int foo(void) { return 1; }<br>
--<br>
2.8.0<br>
<br>
_______________________________________________<br>
Piglit mailing list<br>
<a href="mailto:Piglit@lists.freedesktop.org">Piglit@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/piglit" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/piglit</a><br>
</blockquote></div>