From a4b9678a5451465b7df8a7fd8acc1fa9c5300181 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Wed, 6 Feb 2013 09:50:22 -0800 Subject: [PATCH] Consolidate some redundant definitions of ARRAY_SIZE() macro. Previous to this patch, there were 13 identical definitions of this macro in Mesa source. That's ridiculous. This patch consolidates 6 of them to a single definition in src/mesa/main/macros.h. Unfortunately, I wasn't able to eliminate the remaining definitions, since they occur in places that don't include src/mesa/main/macros.h: - include/pci_ids/pci_id_driver_map.h - src/egl/drivers/dri2/egl_dri2.h - src/egl/main/egldefines.h - src/gbm/main/backend.c - src/gbm/main/gbm.c - src/glx/glxclient.h - src/mapi/mapi/stub.c I'm open to suggestions as to how to deal with the remaining redundancy. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/common/utils.c | 3 +-- src/mesa/drivers/dri/intel/intel_context.h | 2 -- src/mesa/drivers/dri/intel/intel_fbo.h | 1 + src/mesa/drivers/dri/radeon/radeon_screen.c | 2 -- src/mesa/main/hash_table.c | 3 +-- src/mesa/main/macros.h | 3 +++ src/mesa/main/set.c | 3 +-- 7 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/mesa/drivers/dri/common/utils.c b/src/mesa/drivers/dri/common/utils.c index 062712bf335..ac0773b0d4c 100644 --- a/src/mesa/drivers/dri/common/utils.c +++ b/src/mesa/drivers/dri/common/utils.c @@ -32,6 +32,7 @@ #include #include #include +#include "main/macros.h" #include "main/mtypes.h" #include "main/cpuinfo.h" #include "main/extensions.h" @@ -391,8 +392,6 @@ static const struct { unsigned int attrib, offset; } attribMap[] = { __ATTRIB(__DRI_ATTRIB_SWAP_METHOD, level) }; -#define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) - /** * Return the value of a configuration attribute. The attribute is diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index af49ab137c3..cae8ecf7a4f 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -348,8 +348,6 @@ extern char *__progname; #define SUBPIXEL_X 0.125 #define SUBPIXEL_Y 0.125 -#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) - /** * Align a value down to an alignment value * diff --git a/src/mesa/drivers/dri/intel/intel_fbo.h b/src/mesa/drivers/dri/intel/intel_fbo.h index f135dead3ee..ce744bf1384 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.h +++ b/src/mesa/drivers/dri/intel/intel_fbo.h @@ -31,6 +31,7 @@ #include #include #include "main/formats.h" +#include "main/macros.h" #include "intel_context.h" #include "intel_screen.h" diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c index 7d1c0be4365..ee77fc48134 100644 --- a/src/mesa/drivers/dri/radeon/radeon_screen.c +++ b/src/mesa/drivers/dri/radeon/radeon_screen.c @@ -701,8 +701,6 @@ radeonDestroyBuffer(__DRIdrawable *driDrawPriv) _mesa_reference_framebuffer((struct gl_framebuffer **)(&(driDrawPriv->driverPrivate)), NULL); } -#define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) - /** * This is the driver specific part of the createNewScreen entry point. * Called when using DRI2. diff --git a/src/mesa/main/hash_table.c b/src/mesa/main/hash_table.c index 2bd1929aa9d..af0510da105 100644 --- a/src/mesa/main/hash_table.c +++ b/src/mesa/main/hash_table.c @@ -44,10 +44,9 @@ #include #include "main/hash_table.h" +#include "main/macros.h" #include "ralloc.h" -#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0])) - static const uint32_t deleted_key_value; /** diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h index d1e81fe082c..f6d38fb6480 100644 --- a/src/mesa/main/macros.h +++ b/src/mesa/main/macros.h @@ -766,5 +766,8 @@ DIFFERENT_SIGNS(GLfloat x, GLfloat y) #define ENUM_TO_DOUBLE(E) ((GLdouble)(GLint)(E)) #define ENUM_TO_BOOLEAN(E) ((E) ? GL_TRUE : GL_FALSE) +/* Compute the size of an array */ +#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) + #endif diff --git a/src/mesa/main/set.c b/src/mesa/main/set.c index 736841fc9c0..2519b96947a 100644 --- a/src/mesa/main/set.c +++ b/src/mesa/main/set.c @@ -34,11 +34,10 @@ #include +#include "macros.h" #include "set.h" #include "ralloc.h" -#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0])) - /* * From Knuth -- a good choice for hash/rehash values is p, p-2 where * p and p-2 are both prime. These tables are sized to have an extra 10% -- 2.30.2