[Piglit] [PATCH 3/3] arb_viewport_array: set KHR_no_error compatibility

Samuel Pitoiset samuel.pitoiset at gmail.com
Fri Jun 23 14:23:46 UTC 2017


Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 tests/spec/arb_viewport_array/bounds.c             | 53 ++++++++++++----------
 tests/spec/arb_viewport_array/clear.c              |  1 +
 .../spec/arb_viewport_array/depth_range_indices.c  | 45 +++++++++---------
 tests/spec/arb_viewport_array/minmax.c             |  1 +
 tests/spec/arb_viewport_array/queries.c            | 31 +++++++------
 tests/spec/arb_viewport_array/render_depthrange.c  |  1 +
 tests/spec/arb_viewport_array/render_scissor.c     |  1 +
 tests/spec/arb_viewport_array/render_viewport.c    |  1 +
 tests/spec/arb_viewport_array/render_viewport_2.c  |  1 +
 tests/spec/arb_viewport_array/scissor_check.c      |  1 +
 tests/spec/arb_viewport_array/scissor_indices.c    | 28 +++++++-----
 tests/spec/arb_viewport_array/viewport_indices.c   | 52 +++++++++++----------
 12 files changed, 122 insertions(+), 94 deletions(-)

diff --git a/tests/spec/arb_viewport_array/bounds.c b/tests/spec/arb_viewport_array/bounds.c
index 9a8e8697d..8d43e9f97 100644
--- a/tests/spec/arb_viewport_array/bounds.c
+++ b/tests/spec/arb_viewport_array/bounds.c
@@ -37,6 +37,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
@@ -116,18 +117,20 @@ viewport_bounds(GLint maxVP)
 
 	pass = piglit_check_gl_error(GL_NO_ERROR) && pass;
 
-	/* negative width, height gives gl error */
-	vp[2] = -10.3;
-	vp[3] = 0.0;
-	for (i = 0; i < 2; i++) {
-		glViewportArrayv(0, 1, vp);
-		pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
-		glViewportIndexedf(1, vp[0], vp[1], vp[2], vp[3]);
-		pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
-		glViewportIndexedfv(2, vp);
-		pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
-		vp[2] = 5.0;
-		vp[3] = -12345.7;
+	if (!piglit_khr_no_error) {
+		/* negative width, height gives gl error */
+		vp[2] = -10.3;
+		vp[3] = 0.0;
+		for (i = 0; i < 2; i++) {
+			glViewportArrayv(0, 1, vp);
+			pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+			glViewportIndexedf(1, vp[0], vp[1], vp[2], vp[3]);
+			pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+			glViewportIndexedfv(2, vp);
+			pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+			vp[2] = 5.0;
+			vp[3] = -12345.7;
+		}
 	}
 
 	return pass;
@@ -232,18 +235,20 @@ scissor_bounds(GLint maxVP)
 	glScissorIndexed(0, 0x8000, 0x80000000, 0x7ffff, 0x7fffffff);
 	pass = piglit_check_gl_error(GL_NO_ERROR) && pass;
 
-	/* negative width, height gives gl error */
-	sc[2] = -10;
-	sc[3] = 0;
-	for (i = 0; i < 2; i++) {
-		glScissorArrayv(0, 1, sc);
-		pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
-		glScissorIndexed(1, sc[0], sc[1], sc[2], sc[3]);
-		pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
-		glScissorIndexedv(2, sc);
-		pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
-		sc[2] = 5;
-		sc[3] = -12345;
+	if (!piglit_khr_no_error) {
+		/* negative width, height gives gl error */
+		sc[2] = -10;
+		sc[3] = 0;
+		for (i = 0; i < 2; i++) {
+			glScissorArrayv(0, 1, sc);
+			pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+			glScissorIndexed(1, sc[0], sc[1], sc[2], sc[3]);
+			pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+			glScissorIndexedv(2, sc);
+			pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+			sc[2] = 5;
+			sc[3] = -12345;
+		}
 	}
 
 	return pass;
diff --git a/tests/spec/arb_viewport_array/clear.c b/tests/spec/arb_viewport_array/clear.c
index aee9bcab9..3d6200cc6 100644
--- a/tests/spec/arb_viewport_array/clear.c
+++ b/tests/spec/arb_viewport_array/clear.c
@@ -35,6 +35,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_RGB | PIGLIT_GL_VISUAL_DOUBLE;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
diff --git a/tests/spec/arb_viewport_array/depth_range_indices.c b/tests/spec/arb_viewport_array/depth_range_indices.c
index 806b24cad..a0f58f456 100644
--- a/tests/spec/arb_viewport_array/depth_range_indices.c
+++ b/tests/spec/arb_viewport_array/depth_range_indices.c
@@ -41,6 +41,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
@@ -118,30 +119,32 @@ test_dr_indices(GLint maxVP)
 		pass = false;
 	}
 
-	/**
-	 * invalid count + first index for DepthRange
-	 * OpenGL Spec Core 4.3 Spec, section 13.6.1 ref:
-	 *     "An INVALID_VALUE error is generated if first + count
-	 *     is greater than the valuue of MAX_VIEWPORTS."
-	 */
-	if (!check_dr_index(maxVP - 2, 3, GL_INVALID_VALUE)) {
-		printf("Wrong error for invalid DepthRange index range\n");
-		pass = false;
-	}
-
-	/**
-	 * invalid count for DepthRange
-	 * OpenGL Spec Core 4.3 Spec, section 13.6.1 ref:
-	 *    "An INVALID_VALUE error is generated if count is negative."
-	 */
+	if (!piglit_khr_no_error) {
+		/**
+		 * invalid count + first index for DepthRange
+		 * OpenGL Spec Core 4.3 Spec, section 13.6.1 ref:
+		 *     "An INVALID_VALUE error is generated if first + count
+		 *     is greater than the valuue of MAX_VIEWPORTS."
+		 */
+		if (!check_dr_index(maxVP - 2, 3, GL_INVALID_VALUE)) {
+			printf("Wrong error for invalid DepthRange index range\n");
+			pass = false;
+		}
+
+		/**
+		 * invalid count for DepthRange
+		 * OpenGL Spec Core 4.3 Spec, section 13.6.1 ref:
+		 *    "An INVALID_VALUE error is generated if count is negative."
+		 */
 #ifdef PIGLIT_USE_OPENGL
-	glDepthRangeArrayv(0, -1, NULL);
+		glDepthRangeArrayv(0, -1, NULL);
 #else
-	glDepthRangeArrayfvOES(0, -1, NULL);
+		glDepthRangeArrayfvOES(0, -1, NULL);
 #endif
-	if (!piglit_check_gl_error(GL_INVALID_VALUE)) {
-		printf("Wrong error for invalid DepthRange count\n");
-		pass = false;
+		if (!piglit_check_gl_error(GL_INVALID_VALUE)) {
+			printf("Wrong error for invalid DepthRange count\n");
+			pass = false;
+		}
 	}
 
 	return pass;
diff --git a/tests/spec/arb_viewport_array/minmax.c b/tests/spec/arb_viewport_array/minmax.c
index 8bb0c9df9..3a1ee3957 100644
--- a/tests/spec/arb_viewport_array/minmax.c
+++ b/tests/spec/arb_viewport_array/minmax.c
@@ -42,6 +42,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_DOUBLE | PIGLIT_GL_VISUAL_RGBA;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
diff --git a/tests/spec/arb_viewport_array/queries.c b/tests/spec/arb_viewport_array/queries.c
index 49739315f..efd280b30 100644
--- a/tests/spec/arb_viewport_array/queries.c
+++ b/tests/spec/arb_viewport_array/queries.c
@@ -40,6 +40,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
@@ -74,23 +75,25 @@ piglit_init(int argc, char **argv)
 #endif
 
 	glGetIntegerv(GL_MAX_VIEWPORTS, &maxVP);
-	/**
-	 * Test for invalid (non-indexed "pname") parameters with GetFloati_v
-	 * and GetDoublei_v
-	 * NOTE: "index" parameter validity is tested in the depthrange-indices
-	 * and viewport-indices tests.
-	 * OpenGL 4.3 Core section 22.1 ref:
-	 *     "An INVALID_ENUM error is generated if target is not indexed
-	 *     state queriable with these commands."
-	 */
 
-	for (i = 0; i < ARRAY_SIZE(tokens); i++) {
-		glGetFloati_v(tokens[i], 1, valf);
-		pass = piglit_check_gl_error(GL_INVALID_ENUM) && pass;
+	if (!piglit_khr_no_error) {
+		/**
+		 * Test for invalid (non-indexed "pname") parameters with
+		 * GetFloati_v and GetDoublei_v
+		 * NOTE: "index" parameter validity is tested in the
+		 * depthrange-indices and viewport-indices tests.
+		 * OpenGL 4.3 Core section 22.1 ref:
+		 *     "An INVALID_ENUM error is generated if target is not
+		 *     indexed state queriable with these commands."
+		 */
+		for (i = 0; i < ARRAY_SIZE(tokens); i++) {
+			glGetFloati_v(tokens[i], 1, valf);
+			pass = piglit_check_gl_error(GL_INVALID_ENUM) && pass;
 #ifdef PIGLIT_USE_OPENGL
-		glGetDoublei_v(tokens[i], 1, vald);
-		pass = piglit_check_gl_error(GL_INVALID_ENUM) && pass;
+			glGetDoublei_v(tokens[i], 1, vald);
+			pass = piglit_check_gl_error(GL_INVALID_ENUM) && pass;
 #endif
+		}
 	}
 
 	/**
diff --git a/tests/spec/arb_viewport_array/render_depthrange.c b/tests/spec/arb_viewport_array/render_depthrange.c
index c7e016f0a..1295917c9 100644
--- a/tests/spec/arb_viewport_array/render_depthrange.c
+++ b/tests/spec/arb_viewport_array/render_depthrange.c
@@ -48,6 +48,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
diff --git a/tests/spec/arb_viewport_array/render_scissor.c b/tests/spec/arb_viewport_array/render_scissor.c
index 95d345099..93f07754a 100644
--- a/tests/spec/arb_viewport_array/render_scissor.c
+++ b/tests/spec/arb_viewport_array/render_scissor.c
@@ -48,6 +48,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
diff --git a/tests/spec/arb_viewport_array/render_viewport.c b/tests/spec/arb_viewport_array/render_viewport.c
index 50630de91..bdc8b6f00 100644
--- a/tests/spec/arb_viewport_array/render_viewport.c
+++ b/tests/spec/arb_viewport_array/render_viewport.c
@@ -45,6 +45,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
diff --git a/tests/spec/arb_viewport_array/render_viewport_2.c b/tests/spec/arb_viewport_array/render_viewport_2.c
index 28c54fad3..3164ff2ee 100644
--- a/tests/spec/arb_viewport_array/render_viewport_2.c
+++ b/tests/spec/arb_viewport_array/render_viewport_2.c
@@ -38,6 +38,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
diff --git a/tests/spec/arb_viewport_array/scissor_check.c b/tests/spec/arb_viewport_array/scissor_check.c
index 65262214b..0b106c6d0 100644
--- a/tests/spec/arb_viewport_array/scissor_check.c
+++ b/tests/spec/arb_viewport_array/scissor_check.c
@@ -39,6 +39,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
diff --git a/tests/spec/arb_viewport_array/scissor_indices.c b/tests/spec/arb_viewport_array/scissor_indices.c
index e4e73558b..40171ff59 100644
--- a/tests/spec/arb_viewport_array/scissor_indices.c
+++ b/tests/spec/arb_viewport_array/scissor_indices.c
@@ -42,6 +42,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
@@ -116,18 +117,21 @@ test_scissor_indices(GLint maxVP)
 		printf("Got error for valid scissor range, max=%u\n", maxVP);
 		pass = false;
 	}
-	/**
-	 * invalid count + first index for Scissor index
-	 * OpenGL Core 4.3 Spec, section 17.3.2 ref:
-	 *     "An INVALID_VALUE error is generated by ScissorArrayv if
-	 *     first +count is greater than the value of MAX_VIEWPORTS."
-	 *     "If the viewport index specified to Enablei, Disablei or
-	 *     IsEnabledi is greater or equal to the value of
-	 *     MAX_VIEWPORTS, then an INVALID_VALUE error is generated."
-	 */
-	if (!check_sc_index(maxVP - 4, 5, GL_INVALID_VALUE)) {
-		printf("Wrong error for invalid Scissor first index\n");
-		pass = false;
+
+	if (!piglit_khr_no_error) {
+		/**
+		 * invalid count + first index for Scissor index
+		 * OpenGL Core 4.3 Spec, section 17.3.2 ref:
+		 *     "An INVALID_VALUE error is generated by ScissorArrayv if
+		 *     first +count is greater than the value of MAX_VIEWPORTS."
+		 *     "If the viewport index specified to Enablei, Disablei or
+		 *     IsEnabledi is greater or equal to the value of
+		 *     MAX_VIEWPORTS, then an INVALID_VALUE error is generated."
+		 */
+		if (!check_sc_index(maxVP - 4, 5, GL_INVALID_VALUE)) {
+			printf("Wrong error for invalid Scissor first index\n");
+			pass = false;
+		}
 	}
 
 	return pass;
diff --git a/tests/spec/arb_viewport_array/viewport_indices.c b/tests/spec/arb_viewport_array/viewport_indices.c
index 2f7b6d5c3..0088828c3 100644
--- a/tests/spec/arb_viewport_array/viewport_indices.c
+++ b/tests/spec/arb_viewport_array/viewport_indices.c
@@ -45,6 +45,7 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 	config.supports_gl_es_version = 31;
 
 	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+	config.khr_no_error_support = PIGLIT_NO_ERRORS;
 
 PIGLIT_GL_TEST_CONFIG_END
 
@@ -111,23 +112,26 @@ test_vp_indices(GLint maxVP)
 		       maxVP);
 		pass = false;
 	}
-	/**
-	 *  invalid count + first index for viewport
-	 * OpenGL Spec Core 4.3 Spec, section 13.6.1 ref:
-	 *     "An INVALID_VALUE error is generated if first + count
-	 *     is greater than the value of MAX_VIEWPORTS."
-	 */
-	if (!check_vp_index(maxVP - 1, 2, GL_INVALID_VALUE)) {
-		printf("Wrong error for invalid viewport range\n");
-		pass = false;
+
+	if (!piglit_khr_no_error) {
+		/**
+		 *  invalid count + first index for viewport
+		 * OpenGL Spec Core 4.3 Spec, section 13.6.1 ref:
+		 *     "An INVALID_VALUE error is generated if first + count
+		 *     is greater than the value of MAX_VIEWPORTS."
+		 */
+		if (!check_vp_index(maxVP - 1, 2, GL_INVALID_VALUE)) {
+			printf("Wrong error for invalid viewport range\n");
+			pass = false;
+		}
+		/**
+		 * invalid count for viewport
+		 * OpenGL Spec Core 4.3 Spec, section 13.6.1 ref:
+		 *    "An INVALID_VALUE error is generated if count is negative."
+		 */
+		glViewportArrayv(0, -1, NULL);
+		pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
 	}
-	/**
-	 * invalid count for viewport
-	 * OpenGL Spec Core 4.3 Spec, section 13.6.1 ref:
-	 *    "An INVALID_VALUE error is generated if count is negative."
-	 */
-	glViewportArrayv(0, -1, NULL);
-	pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
 
 	return pass;
 }
@@ -170,17 +174,19 @@ test_preserve_invalid_index(GLint maxVP)
 	}
 	pass = piglit_check_gl_error(GL_NO_ERROR) && pass;
 
-	/* set an illegal index and then test that no indices changed*/
-	glViewportIndexedf(maxVP, 0.0, 0.0, 1.0, 1.0);
-	glScissorIndexed(maxVP, 0, 0, 1, 1);
+	if (!piglit_khr_no_error) {
+		/* set an illegal index and then test that no indices changed*/
+		glViewportIndexedf(maxVP, 0.0, 0.0, 1.0, 1.0);
+		glScissorIndexed(maxVP, 0, 0, 1, 1);
 #ifdef PIGLIT_USE_OPENGL
-	glDepthRangeIndexed(maxVP, 0.0, 0.0);
+		glDepthRangeIndexed(maxVP, 0.0, 0.0);
 #else
-	glDepthRangeIndexedfOES(maxVP, 0.0, 0.0);
+		glDepthRangeIndexedfOES(maxVP, 0.0, 0.0);
 #endif
-	glDisablei(GL_SCISSOR_TEST, maxVP);
+		glDisablei(GL_SCISSOR_TEST, maxVP);
 
-	pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+		pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+	}
 
 	for (i = 0; i < maxVP; i++) {
 		glGetFloati_v(GL_VIEWPORT, i, vpGet);
-- 
2.13.1



More information about the Piglit mailing list