diff options
author | Dave Airlie <[email protected]> | 2018-02-05 13:46:23 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2018-02-07 06:16:27 +1000 |
commit | 5b14e06d8b42e2b08ebc52b6c314ef8647d87a1f (patch) | |
tree | 4bb3abd05c3936f8a34df9ea9f03010ace25d642 /src/gallium/drivers/r600/r600_state.c | |
parent | f292eceae1d3bc0462d626d6857dbf51c48fbc92 (diff) |
r600: work out shader export mask at shader build time (v1.1)
Since enhanced layouts allows setting specific MRT outputs, we
can get sparse outputs, so we have to calculate the shader
mask earlier.
v1.1: update checks for state update (Roland)
Reviewed-by: Roland Scheidegger <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_state.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_state.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index 89cf7d2e50a..6ff8037d9cb 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -1526,7 +1526,7 @@ static void r600_emit_cb_misc_state(struct r600_context *rctx, struct r600_atom radeon_set_context_reg(cs, R_028808_CB_COLOR_CONTROL, a->cb_color_control); } else { unsigned fb_colormask = (1ULL << ((unsigned)a->nr_cbufs * 4)) - 1; - unsigned ps_colormask = (1ULL << ((unsigned)a->nr_ps_color_outputs * 4)) - 1; + unsigned ps_colormask = a->ps_color_export_mask; unsigned multiwrite = a->multiwrite && a->nr_cbufs > 1; radeon_set_context_reg_seq(cs, R_028238_CB_TARGET_MASK, 2); |