summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Versace <chad.versace@linux.intel.com>2012-07-06 23:18:44 -0700
committerChad Versace <chad.versace@linux.intel.com>2012-07-15 21:16:36 -0700
commitbb7c32fe15bd28dfbf4d098299d2fc4f4b5a98c7 (patch)
tree10bdcac1f51d5ae37ef3ede3db6f646a7f0f713e
parenta3650ba5e293067f7fa2f5fddcb313e5dfdd53e1 (diff)
etc1: Remove texturing test from 'basic' test file
Now that oes_compressed_etc1_rgb8_texture-miptree, a test for realworld ETC1 data, has been added to Piglit, the minimal, artificial texturing test in oes_compressed_etc1_rgb8_texture-basic is unneeded. This patch removes the texturing test from that file, and only api tests remain. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
-rw-r--r--tests/spec/oes_compressed_etc1_rgb8_texture/oes_compressed_etc1_rgb8_texture-basic.c152
1 files changed, 5 insertions, 147 deletions
diff --git a/tests/spec/oes_compressed_etc1_rgb8_texture/oes_compressed_etc1_rgb8_texture-basic.c b/tests/spec/oes_compressed_etc1_rgb8_texture/oes_compressed_etc1_rgb8_texture-basic.c
index 58d8d04fc..fbebce2a0 100644
--- a/tests/spec/oes_compressed_etc1_rgb8_texture/oes_compressed_etc1_rgb8_texture-basic.c
+++ b/tests/spec/oes_compressed_etc1_rgb8_texture/oes_compressed_etc1_rgb8_texture-basic.c
@@ -32,149 +32,12 @@ PIGLIT_GL_TEST_MAIN(
100 /*window_height*/,
GLUT_RGB | GLUT_DOUBLE)
-struct etc1_rgb8_texture_8x8 {
- GLubyte data[32];
- GLubyte rgb[64][3];
-};
-
-static void
-make_etc1_rgb8_texture_8x8(struct etc1_rgb8_texture_8x8 *tex)
-{
- const GLubyte base_colors[4][3] = {
- { 0xff, 0x00, 0x00 }, /* red */
- { 0x00, 0xff, 0x00 }, /* green */
- { 0x10, 0x00, 0x00 }, /* R=16 */
- { 0x00, 0x00, 0x00 } /* black */
- };
- const int modifiers[4] = {
- 2, /* modifier table 0, pixel index 0 */
- 17, /* modifier table 1, pixel index 1 */
- -9, /* modifier table 2, pixel index 2 */
- -42 /* modifier table 3, pixel index 3 */
- };
- GLubyte blocks[4][8];
- unsigned i;
-
- /* block 0: red and green, individual, modifier table 0, not flipped */
- blocks[0][0] = 0xf0;
- blocks[0][1] = 0x0f;
- blocks[0][2] = 0x0;
- blocks[0][3] = 0x0;
- /* set all pixel indices to 0 */
- blocks[0][4] = 0x0;
- blocks[0][5] = 0x0;
- blocks[0][6] = 0x0;
- blocks[0][7] = 0x0;
-
- /* block 1: red and green, individual, modifier table 1, flipped */
- blocks[1][0] = blocks[0][0];
- blocks[1][1] = blocks[0][1];
- blocks[1][2] = blocks[0][2];
- blocks[1][3] = 0x25;
- /* set all pixel indices to 1 */
- blocks[1][4] = 0x0;
- blocks[1][5] = 0x0;
- blocks[1][6] = 0xff;
- blocks[1][7] = 0xff;
-
- /* block 2: R=16 and black, differential, modifier table 2, not flipped */
- blocks[2][0] = 0x16;
- blocks[2][1] = 0x0;
- blocks[2][2] = 0x0;
- blocks[2][3] = 0x4a;
- /* set all pixel indices to 2 */
- blocks[2][4] = 0xff;
- blocks[2][5] = 0xff;
- blocks[2][6] = 0x0;
- blocks[2][7] = 0x0;
-
- /* block 3: R=16 and black, differential, modifier table 3, flipped */
- blocks[3][0] = blocks[2][0];
- blocks[3][1] = blocks[2][1];
- blocks[3][2] = blocks[2][2];
- blocks[3][3] = 0x6f;
- /* set all pixel indices to 3 */
- blocks[3][4] = 0xff;
- blocks[3][5] = 0xff;
- blocks[3][6] = 0xff;
- blocks[3][7] = 0xff;
-
- memcpy(tex->data, blocks, sizeof(blocks));
-
- /* decode */
- for (i = 0; i < 64; i++) {
- unsigned x, y, b, bx, by, sub;
- const GLubyte *base_color;
- int modifier;
-
- x = i % 8;
- y = i / 8;
-
- /* block number */
- b = (x < 4) ? 0 : 1;
- if (y >= 4)
- b += 2;
-
- /* block coordinates */
- bx = x % 4;
- by = y % 4;
-
- /* subblock number */
- sub = (blocks[b][3] & 0x1) ? (by >= 2) : (bx >= 2);
-
- if (b < 2)
- base_color = base_colors[sub];
- else
- base_color = base_colors[2 + sub];
-
- modifier = modifiers[b];
-
- tex->rgb[i][0] = CLAMP((int) base_color[0] + modifier, 0, 255);
- tex->rgb[i][1] = CLAMP((int) base_color[1] + modifier, 0, 255);
- tex->rgb[i][2] = CLAMP((int) base_color[2] + modifier, 0, 255);
- }
-}
-
-static int
-test_etc1_rgb8_texture_8x8(const struct etc1_rgb8_texture_8x8 *tex)
-{
- const GLenum format = GL_ETC1_RGB8_OES;
- const GLsizei width = 8, height = 8;
- unsigned x, y;
- int pass = GL_TRUE;
-
- glCompressedTexImage2D(GL_TEXTURE_2D, 0,
- format, width, height, 0, sizeof(tex->data), tex->data);
- pass = piglit_check_gl_error(GL_NO_ERROR) && pass;
-
- glEnable(GL_TEXTURE_2D);
-
- piglit_draw_rect_tex(0, 0, width, height, 0.0f, 0.0f, 1.0f, 1.0f);
-
- glDisable(GL_TEXTURE_2D);
-
- for (y = 0; y < height; y++) {
- for (x = 0; x < width; x++) {
- const GLubyte *rgb = tex->rgb[y * width + x];
- float expected[3] = {
- rgb[0] / 255.0f,
- rgb[1] / 255.0f,
- rgb[2] / 255.0f
- };
-
- pass = piglit_probe_pixel_rgb(x, y, expected) && pass;
- }
- }
-
- return pass;
-}
-
enum piglit_result
piglit_display(void)
{
const GLenum format = GL_ETC1_RGB8_OES;
const GLsizei width = 8, height = 8;
- struct etc1_rgb8_texture_8x8 tex;
+ const GLubyte fake_tex_data[4096];
GLuint t;
int pass = GL_TRUE;
@@ -183,30 +46,26 @@ piglit_display(void)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- make_etc1_rgb8_texture_8x8(&tex);
-
glClear(GL_COLOR_BUFFER_BIT);
/* no compression support */
glTexImage2D(GL_TEXTURE_2D, 0, format,
- width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, tex.rgb);
+ width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, fake_tex_data);
pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
glCopyTexImage2D(GL_TEXTURE_2D, 0, format, 0, 0, width, height, 0);
pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
- /* test the texture */
- pass = test_etc1_rgb8_texture_8x8(&tex) && pass;
-
/* no subimage support */
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0,
- width, height, GL_RGB, GL_UNSIGNED_BYTE, tex.rgb);
+ width, height, GL_RGB, GL_UNSIGNED_BYTE, fake_tex_data);
pass = piglit_check_gl_error(GL_INVALID_OPERATION) && pass;
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, width, height);
pass = piglit_check_gl_error(GL_INVALID_OPERATION) && pass;
- glCompressedTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, format, sizeof(tex.data), tex.data);
+ glCompressedTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, format,
+ sizeof(fake_tex_data), fake_tex_data);
pass = piglit_check_gl_error(GL_INVALID_OPERATION) && pass;
glDeleteTextures(1, &t);
@@ -218,5 +77,4 @@ void
piglit_init(int argc, char **argv)
{
piglit_require_extension("GL_OES_compressed_ETC1_RGB8_texture");
- piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
}