iris: Skip resolves and flushes altogether if unnecessary

Improves drawoverhead baseline scores by 1.17x.
This commit is contained in:
Kenneth Graunke
2019-03-11 00:04:56 -07:00
parent 365886ebe1
commit 66c100a8d6
3 changed files with 27 additions and 9 deletions

View File

@@ -125,12 +125,15 @@ enum iris_param_domain {
#define IRIS_DIRTY_VF_SGVS (1ull << 52)
#define IRIS_DIRTY_VF (1ull << 53)
#define IRIS_DIRTY_VF_TOPOLOGY (1ull << 54)
#define IRIS_DIRTY_RENDER_RESOLVES_AND_FLUSHES (1ull << 55)
#define IRIS_DIRTY_COMPUTE_RESOLVES_AND_FLUSHES (1ull << 56)
#define IRIS_ALL_DIRTY_FOR_COMPUTE (IRIS_DIRTY_CS | \
IRIS_DIRTY_SAMPLER_STATES_CS | \
IRIS_DIRTY_UNCOMPILED_CS | \
IRIS_DIRTY_CONSTANTS_CS | \
IRIS_DIRTY_BINDINGS_CS)
IRIS_DIRTY_BINDINGS_CS | \
IRIS_DIRTY_COMPUTE_RESOLVES_AND_FLUSHES)
#define IRIS_ALL_DIRTY_FOR_RENDER ~IRIS_ALL_DIRTY_FOR_COMPUTE