diff options
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_exec.c | 4 | ||||
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_exec.h | 2 | ||||
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_strings.c | 3 |
3 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index 3e2b899d40e..52d4ff4e80b 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -2371,6 +2371,10 @@ exec_declaration(struct tgsi_exec_machine *mach, eval = eval_perspective_coef; break; + case TGSI_INTERPOLATE_COLOR: + eval = mach->flatshade_color ? eval_constant_coef : eval_perspective_coef; + break; + default: assert(0); return; diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.h b/src/gallium/auxiliary/tgsi/tgsi_exec.h index 223da2cb1c6..0817e14101b 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.h +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.h @@ -263,7 +263,7 @@ struct tgsi_exec_machine const struct tgsi_interp_coef *InterpCoefs; struct tgsi_exec_vector QuadPos; float Face; /**< +1 if front facing, -1 if back facing */ - + bool flatshade_color; /* Conditional execution masks */ uint CondMask; /**< For IF/ELSE/ENDIF */ uint LoopMask; /**< For BGNLOOP/ENDLOOP */ diff --git a/src/gallium/auxiliary/tgsi/tgsi_strings.c b/src/gallium/auxiliary/tgsi/tgsi_strings.c index aa12493d9b0..de9152dae21 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_strings.c +++ b/src/gallium/auxiliary/tgsi/tgsi_strings.c @@ -117,7 +117,8 @@ const char *tgsi_interpolate_names[TGSI_INTERPOLATE_COUNT] = { "CONSTANT", "LINEAR", - "PERSPECTIVE" + "PERSPECTIVE", + "COLOR" }; const char *tgsi_primitive_names[PIPE_PRIM_MAX] = |