mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 11:20:20 +01:00
radeonsi: add a combined flag for flushing a framebuffer
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
parent
2bfe9d4538
commit
0aecf9e2d1
3 changed files with 10 additions and 20 deletions
|
|
@ -1085,10 +1085,7 @@ static void si_clear_buffer(struct pipe_context *ctx, struct pipe_resource *dst,
|
|||
sctx->b.flags |= SI_CONTEXT_INV_TC_L1 |
|
||||
SI_CONTEXT_INV_TC_L2 |
|
||||
SI_CONTEXT_INV_KCACHE |
|
||||
SI_CONTEXT_FLUSH_AND_INV_CB |
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB |
|
||||
SI_CONTEXT_FLUSH_AND_INV_CB_META |
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB_META;
|
||||
SI_CONTEXT_FLUSH_AND_INV_FRAMEBUFFER;
|
||||
sctx->b.flags |= SI_CONTEXT_PS_PARTIAL_FLUSH;
|
||||
|
||||
while (size) {
|
||||
|
|
@ -1127,10 +1124,7 @@ static void si_clear_buffer(struct pipe_context *ctx, struct pipe_resource *dst,
|
|||
sctx->b.flags |= SI_CONTEXT_INV_TC_L1 |
|
||||
SI_CONTEXT_INV_TC_L2 |
|
||||
SI_CONTEXT_INV_KCACHE |
|
||||
SI_CONTEXT_FLUSH_AND_INV_CB |
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB |
|
||||
SI_CONTEXT_FLUSH_AND_INV_CB_META |
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB_META;
|
||||
SI_CONTEXT_FLUSH_AND_INV_FRAMEBUFFER;
|
||||
}
|
||||
|
||||
void si_copy_buffer(struct si_context *sctx,
|
||||
|
|
@ -1153,10 +1147,7 @@ void si_copy_buffer(struct si_context *sctx,
|
|||
sctx->b.flags |= SI_CONTEXT_INV_TC_L1 |
|
||||
SI_CONTEXT_INV_TC_L2 |
|
||||
SI_CONTEXT_INV_KCACHE |
|
||||
SI_CONTEXT_FLUSH_AND_INV_CB |
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB |
|
||||
SI_CONTEXT_FLUSH_AND_INV_CB_META |
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB_META |
|
||||
SI_CONTEXT_FLUSH_AND_INV_FRAMEBUFFER |
|
||||
SI_CONTEXT_PS_PARTIAL_FLUSH;
|
||||
|
||||
while (size) {
|
||||
|
|
@ -1192,10 +1183,7 @@ void si_copy_buffer(struct si_context *sctx,
|
|||
sctx->b.flags |= SI_CONTEXT_INV_TC_L1 |
|
||||
SI_CONTEXT_INV_TC_L2 |
|
||||
SI_CONTEXT_INV_KCACHE |
|
||||
SI_CONTEXT_FLUSH_AND_INV_CB |
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB |
|
||||
SI_CONTEXT_FLUSH_AND_INV_CB_META |
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB_META;
|
||||
SI_CONTEXT_FLUSH_AND_INV_FRAMEBUFFER;
|
||||
}
|
||||
|
||||
/* INIT/DEINIT */
|
||||
|
|
|
|||
|
|
@ -90,10 +90,7 @@ void si_context_gfx_flush(void *context, unsigned flags,
|
|||
|
||||
r600_preflush_suspend_features(&ctx->b);
|
||||
|
||||
ctx->b.flags |= SI_CONTEXT_FLUSH_AND_INV_CB |
|
||||
SI_CONTEXT_FLUSH_AND_INV_CB_META |
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB |
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB_META |
|
||||
ctx->b.flags |= SI_CONTEXT_FLUSH_AND_INV_FRAMEBUFFER |
|
||||
SI_CONTEXT_INV_TC_L1 |
|
||||
SI_CONTEXT_INV_TC_L2 |
|
||||
/* this is probably not needed anymore */
|
||||
|
|
|
|||
|
|
@ -73,6 +73,11 @@
|
|||
#define SI_CONTEXT_FLUSH_WITH_INV_L2 (R600_CONTEXT_PRIVATE_FLAG << 12) /* TODO: merge with TC? */
|
||||
#define SI_CONTEXT_FLAG_COMPUTE (R600_CONTEXT_PRIVATE_FLAG << 13)
|
||||
|
||||
#define SI_CONTEXT_FLUSH_AND_INV_FRAMEBUFFER (SI_CONTEXT_FLUSH_AND_INV_CB | \
|
||||
SI_CONTEXT_FLUSH_AND_INV_CB_META | \
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB | \
|
||||
SI_CONTEXT_FLUSH_AND_INV_DB_META)
|
||||
|
||||
struct si_compute;
|
||||
|
||||
struct si_screen {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue