diff options
author | José Fonseca <[email protected]> | 2014-01-06 18:45:49 +0000 |
---|---|---|
committer | José Fonseca <[email protected]> | 2014-01-07 16:04:42 +0000 |
commit | 2d368b982af5e6566c7da7fd2bc8b190af28188b (patch) | |
tree | e6102cbfd74fd819851fb45db42927d98b6eed15 /src/gallium/drivers/llvmpipe/lp_setup.c | |
parent | 95bf222603bbbb643a6119e370c6a616ccc5ceaf (diff) |
llvmpipe: Basic implementation of pipe_context::set_sample_mask.
We don't support MSAA (ie, number of samples is always one) therefore
sample_mask boils down to a synonym of the rasterizer_discard flag.
Also, this change makes setup actually use the value received in
lp_setup_set_rasterizer_discard instead of reaching out to llvmpipe
upper layers to re-fetch it.
Based on Si Chen's draft.
With this patch `wgf11multisample Coverage passes 100%` on the UMD
D3D10 state tracker.
Reviewed-by: Roland Scheidegger <[email protected]>
Reviewed-by: Si Chen <[email protected]>
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_setup.c')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_setup.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_setup.c b/src/gallium/drivers/llvmpipe/lp_setup.c index 2fad469d197..7f2223129aa 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup.c +++ b/src/gallium/drivers/llvmpipe/lp_setup.c @@ -66,9 +66,6 @@ static boolean try_update_scene_state( struct lp_setup_context *setup ); static void lp_setup_get_empty_scene(struct lp_setup_context *setup) { - struct llvmpipe_context *lp = llvmpipe_context(setup->pipe); - boolean discard = lp->rasterizer ? lp->rasterizer->rasterizer_discard : FALSE; - assert(setup->scene == NULL); setup->scene_idx++; @@ -84,8 +81,8 @@ lp_setup_get_empty_scene(struct lp_setup_context *setup) lp_fence_wait(setup->scene->fence); } - lp_scene_begin_binning(setup->scene, &setup->fb, discard); - + lp_scene_begin_binning(setup->scene, &setup->fb, setup->rasterizer_discard); + } |