diff options
author | Marek Olšák <[email protected]> | 2016-04-28 19:45:22 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2016-05-10 17:20:09 +0200 |
commit | 2af4b637d8a2da72a42ca8288dcab90fb1e2346c (patch) | |
tree | 29203e8784459c64b8f8c3f76299fc09344a502d | |
parent | c85d0c17d98b012191c8b52dc7bc9fb77cce7656 (diff) |
gallium/radeon: split out code for discarding DCC
Reviewed-by: Alex Deucher <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
-rw-r--r-- | src/gallium/drivers/radeon/r600_texture.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c index 94597fc55cf..3e71da23f10 100644 --- a/src/gallium/drivers/radeon/r600_texture.c +++ b/src/gallium/drivers/radeon/r600_texture.c @@ -293,6 +293,17 @@ static void r600_texture_discard_cmask(struct r600_common_screen *rscreen, p_atomic_inc(&rscreen->compressed_colortex_counter); } +static void r600_texture_discard_dcc(struct r600_common_screen *rscreen, + struct r600_texture *rtex) +{ + /* Disable DCC. */ + rtex->dcc_offset = 0; + rtex->cb_color_info &= ~VI_S_028C70_DCC_ENABLE(1); + + /* Notify all contexts about the change. */ + r600_dirty_all_framebuffer_states(rscreen); +} + void r600_texture_disable_dcc(struct r600_common_screen *rscreen, struct r600_texture *rtex) { @@ -308,12 +319,7 @@ void r600_texture_disable_dcc(struct r600_common_screen *rscreen, rctx->b.flush(&rctx->b, NULL, 0); pipe_mutex_unlock(rscreen->aux_context_lock); - /* Disable DCC. */ - rtex->dcc_offset = 0; - rtex->cb_color_info &= ~VI_S_028C70_DCC_ENABLE(1); - - /* Notify all contexts about the change. */ - r600_dirty_all_framebuffer_states(rscreen); + r600_texture_discard_dcc(rscreen, rtex); } static boolean r600_texture_get_handle(struct pipe_screen* screen, |