diff options
author | Marek Olšák <marek.olsak@amd.com> | 2016-08-26 17:26:43 +0200 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2016-09-05 18:01:15 +0200 |
commit | 687c4be9cf61df18e5318f918a32e24d0a2aca0e (patch) | |
tree | 0525c6c597eda19cd94f9bcafdde6c0a58ce3949 /src/gallium/drivers/radeonsi/si_state.c | |
parent | 8b0507672e65c93307b39255186ed6651e8dde04 (diff) | |
download | external_mesa3d-687c4be9cf61df18e5318f918a32e24d0a2aca0e.zip external_mesa3d-687c4be9cf61df18e5318f918a32e24d0a2aca0e.tar.gz external_mesa3d-687c4be9cf61df18e5318f918a32e24d0a2aca0e.tar.bz2 |
gallium/radeon: set VPORT_ZMIN/MAX registers correctly
Calculate depth ranges from viewport states and
pipe_rasterizer_state::clip_halfz.
The evergreend.h change is required to silence a warning.
This fixes this recently updated piglit: arb_depth_clamp/depth-clamp-range
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index f54b0bc..60ba3f6 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -733,6 +733,7 @@ static void *si_create_rs_state(struct pipe_context *ctx, } rs->scissor_enable = state->scissor; + rs->clip_halfz = state->clip_halfz; rs->two_side = state->light_twoside; rs->multisample_enable = state->multisample; rs->force_persample_interp = state->force_persample_interp; @@ -872,7 +873,7 @@ static void si_bind_rs_state(struct pipe_context *ctx, void *state) si_mark_atom_dirty(sctx, &sctx->msaa_sample_locs.atom); } - r600_set_scissor_enable(&sctx->b, rs->scissor_enable); + r600_viewport_set_rast_deps(&sctx->b, rs->scissor_enable, rs->clip_halfz); si_pm4_bind_state(sctx, rasterizer, rs); si_update_poly_offset_state(sctx); |