The bytes comparison is an approximation of what the spec says... it has those explicit classes. But this is probably good enough...
Reviewed-by: Ilia Mirkin <[email protected]> On Fri, Mar 13, 2015 at 12:23 AM, Jason Ekstrand <[email protected]> wrote: > 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 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
