diff options
author | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2015-10-24 01:47:45 +0200 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2015-10-24 17:46:08 +0200 |
commit | 6529daca391912246c13e6f76e885026d2ce88be (patch) | |
tree | 406dd85d9f375949c1bb2278c798e68cc9224a90 /src/gallium/drivers/radeonsi/si_descriptors.c | |
parent | 205a3ce5c158349dda7082f44e95301526b9f183 (diff) | |
download | external_mesa3d-6529daca391912246c13e6f76e885026d2ce88be.zip external_mesa3d-6529daca391912246c13e6f76e885026d2ce88be.tar.gz external_mesa3d-6529daca391912246c13e6f76e885026d2ce88be.tar.bz2 |
radeonsi: Implement DCC fast clear.
Uses the DCC buffer instead of the CMASK buffer. The ELIMINATE_FAST_CLEAR
still works. Furthermore, with DCC compression we can directly clear
to a limited set of colors such that we do not need a postprocessing step.
v2 Marek: check dcc_buffer && dirty_level_mask in set_sampler_view
Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_descriptors.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_descriptors.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c index 5548cba3..a8ff6f2 100644 --- a/src/gallium/drivers/radeonsi/si_descriptors.c +++ b/src/gallium/drivers/radeonsi/si_descriptors.c @@ -234,7 +234,8 @@ static void si_set_sampler_views(struct pipe_context *ctx, } else { samplers->depth_texture_mask &= ~(1 << slot); } - if (rtex->cmask.size || rtex->fmask.size) { + if (rtex->cmask.size || rtex->fmask.size || + (rtex->dcc_buffer && rtex->dirty_level_mask)) { samplers->compressed_colortex_mask |= 1 << slot; } else { samplers->compressed_colortex_mask &= ~(1 << slot); |