[Piglit] [PATCH 1/2] Add usage information to getteximage-targets
Anuj Phogat
anuj.phogat at gmail.com
Fri Apr 10 16:11:46 PDT 2015
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
---
tests/all.py | 8 +--
tests/texturing/getteximage-targets.c | 121 ++++++++++++++++++++++------------
2 files changed, 82 insertions(+), 47 deletions(-)
diff --git a/tests/all.py b/tests/all.py
index 4d47c4c..c1fac8f 100755
--- a/tests/all.py
+++ b/tests/all.py
@@ -3035,10 +3035,10 @@ with profile.group_manager(
g(['s3tc-errors'])
g(['s3tc-teximage'], run_concurrent=False)
g(['s3tc-texsubimage'], run_concurrent=False)
- g(['getteximage-targets', 'S3TC', '2D'])
- g(['getteximage-targets', 'S3TC', '2D_ARRAY'])
- g(['getteximage-targets', 'S3TC', 'CUBE'])
- g(['getteximage-targets', 'S3TC', 'CUBE_ARRAY'])
+ g(['getteximage-targets', '2D', 'S3TC'])
+ g(['getteximage-targets', '2D_ARRAY', 'S3TC'])
+ g(['getteximage-targets', 'CUBE', 'S3TC'])
+ g(['getteximage-targets', 'CUBE_ARRAY', 'S3TC'])
g(['compressedteximage', 'GL_COMPRESSED_SRGB_S3TC_DXT1_EXT'])
g(['compressedteximage', 'GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT'])
g(['compressedteximage', 'GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT'])
diff --git a/tests/texturing/getteximage-targets.c b/tests/texturing/getteximage-targets.c
index 03bb4f8..841ba45 100644
--- a/tests/texturing/getteximage-targets.c
+++ b/tests/texturing/getteximage-targets.c
@@ -221,58 +221,93 @@ getTexImage(bool doPBO, GLenum target, GLubyte data[][IMAGE_SIZE],
return pass;
}
+NORETURN void
+print_usage_and_exit(char *prog_name)
+{
+ printf("Usage: %s <target> <compression>\n"
+ " where <target> is one of:\n"
+ " 1D\n"
+ " 2D\n"
+ " 3D\n"
+ " RECT\n"
+ " CUBE\n"
+ " 1D_ARRAY\n"
+ " 2D_ARRAY\n"
+ " CUBE_ARRAY\n"
+ " where <compression> is one of:\n"
+ " S3TC: Valid only with 2D* and CUBE* targets\n",
+ prog_name);
+ piglit_report_result(PIGLIT_FAIL);
+}
+
void
piglit_init(int argc, char **argv)
{
- int i;
- GLenum target = GL_TEXTURE_2D;
+ int i = 1;
+ GLenum target;
bool pass = true;
GLenum internalformat = GL_RGBA8;
GLubyte data[18][IMAGE_SIZE];
int tolerance = 0;
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "1D") == 0) {
- target = GL_TEXTURE_1D;
- }
- if (strcmp(argv[i], "3D") == 0) {
- target = GL_TEXTURE_3D;
- piglit_require_gl_version(12);
- }
- if (strcmp(argv[i], "RECT") == 0) {
- target = GL_TEXTURE_RECTANGLE;
- piglit_require_extension("GL_ARB_texture_rectangle");
- }
- if (strcmp(argv[i], "CUBE") == 0) {
- target = GL_TEXTURE_CUBE_MAP;
- piglit_require_extension("GL_ARB_texture_cube_map");
- }
- if (strcmp(argv[i], "1D_ARRAY") == 0) {
- target = GL_TEXTURE_1D_ARRAY;
- piglit_require_extension("GL_EXT_texture_array");
- }
- if (strcmp(argv[i], "2D_ARRAY") == 0) {
- target = GL_TEXTURE_2D_ARRAY;
- piglit_require_extension("GL_EXT_texture_array");
- }
- if (strcmp(argv[i], "CUBE_ARRAY") == 0) {
- target = GL_TEXTURE_CUBE_MAP_ARRAY;
- piglit_require_extension("GL_ARB_texture_cube_map_array");
- }
- if (strcmp(argv[i], "S3TC") == 0) {
- internalformat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
- tolerance = 8;
- if (!piglit_is_extension_supported("GL_EXT_texture_compression_s3tc")
- && !piglit_is_extension_supported("GL_ANGLE_texture_compression_dxt5")) {
- fprintf(stderr,
- "S3TC testing requires either "
- "GL_EXT_texture_compression_s3tc or "
- "GL_ANGLE_texture_compression_dxt5 "
- "extension be supported.\n");
- piglit_report_result(PIGLIT_SKIP);
- }
- puts("Testing S3TC.");
+ if (argc < 2 || argc > 3)
+ print_usage_and_exit(argv[0]);
+
+ if (strcmp(argv[i], "1D") == 0) {
+ target = GL_TEXTURE_1D;
+ }
+ else if (strcmp(argv[i], "2D") == 0) {
+ target = GL_TEXTURE_2D;
+ }
+ else if (strcmp(argv[i], "3D") == 0) {
+ target = GL_TEXTURE_3D;
+ piglit_require_gl_version(12);
+ }
+ else if (strcmp(argv[i], "RECT") == 0) {
+ target = GL_TEXTURE_RECTANGLE;
+ piglit_require_extension("GL_ARB_texture_rectangle");
+ }
+ else if (strcmp(argv[i], "CUBE") == 0) {
+ target = GL_TEXTURE_CUBE_MAP;
+ piglit_require_extension("GL_ARB_texture_cube_map");
+ }
+ else if (strcmp(argv[i], "1D_ARRAY") == 0) {
+ target = GL_TEXTURE_1D_ARRAY;
+ piglit_require_extension("GL_EXT_texture_array");
+ }
+ else if (strcmp(argv[i], "2D_ARRAY") == 0) {
+ target = GL_TEXTURE_2D_ARRAY;
+ piglit_require_extension("GL_EXT_texture_array");
+ }
+ else if (strcmp(argv[i], "CUBE_ARRAY") == 0) {
+ target = GL_TEXTURE_CUBE_MAP_ARRAY;
+ piglit_require_extension("GL_ARB_texture_cube_map_array");
+ }
+ else {
+ print_usage_and_exit(argv[0]);
+ }
+
+ i++;
+
+ if (argc == 3 && strcmp(argv[i], "S3TC") == 0 &&
+ (target == GL_TEXTURE_2D ||
+ target == GL_TEXTURE_2D_ARRAY ||
+ target == GL_TEXTURE_CUBE_MAP ||
+ target == GL_TEXTURE_CUBE_MAP_ARRAY)) {
+ internalformat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
+ tolerance = 8;
+ if (!piglit_is_extension_supported("GL_EXT_texture_compression_s3tc")
+ && !piglit_is_extension_supported("GL_ANGLE_texture_compression_dxt5")) {
+ fprintf(stderr,
+ "S3TC testing requires either "
+ "GL_EXT_texture_compression_s3tc or "
+ "GL_ANGLE_texture_compression_dxt5 "
+ "extension be supported.\n");
+ piglit_report_result(PIGLIT_SKIP);
}
+ puts("Testing S3TC.");
+ } else if (argc == 3) {
+ print_usage_and_exit(argv[0]);
}
init_layer_data(data[0], 18);
--
1.9.3
More information about the Piglit
mailing list