[Piglit] [PATCH 03/10] sso: Use pick_a_glsl_version utility function

Ian Romanick idr at freedesktop.org
Sun Apr 27 14:12:06 PDT 2014


From: Ian Romanick <ian.d.romanick at intel.com>

Existing tests had this open-coded.

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
 tests/spec/arb_separate_shader_objects/400-combinations.c   | 13 ++-----------
 .../ActiveShaderProgram-invalid-program.c                   |  8 ++------
 tests/spec/arb_separate_shader_objects/CMakeLists.gl.txt    |  6 +++---
 .../arb_separate_shader_objects/rendezvous_by_location.c    | 13 ++-----------
 4 files changed, 9 insertions(+), 31 deletions(-)

diff --git a/tests/spec/arb_separate_shader_objects/400-combinations.c b/tests/spec/arb_separate_shader_objects/400-combinations.c
index 388536f..8278983 100644
--- a/tests/spec/arb_separate_shader_objects/400-combinations.c
+++ b/tests/spec/arb_separate_shader_objects/400-combinations.c
@@ -40,6 +40,7 @@
  * (with --by-location command line parameter).
  */
 #include "piglit-util-gl-common.h"
+#include "sso-common.h"
 
 /**
  * Size of each square that will be drawn.
@@ -199,9 +200,6 @@ piglit_init(int argc, char **argv)
 	unsigned i;
 	unsigned j;
 	unsigned idx;
-	bool es;
-	int glsl_major;
-	int glsl_minor;
 	const char *location;
 	const char *vertex_name;
 	const char *fragment_name;
@@ -227,14 +225,7 @@ piglit_init(int argc, char **argv)
 		fragment_name = "in_color";
 	}
 
-	/* Some NVIDIA drivers have issues with layout qualifiers, 'in'
-	 * keywords, and 'out' keywords in "lower" GLSL versions.  If the
-	 * driver supports GLSL >= 1.40, use 1.40.  Otherwise, pick the
-	 * highest version that the driver supports.
-	 */
-	piglit_get_glsl_version(&es, &glsl_major, &glsl_minor);
-	glsl_version = ((glsl_major * 100) + glsl_minor) >= 140
-		? 140 : ((glsl_major * 100) + glsl_minor);
+	glsl_version = pick_a_glsl_version();
 
 	/* Generate the vertex shader programs.  Each vertex shader is
 	 * hardcoded to select a specific column on the display.
diff --git a/tests/spec/arb_separate_shader_objects/ActiveShaderProgram-invalid-program.c b/tests/spec/arb_separate_shader_objects/ActiveShaderProgram-invalid-program.c
index 5f8b696..fa15f93 100644
--- a/tests/spec/arb_separate_shader_objects/ActiveShaderProgram-invalid-program.c
+++ b/tests/spec/arb_separate_shader_objects/ActiveShaderProgram-invalid-program.c
@@ -40,6 +40,7 @@
  */
 
 #include "piglit-util-gl-common.h"
+#include "sso-common.h"
 
 PIGLIT_GL_TEST_CONFIG_BEGIN
 
@@ -68,16 +69,11 @@ piglit_init(int argc, char **argv)
 	GLuint unlinked_prog;
 	GLuint shader;
 	unsigned glsl_version;
-	bool es;
-	int glsl_major;
-	int glsl_minor;
 	char *source;
 
 	piglit_require_extension("GL_ARB_separate_shader_objects");
 
-	piglit_get_glsl_version(&es, &glsl_major, &glsl_minor);
-	glsl_version = ((glsl_major * 100) + glsl_minor) >= 140
-		? 140 : ((glsl_major * 100) + glsl_minor);
+	glsl_version = pick_a_glsl_version();
 
 	glGenProgramPipelines(1, &pipe);
 	pass = piglit_check_gl_error(GL_NO_ERROR) && pass;
diff --git a/tests/spec/arb_separate_shader_objects/CMakeLists.gl.txt b/tests/spec/arb_separate_shader_objects/CMakeLists.gl.txt
index b8ac47d..f0dcf01 100644
--- a/tests/spec/arb_separate_shader_objects/CMakeLists.gl.txt
+++ b/tests/spec/arb_separate_shader_objects/CMakeLists.gl.txt
@@ -9,13 +9,13 @@ link_libraries (
 	${OPENGL_glu_LIBRARY}
 )
 
-piglit_add_executable (arb_separate_shader_object-400-combinations 400-combinations.c)
+piglit_add_executable (arb_separate_shader_object-400-combinations 400-combinations.c sso-common.c)
 piglit_add_executable (arb_separate_shader_object-active-sampler-conflict active-sampler-conflict.c)
-piglit_add_executable (arb_separate_shader_object-ActiveShaderProgram-invalid-program ActiveShaderProgram-invalid-program.c)
+piglit_add_executable (arb_separate_shader_object-ActiveShaderProgram-invalid-program ActiveShaderProgram-invalid-program.c sso-common.c)
 piglit_add_executable (arb_separate_shader_object-GetProgramPipelineiv GetProgramPipelineiv.c)
 piglit_add_executable (arb_separate_shader_object-IsProgramPipeline IsProgramPipeline.c)
 piglit_add_executable (arb_separate_shader_object-mix_pipeline_useprogram mix_pipeline_useprogram.c)
 piglit_add_executable (arb_separate_shader_object-ProgramUniform-coverage ProgramUniform-coverage.c)
-piglit_add_executable (arb_separate_shader_object-rendezvous_by_location rendezvous_by_location.c)
+piglit_add_executable (arb_separate_shader_object-rendezvous_by_location rendezvous_by_location.c sso-common.c)
 piglit_add_executable (arb_separate_shader_object-UseProgramStages-non-separable UseProgramStages-non-separable.c)
 piglit_add_executable (arb_separate_shader_object-ValidateProgramPipeline ValidateProgramPipeline.c)
diff --git a/tests/spec/arb_separate_shader_objects/rendezvous_by_location.c b/tests/spec/arb_separate_shader_objects/rendezvous_by_location.c
index 4193ea5..b44211c 100644
--- a/tests/spec/arb_separate_shader_objects/rendezvous_by_location.c
+++ b/tests/spec/arb_separate_shader_objects/rendezvous_by_location.c
@@ -42,6 +42,7 @@
  * shader.
  */
 #include "piglit-util-gl-common.h"
+#include "sso-common.h"
 
 PIGLIT_GL_TEST_CONFIG_BEGIN
 
@@ -140,9 +141,6 @@ void piglit_init(int argc, char **argv)
 	GLuint vs_prog;
 	GLuint fs_prog_same_declaration_order;
 	GLuint fs_prog_same_location_order;
-	bool es;
-	int glsl_major;
-	int glsl_minor;
 	char *source;
 
 	piglit_require_vertex_shader();
@@ -150,14 +148,7 @@ void piglit_init(int argc, char **argv)
 	piglit_require_extension("GL_ARB_separate_shader_objects");
 	piglit_require_extension("GL_ARB_explicit_attrib_location");
 
-	/* Some NVIDIA drivers have issues with layout qualifiers, 'in'
-	 * keywords, and 'out' keywords in "lower" GLSL versions.  If the
-	 * driver supports GLSL >= 1.40, use 1.40.  Otherwise, pick the
-	 * highest version that the driver supports.
-	 */
-	piglit_get_glsl_version(&es, &glsl_major, &glsl_minor);
-	glsl_version = ((glsl_major * 100) + glsl_minor) >= 140
-		? 140 : ((glsl_major * 100) + glsl_minor);
+	glsl_version = pick_a_glsl_version();
 
 	asprintf(&source, vs_code_template, glsl_version);
 	vs_prog = glCreateShaderProgramv(GL_VERTEX_SHADER, 1,
-- 
1.8.1.4



More information about the Piglit mailing list