mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
freedreno: add helper to mark all state dirty
This will simplify things when we break out per-shader-stage dirty bits. Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
248a508f24
commit
71f9e03d21
4 changed files with 13 additions and 6 deletions
|
|
@ -264,7 +264,7 @@ batch_flush(struct fd_batch *batch)
|
|||
*/
|
||||
fd_hw_query_set_stage(batch, batch->draw, FD_STAGE_NULL);
|
||||
|
||||
batch->ctx->dirty = ~0;
|
||||
fd_context_all_dirty(batch->ctx);
|
||||
batch_flush_reset_dependencies(batch, true);
|
||||
|
||||
if (batch->ctx->screen->reorder) {
|
||||
|
|
|
|||
|
|
@ -325,6 +325,13 @@ fd_context_unlock(struct fd_context *ctx)
|
|||
mtx_unlock(&ctx->screen->lock);
|
||||
}
|
||||
|
||||
/* mark all state dirty: */
|
||||
static inline void
|
||||
fd_context_all_dirty(struct fd_context *ctx)
|
||||
{
|
||||
ctx->dirty = ~0;
|
||||
}
|
||||
|
||||
static inline struct pipe_scissor_state *
|
||||
fd_context_get_scissor(struct fd_context *ctx)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
|
|||
|
||||
if (ctx->in_blit) {
|
||||
fd_batch_reset(batch);
|
||||
ctx->dirty = ~0;
|
||||
fd_context_all_dirty(ctx);
|
||||
}
|
||||
|
||||
batch->blit = ctx->in_blit;
|
||||
|
|
@ -207,7 +207,7 @@ fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
|
|||
ctx->streamout.offsets[i] += info->count;
|
||||
|
||||
if (fd_mesa_debug & FD_DBG_DDRAW)
|
||||
ctx->dirty = 0xffffffff;
|
||||
fd_context_all_dirty(ctx);
|
||||
|
||||
fd_batch_check_size(batch);
|
||||
|
||||
|
|
@ -307,7 +307,7 @@ fd_clear(struct pipe_context *pctx, unsigned buffers,
|
|||
|
||||
if (ctx->in_blit) {
|
||||
fd_batch_reset(batch);
|
||||
ctx->dirty = ~0;
|
||||
fd_context_all_dirty(ctx);
|
||||
}
|
||||
|
||||
/* for bookkeeping about which buffers have been cleared (and thus
|
||||
|
|
@ -377,7 +377,7 @@ fd_clear(struct pipe_context *pctx, unsigned buffers,
|
|||
FD_DIRTY_FRAMEBUFFER;
|
||||
|
||||
if (fd_mesa_debug & FD_DBG_DCLEAR)
|
||||
ctx->dirty = 0xffffffff;
|
||||
fd_context_all_dirty(ctx);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ fd_set_framebuffer_state(struct pipe_context *pctx,
|
|||
fd_batch_reference(&ctx->batch, NULL);
|
||||
fd_reset_wfi(batch);
|
||||
ctx->batch = batch;
|
||||
ctx->dirty = ~0;
|
||||
fd_context_all_dirty(ctx);
|
||||
|
||||
if (old_batch && old_batch->blit && !old_batch->back_blit) {
|
||||
/* for blits, there is not really much point in hanging on
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue