For the series: Reviewed-by: Marek Olšák <marek.ol...@amd.com>
Marek On Wed, Feb 4, 2015 at 9:46 PM, Brian Paul <bri...@vmware.com> wrote: > Convert the code to try formats from an array rather than a bunch > of if/else cases. > --- > src/gallium/auxiliary/hud/font.c | 24 +++++++++++++++--------- > 1 file changed, 15 insertions(+), 9 deletions(-) > > diff --git a/src/gallium/auxiliary/hud/font.c > b/src/gallium/auxiliary/hud/font.c > index 03e35d9..60e8ae5 100644 > --- a/src/gallium/auxiliary/hud/font.c > +++ b/src/gallium/auxiliary/hud/font.c > @@ -57,6 +57,7 @@ > #include "pipe/p_state.h" > #include "pipe/p_context.h" > #include "util/u_inlines.h" > +#include "util/u_memory.h" > > typedef unsigned char GLubyte; /* 1-byte unsigned */ > typedef struct tagSFG_Font SFG_Font; > @@ -373,24 +374,29 @@ static boolean > util_font_create_fixed_8x13(struct pipe_context *pipe, > struct util_font *out_font) > { > + static const enum pipe_format formats[] = { > + PIPE_FORMAT_I8_UNORM, > + PIPE_FORMAT_L8_UNORM, > + PIPE_FORMAT_R8_UNORM > + }; > struct pipe_screen *screen = pipe->screen; > struct pipe_resource tex_templ, *tex; > struct pipe_transfer *transfer = NULL; > char *map; > - enum pipe_format tex_format; > + enum pipe_format tex_format = PIPE_FORMAT_NONE; > int i; > > - if (screen->is_format_supported(screen, PIPE_FORMAT_I8_UNORM, > + for (i = 0; i < Elements(formats); i++) { > + if (screen->is_format_supported(screen, formats[i], > PIPE_TEXTURE_RECT, 0, > PIPE_BIND_SAMPLER_VIEW)) { > - tex_format = PIPE_FORMAT_I8_UNORM; > - } > - else if (screen->is_format_supported(screen, PIPE_FORMAT_L8_UNORM, > - PIPE_TEXTURE_RECT, 0, > - PIPE_BIND_SAMPLER_VIEW)) { > - tex_format = PIPE_FORMAT_L8_UNORM; > + tex_format = formats[i]; > + break; > + } > } > - else { > + > + if (tex_format == PIPE_FORMAT_NONE) { > + debug_printf("Unable to find texture format for font.\n"); > return FALSE; > } > > -- > 1.9.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev