On Sun, Aug 24, 2014 at 4:38 AM, Marek Olšák <[email protected]> wrote: > From: Marek Olšák <[email protected]> > > This is a lot faster than RGBA FLOAT. > > There is a potential to speed up piglit by switching tests to ubyte > r, rg, or rgba probing. > --- > tests/util/piglit-util-gl.c | 32 ++++++++++++++++++++++++++++++++ > tests/util/piglit-util-gl.h | 1 + > 2 files changed, 33 insertions(+) > > diff --git a/tests/util/piglit-util-gl.c b/tests/util/piglit-util-gl.c > index b711000..0858b01 100644 > --- a/tests/util/piglit-util-gl.c > +++ b/tests/util/piglit-util-gl.c > @@ -1145,6 +1145,38 @@ piglit_probe_rect_rgb_silent(int x, int y, int w, int > h, const float *expected) > return 1; > } > > +/* More efficient variant if you don't know need floats and GBA channels. */ > +int > +piglit_probe_rect_r_ubyte(int x, int y, int w, int h, GLubyte expected) > +{ > + int i, j, w_aligned; > + GLubyte *pixels; > + GLubyte tolerance = ceil(piglit_tolerance[0] * 255); > + > + w_aligned = ALIGN(w, 4); > + pixels = malloc(w_aligned * h); > + > + glReadPixels(x, y, w, h, GL_RED, GL_UNSIGNED_BYTE, pixels); > + > + for (j = 0; j < h; j++) { > + for (i = 0; i < w; i++) { > + GLubyte probe = pixels[j*w_aligned+i]; > + > + if (probe - expected >= tolerance) {
Looks like you want abs() here? _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
