summaryrefslogtreecommitdiff
path: root/src/gallium
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup_line.c6
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup_point.c16
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;
}
}