iris: Split iris_flush_and_dirty_for_history into two helpers.
We create two new helpers, iris_flush_bits_for_history, and
iris_dirty_for_history, then use them in the existing function.
The first accumulates flush bits based on res->bind_history, but doesn't
actually perform a flush. This allows us to accumulate flush bits by
looping over multiple resources, but ultimately emit a single flush for
all of them.
The latter flags dirty bits without flushing, which again allows us to
handle multiple resources, but also is more convenient when writing from
the CPU where we don't need a flush (as in commit 4d12236072
).
This commit is contained in:
@@ -258,6 +258,10 @@ iris_resource_get_clear_color(const struct iris_resource *res,
|
||||
|
||||
void iris_init_screen_resource_functions(struct pipe_screen *pscreen);
|
||||
|
||||
void iris_dirty_for_history(struct iris_context *ice,
|
||||
struct iris_resource *res);
|
||||
uint32_t iris_flush_bits_for_history(struct iris_resource *res);
|
||||
|
||||
void iris_flush_and_dirty_for_history(struct iris_context *ice,
|
||||
struct iris_batch *batch,
|
||||
struct iris_resource *res);
|
||||
|
Reference in New Issue
Block a user