[Piglit] [PATCH 4/4] util: Set tolerance according to alpha channel bit depth.
Mario Kleiner
mario.kleiner.de at gmail.com
Tue Sep 5 05:52:49 UTC 2017
Make sure piglit_set_tolerance_for_bits() doesn't ask for a
alpha tolerance impossible to achieve for the given alpha
bit depth of the context, e.g., in case of 2 bit alpha channels
with ARGB2101010 visuals or fbconfigs.
Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
---
tests/util/piglit-framework-gl/piglit_winsys_framework.c | 6 +++++-
tests/util/piglit-util-gl.c | 7 +++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/tests/util/piglit-framework-gl/piglit_winsys_framework.c b/tests/util/piglit-framework-gl/piglit_winsys_framework.c
index 5713f5c..9dc4944 100644
--- a/tests/util/piglit-framework-gl/piglit_winsys_framework.c
+++ b/tests/util/piglit-framework-gl/piglit_winsys_framework.c
@@ -56,7 +56,6 @@ run_test(struct piglit_gl_framework *gl_fw,
bool no_window = false;
const char *env_no_window = getenv("PIGLIT_NO_WINDOW");
-
if (env_no_window != NULL) {
if (strcmp(env_no_window, "0") == 0) {
no_window = false;
@@ -69,6 +68,11 @@ run_test(struct piglit_gl_framework *gl_fw,
}
}
+ /* Init tolerance. This will make sure we don't request too strict
+ * tolerance for contexts alpha bit depth.
+ */
+ piglit_set_tolerance_for_bits(8, 8, 8, 8);
+
if (gl_fw->test_config->init)
gl_fw->test_config->init(argc, argv);
diff --git a/tests/util/piglit-util-gl.c b/tests/util/piglit-util-gl.c
index d8b8f85..8b16482 100644
--- a/tests/util/piglit-util-gl.c
+++ b/tests/util/piglit-util-gl.c
@@ -278,6 +278,13 @@ piglit_set_tolerance_for_bits(int rbits, int gbits, int bbits, int abits)
int bits[4] = {rbits, gbits, bbits, abits};
int i;
+ /* Make sure we don't set a alpha tolerance impossible to achieve with
+ * given alpha channel bit depths.
+ */
+ glGetIntegerv(GL_ALPHA_BITS, &abits);
+ if (abits < bits[3])
+ bits[3] = abits;
+
for (i = 0; i < 4; i++) {
if (bits[i] == 0) {
/* With 0 bits of storage, we still want to
--
2.7.4
More information about the Piglit
mailing list