summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2016-08-21 12:39:21 +0200
committerMarek Olšák <[email protected]>2016-09-05 18:01:15 +0200
commitf660d1cb218d2610b81194d7a7ab83ff5e220005 (patch)
tree971ff5a2db86b42e1973f15001cc74de7c1bb954
parent01dd73f2f42f0d017c2c6ccf1138a9c222953d52 (diff)
gallium/radeon: also eliminate DCC fast clear in resource_get_handle
just do what the comment says Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
-rw-r--r--src/gallium/drivers/radeon/r600_texture.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c
index 912d1234aef..7bdceb1df9d 100644
--- a/src/gallium/drivers/radeon/r600_texture.c
+++ b/src/gallium/drivers/radeon/r600_texture.c
@@ -548,14 +548,15 @@ static boolean r600_texture_get_handle(struct pipe_screen* screen,
}
if (!(usage & PIPE_HANDLE_USAGE_EXPLICIT_FLUSH) &&
- rtex->cmask.size) {
+ (rtex->cmask.size || rtex->dcc_offset)) {
/* Eliminate fast clear (both CMASK and DCC) */
r600_eliminate_fast_color_clear(rctx, rtex);
/* Disable CMASK if flush_resource isn't going
* to be called.
*/
- r600_texture_discard_cmask(rscreen, rtex);
+ if (rtex->cmask.size)
+ r600_texture_discard_cmask(rscreen, rtex);
}
/* Set metadata. */