By removing offset++, you left some empty if statements in there. Other than that:
Reviewed-by: Marek Olšák <[email protected]> Marek On Mon, Jul 14, 2014 at 4:37 PM, Brian Paul <[email protected]> wrote: > Always draw a (mode, filter) test pattern at the same window position, > regardless of border mode, supported, etc. This makes it a little > easier to do visual inspections. > > In non-auto mode, print names of wrap modes to help identify the > test patterns. Ideally, we'd print this in the window instead of > the terminal but piglit doesn't have a text-drawing feature. > --- > tests/texturing/texwrap.c | 53 > ++++++++++++++++++++++++--------------------- > 1 file changed, 28 insertions(+), 25 deletions(-) > > diff --git a/tests/texturing/texwrap.c b/tests/texturing/texwrap.c > index 383681e..21e49ac 100644 > --- a/tests/texturing/texwrap.c > +++ b/tests/texturing/texwrap.c > @@ -807,11 +807,25 @@ static GLboolean skip_test(GLenum mode, GLenum filter) > return test_border_color; > } > > +/** > + * For a given wrap mode index, filter mode index and npot flag, return > + * the (x,y) position for drawing the test pattern. > + */ > +static void > +test_to_xy(unsigned mode, unsigned filter, unsigned npot, int *x, int *y) > +{ > + assert(mode < ARRAY_SIZE(wrap_modes)); > + assert(filter < 2); > + assert(npot < 2); > + *x = mode * (TILE_SIZE(npot) + TILE_SPACE) + 5; > + *y = filter * (TILE_SIZE(npot) + TILE_SPACE) + 35; > +} > + > + > static void draw(const struct format_desc *format, > GLboolean npot, GLboolean texproj) > { > unsigned i, j; > - int offset; > int num_filters = format->type == FLOAT_TYPE ? 2 : 1; > int bits = get_int_format_bits(format); > float scale[4]; > @@ -840,13 +854,12 @@ static void draw(const struct format_desc *format, > for (i = 0; i < num_filters; i++) { > GLenum filter = i ? GL_LINEAR : GL_NEAREST; > > - offset = 0; > - > glTexParameteri(texture_target, GL_TEXTURE_MIN_FILTER, > filter); > glTexParameteri(texture_target, GL_TEXTURE_MAG_FILTER, > filter); > > /* Loop over wrap modes. */ > for (j = 0; wrap_modes[j].mode != 0; j++) { > + int xpos, ypos; > float x0 = 0; > float y0 = 0; > float x1 = TILE_SIZE(npot); > @@ -858,13 +871,13 @@ static void draw(const struct format_desc *format, > float q = 1; > float ts0 = s0, ts1 = s1, tt0 = t0, tt1 = t1, tr = > 0.5; > > - if (!wrap_modes[j].supported) > + if (!wrap_modes[j].supported) { > continue; > + } > > if (skip_test(wrap_modes[j].mode, filter)) { > if (skip_test(wrap_modes[j].mode, GL_LINEAR) > != > skip_test(wrap_modes[j].mode, > GL_NEAREST)) { > - offset++; > } > continue; > } > @@ -895,10 +908,8 @@ static void draw(const struct format_desc *format, > wrap_modes[j].mode); > > glPushMatrix(); > - glTranslatef(offset * (TILE_SIZE(npot) + TILE_SPACE) > + 5, > - i * (TILE_SIZE(npot) + TILE_SPACE) + 35, > - 0); > - offset++; > + test_to_xy(j, i, npot, &xpos, &ypos); > + glTranslatef(xpos, ypos, 0.0); > > glEnable(texture_target); > glColor3f(1, 1, 1); > @@ -939,21 +950,14 @@ static void draw(const struct format_desc *format, > > glDisable(texture_target); > glColor3f(1, 1, 1); > - offset = 0; > > if (!piglit_automatic) { > + printf("modes: "); > for (i = 0; wrap_modes[i].mode != 0; i++) { > - if (wrap_modes[i].supported) { > - if (skip_test(wrap_modes[i].mode, GL_LINEAR) > && > - skip_test(wrap_modes[i].mode, > GL_NEAREST)) { > - continue; > - } > - > - glWindowPos2iARB(offset * (TILE_SIZE(npot) + > TILE_SPACE) + 5, > - 5 + ((offset & 1) * 15)); > - offset++; > - } > + printf("%s, ", > + piglit_get_gl_enum_name(wrap_modes[i].mode)); > } > + printf("\n"); > } > } > > @@ -978,7 +982,6 @@ static GLboolean probe_pixels(const struct format_desc > *format, GLboolean npot, > unsigned deltamax[4] = {0}; > unsigned deltamax_swizzled[4] = {0}; > unsigned *deltamax_lut = i ? linear_deltamax : > nearest_deltamax; > - unsigned offset = 0; > > /* Get the deltamax for each channel. */ > if (format->intensity) { > @@ -1012,17 +1015,17 @@ static GLboolean probe_pixels(const struct > format_desc *format, GLboolean npot, > /* Loop over all wrap modes. */ > for (j = 0; wrap_modes[j].mode != 0; j++) { > unsigned char expected[4]; > - int x0 = offset * (TILE_SIZE(npot) + TILE_SPACE) + 5; > - int y0 = i * (TILE_SIZE(npot) + TILE_SPACE) + 35; > + int x0, y0; > int a, b; > > + test_to_xy(j, i, npot, &x0, &y0); > + > if (!wrap_modes[j].supported) > continue; > > if (skip_test(wrap_modes[j].mode, filter)) { > if (skip_test(wrap_modes[j].mode, GL_LINEAR) > != > skip_test(wrap_modes[j].mode, > GL_NEAREST)) { > - offset++; > } > continue; > } > @@ -1047,7 +1050,7 @@ static GLboolean probe_pixels(const struct format_desc > *format, GLboolean npot, > } > > tile_done: > - offset++; > + ; > } > } > > -- > 1.7.10.4 > > _______________________________________________ > Piglit mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/piglit _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
