iris: Simplify iris_batch_prepare_noop().

This makes iris_batch_prepare_noop() return a boolean instead of
passing through the relevant set of dirty flags.  It will make it
easier to change the representation of dirty flags.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5279>
This commit is contained in:
Francisco Jerez
2020-05-29 16:54:35 -07:00
committed by Marge Bot
parent 26a3c7b363
commit 45918e0d8c
3 changed files with 11 additions and 13 deletions
+5 -4
View File
@@ -765,10 +765,11 @@ iris_batch_references(struct iris_batch *batch, struct iris_bo *bo)
}
/**
* Updates the state of the noop feature.
* Updates the state of the noop feature. Returns true if there was a noop
* transition that led to state invalidation.
*/
uint64_t
iris_batch_prepare_noop(struct iris_batch *batch, bool noop_enable, uint64_t dirty_flags)
bool
iris_batch_prepare_noop(struct iris_batch *batch, bool noop_enable)
{
if (batch->noop_enabled == noop_enable)
return 0;
@@ -784,5 +785,5 @@ iris_batch_prepare_noop(struct iris_batch *batch, bool noop_enable, uint64_t dir
/* We only need to update the entire state if we transition from noop ->
* not-noop.
*/
return !batch->noop_enabled ? dirty_flags : 0;
return !batch->noop_enabled;
}
+1 -3
View File
@@ -162,9 +162,7 @@ void _iris_batch_flush(struct iris_batch *batch, const char *file, int line);
bool iris_batch_references(struct iris_batch *batch, struct iris_bo *bo);
uint64_t iris_batch_prepare_noop(struct iris_batch *batch,
bool noop_enable,
uint64_t dirty_flags);
bool iris_batch_prepare_noop(struct iris_batch *batch, bool noop_enable);
#define RELOC_WRITE EXEC_OBJECT_WRITE
+5 -6
View File
@@ -7512,12 +7512,11 @@ iris_set_frontend_noop(struct pipe_context *ctx, bool enable)
{
struct iris_context *ice = (struct iris_context *) ctx;
ice->state.dirty |= iris_batch_prepare_noop(&ice->batches[IRIS_BATCH_RENDER],
enable,
IRIS_ALL_DIRTY_FOR_RENDER);
ice->state.dirty |= iris_batch_prepare_noop(&ice->batches[IRIS_BATCH_COMPUTE],
enable,
IRIS_ALL_DIRTY_FOR_COMPUTE);
if (iris_batch_prepare_noop(&ice->batches[IRIS_BATCH_RENDER], enable))
ice->state.dirty |= IRIS_ALL_DIRTY_FOR_RENDER;
if (iris_batch_prepare_noop(&ice->batches[IRIS_BATCH_COMPUTE], enable))
ice->state.dirty |= IRIS_ALL_DIRTY_FOR_COMPUTE;
}
void