diff options
author | Rafael Antognolli <[email protected]> | 2019-03-08 10:58:41 -0800 |
---|---|---|
committer | Rafael Antognolli <[email protected]> | 2019-03-20 16:46:26 -0700 |
commit | e7c840216380cbb0cb8a2eccf9bdf16aaf2a4554 (patch) | |
tree | 7fc9d165362155d11e74800b910596212e0e8725 /src/gallium/drivers/iris/iris_resolve.c | |
parent | 93123417ddc9c38f43985c4a7b45bdd9af5ad815 (diff) |
iris: Let blorp update the clear color for us.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/gallium/drivers/iris/iris_resolve.c')
-rw-r--r-- | src/gallium/drivers/iris/iris_resolve.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gallium/drivers/iris/iris_resolve.c b/src/gallium/drivers/iris/iris_resolve.c index 08d139fcdf7..108a6e718d2 100644 --- a/src/gallium/drivers/iris/iris_resolve.c +++ b/src/gallium/drivers/iris/iris_resolve.c @@ -537,7 +537,8 @@ iris_hiz_exec(struct iris_context *ice, struct iris_batch *batch, struct iris_resource *res, unsigned int level, unsigned int start_layer, - unsigned int num_layers, enum isl_aux_op op) + unsigned int num_layers, enum isl_aux_op op, + bool update_clear_depth) { assert(iris_resource_level_has_hiz(res, level)); assert(op != ISL_AUX_OP_NONE); @@ -600,8 +601,9 @@ iris_hiz_exec(struct iris_context *ice, ISL_AUX_USAGE_HIZ, level, true); struct blorp_batch blorp_batch; - blorp_batch_init(&ice->blorp, &blorp_batch, batch, - BLORP_BATCH_NO_UPDATE_CLEAR_COLOR); + enum blorp_batch_flags flags = 0; + flags |= update_clear_depth ? 0 : BLORP_BATCH_NO_UPDATE_CLEAR_COLOR; + blorp_batch_init(&ice->blorp, &blorp_batch, batch, flags); blorp_hiz_op(&blorp_batch, &surf, level, start_layer, num_layers, op); blorp_batch_finish(&blorp_batch); @@ -997,7 +999,7 @@ iris_resource_prepare_hiz_access(struct iris_context *ice, } if (hiz_op != ISL_AUX_OP_NONE) { - iris_hiz_exec(ice, batch, res, level, layer, 1, hiz_op); + iris_hiz_exec(ice, batch, res, level, layer, 1, hiz_op, false); switch (hiz_op) { case ISL_AUX_OP_FULL_RESOLVE: |