summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2011-08-17 16:46:48 -0700
committerKenneth Graunke <kenneth@whitecape.org>2011-08-23 11:42:51 -0700
commit8f104ee6040b8a7d5e2bbbef8c42e690fc8fb2d0 (patch)
tree5398ffb47c36a27a5712f8772a769cb224e121b4
parent3f04023393902b2d29a9e91f9e2f38caa53d520e (diff)
Add a piglit_require_GLSL_version(int version) helper function.
Many tests want to check for a specific GLSL version. This helper function makes that really easy: piglit_require_GLSL_version(130); Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
-rw-r--r--tests/util/piglit-shader-gl.c18
-rw-r--r--tests/util/piglit-util.h7
2 files changed, 25 insertions, 0 deletions
diff --git a/tests/util/piglit-shader-gl.c b/tests/util/piglit-shader-gl.c
index 496e8dc81..352ac8f01 100644
--- a/tests/util/piglit-shader-gl.c
+++ b/tests/util/piglit-shader-gl.c
@@ -205,6 +205,24 @@ piglit_require_GLSL(void)
}
void
+piglit_require_GLSL_version(int version)
+{
+ bool es;
+ int major, minor;
+
+ piglit_require_GLSL();
+
+ piglit_get_glsl_version(&es, &major, &minor);
+
+ if (es || 100 * major + minor < version) {
+ printf("GLSL %d.%d not supported.\n",
+ version / 100, version % 100);
+ piglit_report_result(PIGLIT_SKIP);
+ exit(1);
+ }
+}
+
+void
piglit_require_vertex_shader(void)
{
if (GLEW_VERSION_2_0) {
diff --git a/tests/util/piglit-util.h b/tests/util/piglit-util.h
index da4c844d9..78874eebd 100644
--- a/tests/util/piglit-util.h
+++ b/tests/util/piglit-util.h
@@ -311,6 +311,13 @@ extern PFNGLUNIFORMMATRIX4X3FVPROC piglit_UniformMatrix4x3fv;
#endif
/*@}*/
+/**
+ * Require a specific version of GLSL.
+ *
+ * \param version Integer version, for example 130
+ */
+extern void piglit_require_GLSL_version(int version);
+/** Require any version of GLSL */
extern void piglit_require_GLSL(void);
extern void piglit_require_fragment_shader(void);
extern void piglit_require_vertex_shader(void);