diff options
author | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2015-10-21 00:10:38 +0200 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2015-10-24 00:42:28 +0200 |
commit | 81ebd6a88289663677ebb97f788afb53fb84dfd5 (patch) | |
tree | eabf90413a6aa974415ae311fcfedb258ee8beb3 /src/gallium/drivers/radeonsi/si_state_draw.c | |
parent | bb77467df9863c522c8d8550e295e2ad7bbef37c (diff) | |
download | external_mesa3d-81ebd6a88289663677ebb97f788afb53fb84dfd5.zip external_mesa3d-81ebd6a88289663677ebb97f788afb53fb84dfd5.tar.gz external_mesa3d-81ebd6a88289663677ebb97f788afb53fb84dfd5.tar.bz2 |
radeonsi: Add FLUSH_AND_INV_CB_DATA_TS for DCC.
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_state_draw.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state_draw.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c index 822e2d5..cf0891a 100644 --- a/src/gallium/drivers/radeonsi/si_state_draw.c +++ b/src/gallium/drivers/radeonsi/si_state_draw.c @@ -647,6 +647,17 @@ void si_emit_cache_flush(struct si_context *si_ctx, struct r600_atom *atom) S_0085F0_CB5_DEST_BASE_ENA(1) | S_0085F0_CB6_DEST_BASE_ENA(1) | S_0085F0_CB7_DEST_BASE_ENA(1); + + /* Necessary for DCC */ + if (sctx->chip_class >= VI) { + radeon_emit(cs, PKT3(PKT3_EVENT_WRITE_EOP, 4, 0) | compute); + radeon_emit(cs, EVENT_TYPE(V_028A90_FLUSH_AND_INV_CB_DATA_TS) | + EVENT_INDEX(5)); + radeon_emit(cs, 0); + radeon_emit(cs, 0); + radeon_emit(cs, 0); + radeon_emit(cs, 0); + } } if (sctx->flags & SI_CONTEXT_FLUSH_AND_INV_DB) { cp_coher_cntl |= S_0085F0_DB_ACTION_ENA(1) | |