OpenGL is pretty flexible in how you can upload textures, but OpenGL ES isn't. Let's change this to use unsigned byte texture components instead of floats, to increase compatiblity.
Signed-off-by: Erik Faye-Lund <erik.faye-l...@collabora.com> --- .../spec/nv_conditional_render/blitframebuffer.c | 13 +++++++------ tests/spec/nv_conditional_render/copyteximage.c | 12 ++++++------ .../spec/nv_conditional_render/copytexsubimage.c | 12 ++++++------ tests/spec/nv_conditional_render/generatemipmap.c | 15 ++++++++------- 4 files changed, 27 insertions(+), 25 deletions(-) diff --git a/tests/spec/nv_conditional_render/blitframebuffer.c b/tests/spec/nv_conditional_render/blitframebuffer.c index 3c017a3db..3dd0d2efe 100644 --- a/tests/spec/nv_conditional_render/blitframebuffer.c +++ b/tests/spec/nv_conditional_render/blitframebuffer.c @@ -42,20 +42,20 @@ PIGLIT_GL_TEST_CONFIG_BEGIN PIGLIT_GL_TEST_CONFIG_END -static void fill_tex(int level, int w, int h, const GLfloat *color) +static void fill_tex(int level, int w, int h, const GLubyte *color) { - GLfloat *data; + GLubyte *data; int i; - data = malloc(w * h * 4 * sizeof(GLfloat)); + data = malloc(w * h * 4 * sizeof(GLubyte)); for (i = 0; i < 4 * w * h; i += 4) { data[i + 0] = color[0]; data[i + 1] = color[1]; data[i + 2] = color[2]; data[i + 3] = color[3]; } - glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, w, h, 0, - GL_RGBA, GL_FLOAT, data); + glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, w, h, 0, + GL_RGBA, GL_UNSIGNED_BYTE, data); free(data); } @@ -80,6 +80,7 @@ piglit_display(void) { bool pass = true; float green[4] = {0.0, 1.0, 0.0, 0.0}; + GLubyte green_ub[4] = {0, 0xFF, 0, 0}; GLuint q, texture; glClearColor(0.5, 0.5, 0.5, 0.5); @@ -99,7 +100,7 @@ piglit_display(void) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - fill_tex(0, piglit_width, piglit_height / 2, green); + fill_tex(0, piglit_width, piglit_height / 2, green_ub); glGenQueries(1, &q); diff --git a/tests/spec/nv_conditional_render/copyteximage.c b/tests/spec/nv_conditional_render/copyteximage.c index a0e50f7f4..f6667a409 100644 --- a/tests/spec/nv_conditional_render/copyteximage.c +++ b/tests/spec/nv_conditional_render/copyteximage.c @@ -43,20 +43,20 @@ PIGLIT_GL_TEST_CONFIG_BEGIN PIGLIT_GL_TEST_CONFIG_END static void -fill_tex(int level, int w, int h, const GLfloat *color) +fill_tex(int level, int w, int h, const GLubyte *color) { - GLfloat *data; + GLubyte *data; int i; - data = malloc(w * h * 4 * sizeof(GLfloat)); + data = malloc(w * h * 4 * sizeof(GLubyte)); for (i = 0; i < 4 * w * h; i += 4) { data[i + 0] = color[0]; data[i + 1] = color[1]; data[i + 2] = color[2]; data[i + 3] = color[3]; } - glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, w, h, 0, - GL_RGBA, GL_FLOAT, data); + glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, w, h, 0, + GL_RGBA, GL_UNSIGNED_BYTE, data); free(data); } @@ -64,7 +64,7 @@ enum piglit_result piglit_display(void) { bool pass = true; - float red[4] = {1.0, 0.0, 0.0, 0.0}; + GLubyte red[4] = {0xFF, 0, 0, 0}; float green[4] = {0.0, 1.0, 0.0, 0.0}; GLuint q, texture; diff --git a/tests/spec/nv_conditional_render/copytexsubimage.c b/tests/spec/nv_conditional_render/copytexsubimage.c index a9d0c0d4d..98dcc15ec 100644 --- a/tests/spec/nv_conditional_render/copytexsubimage.c +++ b/tests/spec/nv_conditional_render/copytexsubimage.c @@ -43,20 +43,20 @@ PIGLIT_GL_TEST_CONFIG_BEGIN PIGLIT_GL_TEST_CONFIG_END static void -fill_tex(int level, int w, int h, const GLfloat *color) +fill_tex(int level, int w, int h, const GLubyte *color) { - GLfloat *data; + GLubyte *data; int i; - data = malloc(w * h * 4 * sizeof(GLfloat)); + data = malloc(w * h * 4 * sizeof(GLubyte)); for (i = 0; i < 4 * w * h; i += 4) { data[i + 0] = color[0]; data[i + 1] = color[1]; data[i + 2] = color[2]; data[i + 3] = color[3]; } - glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, w, h, 0, - GL_RGBA, GL_FLOAT, data); + glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, w, h, 0, + GL_RGBA, GL_UNSIGNED_BYTE, data); free(data); } @@ -64,7 +64,7 @@ enum piglit_result piglit_display(void) { bool pass = true; - float red[4] = {1.0, 0.0, 0.0, 0.0}; + GLubyte red[4] = {0xFF, 0, 0, 0}; float green[4] = {0.0, 1.0, 0.0, 0.0}; GLuint q, texture; diff --git a/tests/spec/nv_conditional_render/generatemipmap.c b/tests/spec/nv_conditional_render/generatemipmap.c index 315d2d7e1..7f29a71a3 100644 --- a/tests/spec/nv_conditional_render/generatemipmap.c +++ b/tests/spec/nv_conditional_render/generatemipmap.c @@ -47,20 +47,20 @@ PIGLIT_GL_TEST_CONFIG_BEGIN PIGLIT_GL_TEST_CONFIG_END static void -fill_level(int level, int size, const GLfloat *color) +fill_level(int level, int size, const GLubyte *color) { - GLfloat *data; + GLubyte *data; int i; - data = malloc(size * size * 4 * sizeof(GLfloat)); + data = malloc(size * size * 4 * sizeof(GLubyte)); for (i = 0; i < 4 * size * size; i += 4) { data[i + 0] = color[0]; data[i + 1] = color[1]; data[i + 2] = color[2]; data[i + 3] = color[3]; } - glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, size, size, 0, - GL_RGBA, GL_FLOAT, data); + glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, size, size, 0, + GL_RGBA, GL_UNSIGNED_BYTE, data); free(data); } @@ -68,8 +68,9 @@ enum piglit_result piglit_display(void) { bool pass = true; - float red[4] = {1.0, 0.0, 0.0, 0.0}; + GLubyte red[4] = {0xFF, 0, 0, 0}; float green[4] = {0.0, 1.0, 0.0, 0.0}; + GLubyte green_ub[4] = {0, 0xFF, 0, 0}; GLuint q, texture; int tex_size = 64; int i; @@ -89,7 +90,7 @@ piglit_display(void) glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE); for (i = 0; tex_size / (1 << i) > 0; i++) - fill_level(i, tex_size / (1 << i), i == 0 ? green : red); + fill_level(i, tex_size / (1 << i), i == 0 ? green_ub : red); glGenQueries(1, &q); -- 2.19.1 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit