On Fri, Jan 27, 2012 at 2:33 AM, Jose Fonseca <jfons...@vmware.com> wrote: > Brian, > > This is probably right but a tad verbose, and error prone. > > I'm not sure what's the best way to simplify this though. It's not possible > to canonize the comparisons because there are missing combinations. > > But I think that at least using ternary operators would make the code more > compact and help ensuring thar cases don't follow through the cracks. For > example: > > case MESA_FORMAT_RGBA8888: > > if (format == GL_RGBA && > type == (!swapBytes ? GL_UNSIGNED_INT_8_8_8_8 : > GL_UNSIGNED_INT_8_8_8_8_REV)) > return GL_TRUE; > > if (format == GL_ABGR_EXT && > type == (!swapBytes ? GL_UNSIGNED_INT_8_8_8_8_REV : > GL_UNSIGNED_INT_8_8_8_8)) > return GL_TRUE; > > if (format == (!littleEndian ? GL_RGBA : GL_ABGR_EXT) && > type == GL_UNSIGNED_BYTE) > return GL_TRUE;
Honestly, I find my approach easier to read and understand than that. I don't think there's an ideal way to express all the various combinations. I opted for simple (if verbose) logic over more sophisticated logic (which can be error-prone too). -Brian _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev