On Mon 24 Aug 2015, Nanley Chery wrote: > On Fri, Aug 21, 2015 at 2:12 PM, Chad Versace <chad.vers...@intel.com> > wrote: > > > On Wed 19 Aug 2015, Nanley Chery wrote: > > > From: Nanley Chery <nanley.g.ch...@intel.com> > > > > > > We currently check that our format info table is sane during context > > > initialization in debug builds. Perform this check during > > > `make check` instead. This enables format testing in release builds > > > and removes the requirement of an exhuastive switch for > > > _mesa_uncompressed_format_to_type_and_comps(). > > > > > > Signed-off-by: Nanley Chery <nanley.g.ch...@intel.com> > > > --- > > > src/mesa/main/context.c | 4 - > > > src/mesa/main/formats.c | 157 > > ++--------------------------------- > > > src/mesa/main/tests/Makefile.am | 1 + > > > src/mesa/main/tests/mesa_formats.cpp | 130 +++++++++++++++++++++++++++++ > > > 4 files changed, 137 insertions(+), 155 deletions(-) > > > create mode 100644 src/mesa/main/tests/mesa_formats.cpp > >
> > > +/** > > > + * Debug/test: check that all uncompressed formats are handled in the > > > + * _mesa_uncompressed_format_to_type_and_comps() function. When new > > pixel > > > + * formats are added to Mesa, that function needs to be updated. > > > + */ > > > +TEST(MesaFormatsTest, FormatTypeAndComps) > > > +{ > > > + for (int fi = MESA_FORMAT_NONE + 1; fi < MESA_FORMAT_COUNT; ++fi) { > > > + mesa_format f = (mesa_format) fi; > > > + > > > + /* This function will emit a problem/warning if the format is > > > + * not handled. > > > + */ > > > + if (!_mesa_is_format_compressed(f)) { > > > + GLenum datatype = 0; > > > + GLuint comps = 0; > > > + _mesa_uncompressed_format_to_type_and_comps(f, &datatype, > > &comps); > > > + > > > + /* If the datatype is zero, the format was not handled */ > > > + ASSERT_NE(datatype, (GLenum)0); > > > > I think the test should also assert that comps >= 1. > > > > In the failure scenario for this function, comps will be set equal to 1. > It can also be set equal to 1 for certain valid formats as well. Right. I retract my comment. Since GLenum is unsigned, it doesn't matter whether we check for != 0 or >= 1. But my other comments in the previous email still hold. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev