glsl: Fix ir_print_visitor's handling of interpolation qualifiers.

This patch updates the interp[] array to match the enum
glsl_interp_qualifier.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

v2: Add a STATIC_ASSERT to make sure the array is the correct size.
This required adding INTERP_QUALIFIER_COUNT to the enum.
This commit is contained in:
Paul Berry 2013-04-06 19:16:58 -07:00
parent c295874129
commit 67f226e179
2 changed files with 5 additions and 2 deletions

View file

@ -24,6 +24,7 @@
#include "ir_print_visitor.h"
#include "glsl_types.h"
#include "glsl_parser_extras.h"
#include "main/macros.h"
#include "program/hash_table.h"
static void print_type(const glsl_type *t);
@ -149,7 +150,8 @@ void ir_print_visitor::visit(ir_variable *ir)
const char *const mode[] = { "", "uniform ", "shader_in ", "shader_out ",
"in ", "out ", "inout ",
"const_in ", "sys ", "temporary " };
const char *const interp[] = { "", "flat", "noperspective" };
const char *const interp[] = { "", "smooth", "flat", "noperspective" };
STATIC_ASSERT(ARRAY_SIZE(interp) == INTERP_QUALIFIER_COUNT);
printf("(%s%s%s%s) ",
cent, inv, mode[ir->mode], interp[ir->interpolation]);

View file

@ -1829,7 +1829,8 @@ enum glsl_interp_qualifier
INTERP_QUALIFIER_NONE = 0,
INTERP_QUALIFIER_SMOOTH,
INTERP_QUALIFIER_FLAT,
INTERP_QUALIFIER_NOPERSPECTIVE
INTERP_QUALIFIER_NOPERSPECTIVE,
INTERP_QUALIFIER_COUNT /**< Number of interpolation qualifiers */
};