[Piglit] [PATCH] spec/arb_copy_image: Don't try to do compressed-to-compressed copies

Jason Ekstrand jason at jlekstrand.net
Thu Mar 12 21:23:10 PDT 2015


This isn't actually supported by the GL_ARB_copy_image spec.
---
 tests/spec/arb_copy_image/formats.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/tests/spec/arb_copy_image/formats.c b/tests/spec/arb_copy_image/formats.c
index 8a5faa7..aa9b4d3 100644
--- a/tests/spec/arb_copy_image/formats.c
+++ b/tests/spec/arb_copy_image/formats.c
@@ -261,10 +261,21 @@ is_format_supported(struct texture_format *format)
 static bool
 are_formats_compatible(struct texture_format *f1, struct texture_format *f2)
 {
-	if (f1->can_be_reinterpreted && f2->can_be_reinterpreted)
-		return f1->bytes == f2->bytes;
+	if (f1 == f2)
+		return true;
+
+	if (is_format_compressed(f1)) {
+		if (is_format_compressed(f2))
+			/* Compressed-to-compressed copies are not supported */
+			return false;
 
-	return f1 == f2;
+		return f1->bytes == f2->bytes;
+	} else if (is_format_compressed(f2)) {
+		return f1->bytes == f2->bytes;
+	} else {
+		return f1->can_be_reinterpreted && f2->can_be_reinterpreted &&
+		       f1->bytes == f2->bytes;
+	}
 }
 
 static const float green[3] = {0.0, 1.0, 0.0};
-- 
2.3.2



More information about the Piglit mailing list