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
_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit