diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gallium/drivers/llvmpipe/lp_setup_line.c | 6 | ||||
| -rw-r--r-- | src/gallium/drivers/llvmpipe/lp_setup_point.c | 16 | 
2 files changed, 19 insertions, 3 deletions
| diff --git a/src/gallium/drivers/llvmpipe/lp_setup_line.c b/src/gallium/drivers/llvmpipe/lp_setup_line.c index 829eb8a5a0..156bd63375 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup_line.c +++ b/src/gallium/drivers/llvmpipe/lp_setup_line.c @@ -208,6 +208,12 @@ static void setup_line_coefficients( struct lp_setup_context *setup,           fragcoord_usage_mask |= usage_mask;           break; +      case LP_INTERP_FACING: +         for (i = 0; i < NUM_CHANNELS; i++) +            if (usage_mask & (1 << i)) +               constant_coef(setup, tri, slot+1, 1.0, i); +         break; +        default:           assert(0);        } diff --git a/src/gallium/drivers/llvmpipe/lp_setup_point.c b/src/gallium/drivers/llvmpipe/lp_setup_point.c index 2c354d1d0e..a95c15751c 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup_point.c +++ b/src/gallium/drivers/llvmpipe/lp_setup_point.c @@ -232,13 +232,23 @@ setup_point_coefficients( struct lp_setup_context *setup,                 break;                                   }           } - -         /* Otherwise fallthrough */ -      default: +         /* FALLTHROUGH */ +      case LP_INTERP_CONSTANT:           for (i = 0; i < NUM_CHANNELS; i++) {              if (usage_mask & (1 << i))                 constant_coef(setup, point, slot+1, info->v0[vert_attr][i], i);           } +         break; + +      case LP_INTERP_FACING: +         for (i = 0; i < NUM_CHANNELS; i++) +            if (usage_mask & (1 << i)) +               constant_coef(setup, point, slot+1, 1.0, i); +         break; + +      default: +         assert(0); +         break;        }     } | 
