[Piglit] [PATCH 18/31] teximage-colors: Remove GLenum stringification macros.

Fabian Bieler fabianbieler at fastmail.fm
Thu Dec 28 15:57:44 UTC 2017


Replace GLenum stringification macros with calls to piglit_get_gl_enum_name.

Also replace string comparison between command line argument and GLenum name
with call to piglit_get_gl_enum_from_name and integer comparision.
---
 tests/texturing/teximage-colors.c | 129 +++++++++++++++++++-------------------
 1 file changed, 64 insertions(+), 65 deletions(-)

diff --git a/tests/texturing/teximage-colors.c b/tests/texturing/teximage-colors.c
index afc8cfddf..de2024644 100644
--- a/tests/texturing/teximage-colors.c
+++ b/tests/texturing/teximage-colors.c
@@ -36,80 +36,77 @@ PIGLIT_GL_TEST_CONFIG_END
 
 struct texture_format {
 	GLenum internal_format;
-	const char *name;
 	GLenum format;
 	GLenum data_type;
 };
 
 struct texture_format formats[] = {
-#define FORMAT(IF, F, D) { IF, #IF, F, D }
-	FORMAT(GL_RED, GL_RED, GL_NONE),
-	FORMAT(GL_R8, GL_RED, GL_UNSIGNED_BYTE),
-	FORMAT(GL_R8_SNORM, GL_RED, GL_BYTE),
-	FORMAT(GL_R16, GL_RED, GL_UNSIGNED_SHORT),
-	FORMAT(GL_R16_SNORM, GL_RED, GL_SHORT),
-	FORMAT(GL_R16F, GL_RED, GL_NONE),
-	FORMAT(GL_R32F, GL_RED, GL_FLOAT),
+	{ GL_RED, GL_RED, GL_NONE },
+	{ GL_R8, GL_RED, GL_UNSIGNED_BYTE },
+	{ GL_R8_SNORM, GL_RED, GL_BYTE },
+	{ GL_R16, GL_RED, GL_UNSIGNED_SHORT },
+	{ GL_R16_SNORM, GL_RED, GL_SHORT },
+	{ GL_R16F, GL_RED, GL_NONE },
+	{ GL_R32F, GL_RED, GL_FLOAT },
 
-	FORMAT(GL_RG, GL_RG, GL_NONE),
-	FORMAT(GL_RG8, GL_RG, GL_UNSIGNED_BYTE),
-	FORMAT(GL_RG8_SNORM, GL_RG, GL_BYTE),
-	FORMAT(GL_RG16, GL_RG, GL_UNSIGNED_SHORT),
-	FORMAT(GL_RG16_SNORM, GL_RG, GL_SHORT),
-	FORMAT(GL_RG16F, GL_RG, GL_NONE),
-	FORMAT(GL_RG32F, GL_RG, GL_FLOAT),
+	{ GL_RG, GL_RG, GL_NONE },
+	{ GL_RG8, GL_RG, GL_UNSIGNED_BYTE },
+	{ GL_RG8_SNORM, GL_RG, GL_BYTE },
+	{ GL_RG16, GL_RG, GL_UNSIGNED_SHORT },
+	{ GL_RG16_SNORM, GL_RG, GL_SHORT },
+	{ GL_RG16F, GL_RG, GL_NONE },
+	{ GL_RG32F, GL_RG, GL_FLOAT },
 
-	FORMAT(GL_RGB, GL_RGB, GL_NONE),
-	FORMAT(GL_R3_G3_B2, GL_RGB, GL_UNSIGNED_BYTE_3_3_2),
-	FORMAT(GL_RGB4, GL_RGB, GL_NONE),
-	FORMAT(GL_RGB5, GL_RGB, GL_NONE),
-	FORMAT(GL_RGB8, GL_RGB, GL_UNSIGNED_BYTE),
-	FORMAT(GL_RGB8_SNORM, GL_RGB, GL_BYTE),
-	FORMAT(GL_SRGB8, GL_RGB, GL_UNSIGNED_BYTE),
-	FORMAT(GL_RGB10, GL_RGB, GL_NONE),
-	FORMAT(GL_R11F_G11F_B10F, GL_RGB, GL_NONE),
-	FORMAT(GL_RGB12, GL_RGB, GL_NONE),
-	FORMAT(GL_RGB9_E5, GL_RGB, GL_NONE),
-	FORMAT(GL_RGB16, GL_RGB, GL_UNSIGNED_SHORT),
-	FORMAT(GL_RGB16F, GL_RGB, GL_NONE),
-	FORMAT(GL_RGB16_SNORM, GL_RGB, GL_SHORT),
-	FORMAT(GL_RGB32F, GL_RGB, GL_FLOAT),
+	{ GL_RGB, GL_RGB, GL_NONE },
+	{ GL_R3_G3_B2, GL_RGB, GL_UNSIGNED_BYTE_3_3_2 },
+	{ GL_RGB4, GL_RGB, GL_NONE },
+	{ GL_RGB5, GL_RGB, GL_NONE },
+	{ GL_RGB8, GL_RGB, GL_UNSIGNED_BYTE },
+	{ GL_RGB8_SNORM, GL_RGB, GL_BYTE },
+	{ GL_SRGB8, GL_RGB, GL_UNSIGNED_BYTE },
+	{ GL_RGB10, GL_RGB, GL_NONE },
+	{ GL_R11F_G11F_B10F, GL_RGB, GL_NONE },
+	{ GL_RGB12, GL_RGB, GL_NONE },
+	{ GL_RGB9_E5, GL_RGB, GL_NONE },
+	{ GL_RGB16, GL_RGB, GL_UNSIGNED_SHORT },
+	{ GL_RGB16F, GL_RGB, GL_NONE },
+	{ GL_RGB16_SNORM, GL_RGB, GL_SHORT },
+	{ GL_RGB32F, GL_RGB, GL_FLOAT },
 
-	FORMAT(GL_RGBA, GL_RGBA, GL_NONE),
-	FORMAT(GL_RGBA2, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4),
-	FORMAT(GL_RGBA4, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4),
-	FORMAT(GL_RGB5_A1, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1),
-	FORMAT(GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE),
-	FORMAT(GL_RGB10_A2, GL_RGBA, GL_UNSIGNED_INT_10_10_10_2),
-	FORMAT(GL_RGBA8_SNORM, GL_RGBA, GL_BYTE),
-	FORMAT(GL_SRGB8_ALPHA8, GL_RGBA, GL_UNSIGNED_BYTE),
-	FORMAT(GL_RGBA12, GL_RGBA, GL_NONE),
-	FORMAT(GL_RGBA16, GL_RGBA, GL_UNSIGNED_SHORT),
-	FORMAT(GL_RGBA16_SNORM, GL_RGBA, GL_SHORT),
-	FORMAT(GL_RGBA32F, GL_RGBA, GL_FLOAT),
+	{ GL_RGBA, GL_RGBA, GL_NONE },
+	{ GL_RGBA2, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4 },
+	{ GL_RGBA4, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4 },
+	{ GL_RGB5_A1, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1 },
+	{ GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE },
+	{ GL_RGB10_A2, GL_RGBA, GL_UNSIGNED_INT_10_10_10_2 },
+	{ GL_RGBA8_SNORM, GL_RGBA, GL_BYTE },
+	{ GL_SRGB8_ALPHA8, GL_RGBA, GL_UNSIGNED_BYTE },
+	{ GL_RGBA12, GL_RGBA, GL_NONE },
+	{ GL_RGBA16, GL_RGBA, GL_UNSIGNED_SHORT },
+	{ GL_RGBA16_SNORM, GL_RGBA, GL_SHORT },
+	{ GL_RGBA32F, GL_RGBA, GL_FLOAT },
 
-	FORMAT(GL_ALPHA, GL_ALPHA, GL_NONE),
-	FORMAT(GL_ALPHA4, GL_ALPHA, GL_NONE),
-	FORMAT(GL_ALPHA8, GL_ALPHA, GL_UNSIGNED_BYTE),
-	FORMAT(GL_ALPHA12, GL_ALPHA, GL_NONE),
-	FORMAT(GL_ALPHA16, GL_ALPHA, GL_UNSIGNED_SHORT),
+	{ GL_ALPHA, GL_ALPHA, GL_NONE },
+	{ GL_ALPHA4, GL_ALPHA, GL_NONE },
+	{ GL_ALPHA8, GL_ALPHA, GL_UNSIGNED_BYTE },
+	{ GL_ALPHA12, GL_ALPHA, GL_NONE },
+	{ GL_ALPHA16, GL_ALPHA, GL_UNSIGNED_SHORT },
 
-	FORMAT(GL_LUMINANCE, GL_LUMINANCE, GL_NONE),
-	FORMAT(GL_LUMINANCE4, GL_LUMINANCE, GL_NONE),
-	FORMAT(GL_LUMINANCE8, GL_LUMINANCE, GL_UNSIGNED_BYTE),
-	FORMAT(GL_SLUMINANCE8, GL_LUMINANCE, GL_UNSIGNED_BYTE),
-	FORMAT(GL_LUMINANCE12, GL_LUMINANCE, GL_NONE),
-	FORMAT(GL_LUMINANCE16, GL_LUMINANCE, GL_UNSIGNED_SHORT),
+	{ GL_LUMINANCE, GL_LUMINANCE, GL_NONE },
+	{ GL_LUMINANCE4, GL_LUMINANCE, GL_NONE },
+	{ GL_LUMINANCE8, GL_LUMINANCE, GL_UNSIGNED_BYTE },
+	{ GL_SLUMINANCE8, GL_LUMINANCE, GL_UNSIGNED_BYTE },
+	{ GL_LUMINANCE12, GL_LUMINANCE, GL_NONE },
+	{ GL_LUMINANCE16, GL_LUMINANCE, GL_UNSIGNED_SHORT },
 
-	FORMAT(GL_LUMINANCE_ALPHA, GL_LUMINANCE_ALPHA, GL_NONE),
-	FORMAT(GL_LUMINANCE4_ALPHA4, GL_LUMINANCE_ALPHA, GL_NONE),
-	FORMAT(GL_LUMINANCE6_ALPHA2, GL_LUMINANCE_ALPHA, GL_NONE),
-	FORMAT(GL_LUMINANCE8_ALPHA8, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE),
-	FORMAT(GL_SLUMINANCE8_ALPHA8, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE),
-	FORMAT(GL_LUMINANCE12_ALPHA4, GL_LUMINANCE_ALPHA, GL_NONE),
-	FORMAT(GL_LUMINANCE12_ALPHA12, GL_LUMINANCE_ALPHA, GL_NONE),
-	FORMAT(GL_LUMINANCE16_ALPHA16, GL_LUMINANCE_ALPHA, GL_UNSIGNED_SHORT),
-#undef FORMAT
+	{ GL_LUMINANCE_ALPHA, GL_LUMINANCE_ALPHA, GL_NONE },
+	{ GL_LUMINANCE4_ALPHA4, GL_LUMINANCE_ALPHA, GL_NONE },
+	{ GL_LUMINANCE6_ALPHA2, GL_LUMINANCE_ALPHA, GL_NONE },
+	{ GL_LUMINANCE8_ALPHA8, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE },
+	{ GL_SLUMINANCE8_ALPHA8, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE },
+	{ GL_LUMINANCE12_ALPHA4, GL_LUMINANCE_ALPHA, GL_NONE },
+	{ GL_LUMINANCE12_ALPHA12, GL_LUMINANCE_ALPHA, GL_NONE },
+	{ GL_LUMINANCE16_ALPHA16, GL_LUMINANCE_ALPHA, GL_UNSIGNED_SHORT },
 };
 
 #define ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(*arr))
@@ -119,8 +116,9 @@ find_format(const char *name)
 {
 	int i;
 
+	const GLenum format = piglit_get_gl_enum_from_name(name);
 	for (i = 0; i < ARRAY_LENGTH(formats); ++i)
-		if (strcmp(name, formats[i].name) == 0)
+		if (format == formats[i].internal_format)
 			return &formats[i];
 
 	return NULL;
@@ -492,7 +490,8 @@ piglit_init(int argc, char **argv)
 		printf("Invalid format.  Valid formats:\n");
 
 		for (i = 0; i < ARRAY_LENGTH(formats); i++)
-			printf("  %s\n", formats[i].name);
+			printf("  %s\n", piglit_get_gl_enum_name(
+						 formats[i].internal_format));
 		exit(1);
 	}
 
-- 
2.15.1



More information about the Piglit mailing list