summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_rast.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-03-18 13:02:53 -0600
committerBrian Paul <brianp@vmware.com>2010-03-18 13:06:32 -0600
commit22e6dc387039e79f6d1435ae8b7422a6514d5d10 (patch)
tree15a8e1c26690f70b6d8486ebdc83fc6312a04619 /src/gallium/drivers/llvmpipe/lp_rast.c
parentd219b8a022a6fdaa0106c6e160b594c359f85185 (diff)
gallivm/llvmpipe: added lp_rast_shader_inputs::facing and pass through
The triangle rasterizer sets this field to indicate front/back-facing. It gets passed into the generated fragment code as another parameter. Used now for stencil front/back selection but will also be used for fragment shaders in general (see TGSI_SEMANTIC_FACE). With this commit two-sided stenciling mostly works but there's still a bug or two...
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_rast.c')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_rast.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c
index 30b43cce19..3a51800c40 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
@@ -314,6 +314,7 @@ lp_rast_shade_tile(struct lp_rasterizer_task *task,
/* run shader */
state->jit_function[RAST_WHOLE]( &state->jit_context,
tile_x + x, tile_y + y,
+ inputs->facing,
inputs->a0,
inputs->dadx,
inputs->dady,
@@ -377,6 +378,7 @@ void lp_rast_shade_quads( struct lp_rasterizer_task *task,
/* run shader */
state->jit_function[RAST_EDGE_TEST]( &state->jit_context,
x, y,
+ inputs->facing,
inputs->a0,
inputs->dadx,
inputs->dady,