aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_clear.c
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-11-26 20:55:59 -0800
committerKenneth Graunke <[email protected]>2019-02-21 10:26:10 -0800
commit0c3ea03e4bcc4a334d862cf96b3fa70a5b8a64cc (patch)
tree52110bbdd20fad838ffaeae77f1361b5d88a1458 /src/gallium/drivers/iris/iris_clear.c
parent7bbf3ff4a98c861a208e5a19005d35c93507aa39 (diff)
iris: for BLORP, only use the predicate enable bit when USE_BIT
Diffstat (limited to 'src/gallium/drivers/iris/iris_clear.c')
-rw-r--r--src/gallium/drivers/iris/iris_clear.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/drivers/iris/iris_clear.c b/src/gallium/drivers/iris/iris_clear.c
index 7f113fa3657..493ebaa9ad7 100644
--- a/src/gallium/drivers/iris/iris_clear.c
+++ b/src/gallium/drivers/iris/iris_clear.c
@@ -53,10 +53,17 @@ iris_clear(struct pipe_context *ctx,
struct iris_batch *batch = &ice->batches[IRIS_BATCH_RENDER];
+ if (ice->predicate == IRIS_PREDICATE_STATE_DONT_RENDER)
+ return;
+
+ enum blorp_batch_flags blorp_flags = 0;
+ if (ice->predicate == IRIS_PREDICATE_STATE_USE_BIT)
+ blorp_flags |= BLORP_BATCH_PREDICATE_ENABLE;
+
iris_batch_maybe_flush(batch, 1500);
struct blorp_batch blorp_batch;
- blorp_batch_init(&ice->blorp, &blorp_batch, batch, BLORP_BATCH_PREDICATE_ENABLE);
+ blorp_batch_init(&ice->blorp, &blorp_batch, batch, blorp_flags);
if (buffers & PIPE_CLEAR_DEPTHSTENCIL) {
struct pipe_surface *psurf = cso_fb->zsbuf;