On 12/15/2015 09:38 PM, [email protected] wrote:
From: Roland Scheidegger <[email protected]>Previously, the test was actually using all-zeros in the end for the image, so unsurprisingly it passed, except when border color was used. Add the special stencil case handling in a couple more cases. This will still not test depth/stencil textures in stencil texturing mode, and furthermore because the spec doesn't seem to say what should happen with all the channels make it ignore all errors on non-first channel. --- tests/texturing/texwrap.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/texturing/texwrap.c b/tests/texturing/texwrap.c index ffe5e83..e10e6ec 100644 --- a/tests/texturing/texwrap.c +++ b/tests/texturing/texwrap.c @@ -724,6 +724,10 @@ static void sample_nearest(int x, int y, int z, image[(coords[2]*size_y*size_x + coords[1]*size_x + coords[0])]; result[3] = 1; + } else if (format->stencil) { + result[0] = result[1] = result[2] = result[3] = + image[(coords[2]*size_y*size_x + + coords[1]*size_x + coords[0])]; } else { memcpy(result, &image[(coords[2]*size_y*size_x + @@ -1021,6 +1025,16 @@ static GLboolean probe_pixels(const struct format_desc *format, GLboolean npot, for (j = 0; j < 4; j++) { deltamax[j] = deltamax_lut[format->intensity]; } + } else if (format->stencil && !format->depth) { + deltamax[0] = deltamax_lut[format->stencil]; + /* + * XXX unless someone can figure out what the hell all + * those channels should actually return... Right now + * the test would expect the same value for all channels. + */ + for (j = 1; j < 4; j++) { + deltamax[j] = 255; + } } else { if (format->luminance) { for (j = 0; j < 3; j++) { @@ -1427,7 +1441,7 @@ static void init_int_texture(const struct format_desc *format, black = colors[5]; /* Set the colors to match the base format. */ - if (format->intensity) { + if (format->intensity || format->stencil) { for (i = 0; i < 7; i++) { colors[i][3] = colors[i][2] = colors[i][1] = colors[i][0]; }
Reviewed-by: Brian Paul <[email protected]> _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
