This is a trivial enough function that can live in the header. While we're here, add a STATIC_ASSERT for good measure.
Signed-off-by: Emil Velikov <emil.veli...@collabora.com> --- src/glsl/shader_enums.c | 11 ----------- src/glsl/shader_enums.h | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/glsl/shader_enums.c b/src/glsl/shader_enums.c index 9b9ec2b..1e8ea66 100644 --- a/src/glsl/shader_enums.c +++ b/src/glsl/shader_enums.c @@ -32,17 +32,6 @@ #define ENUM(x) [x] = #x #define NAME(val) ((((val) < ARRAY_SIZE(names)) && names[(val)]) ? names[(val)] : "UNKNOWN") -const char * glsl_interp_qualifier_name(enum glsl_interp_qualifier qual) -{ - static const char *names[] = { - ENUM(INTERP_QUALIFIER_NONE), - ENUM(INTERP_QUALIFIER_SMOOTH), - ENUM(INTERP_QUALIFIER_FLAT), - ENUM(INTERP_QUALIFIER_NOPERSPECTIVE), - }; - return NAME(qual); -} - const char * gl_frag_result_name(gl_frag_result result) { static const char *names[] = { diff --git a/src/glsl/shader_enums.h b/src/glsl/shader_enums.h index a560017..0305f5d 100644 --- a/src/glsl/shader_enums.h +++ b/src/glsl/shader_enums.h @@ -598,7 +598,21 @@ enum glsl_interp_qualifier INTERP_QUALIFIER_COUNT /**< Number of interpolation qualifiers */ }; -const char * glsl_interp_qualifier_name(enum glsl_interp_qualifier qual); +static const char *glsl_interp_qualifier_names[] = { + ENUM(INTERP_QUALIFIER_NONE), + ENUM(INTERP_QUALIFIER_SMOOTH), + ENUM(INTERP_QUALIFIER_FLAT), + ENUM(INTERP_QUALIFIER_NOPERSPECTIVE), +}; + +static inline const char *glsl_interp_qualifier_name(enum glsl_interp_qualifier qual) +{ + STATIC_ASSERT(ARRAY_SIZE(glsl_interp_qualifier_names) == INTERP_QUALIFIER_COUNT); + if (qual < ARRAY_SIZE(glsl_interp_qualifier_names)) + return glsl_interp_qualifier_names[qual]; + else + return "UNKNOWN"; +} /** * Fragment program results -- 2.5.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev