iris: remove additional pipe control done before hiz for older gens
authorTapani Pälli <tapani.palli@intel.com>
Fri, 4 Sep 2020 06:56:19 +0000 (09:56 +0300)
committerTapani Pälli <tapani.palli@intel.com>
Tue, 15 Sep 2020 08:44:30 +0000 (11:44 +0300)
The restriction found in removed comment is not found on new specs.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6593>

src/gallium/drivers/iris/iris_resolve.c

index fba62e3..a5cd7f1 100644 (file)
@@ -551,26 +551,13 @@ iris_hiz_exec(struct iris_context *ice,
     *    the depth buffer clear operation."
     *
     * Same applies for Gen8 and Gen9.
-    *
-    * In addition, from the Ivybridge PRM, volume 2, 1.10.4.1
-    * PIPE_CONTROL, Depth Cache Flush Enable:
-    *
-    *   "This bit must not be set when Depth Stall Enable bit is set in
-    *    this packet."
-    *
-    * This is confirmed to hold for real, Haswell gets immediate gpu hangs.
-    *
-    * Therefore issue two pipe control flushes, one for cache flush and
-    * another for depth stall.
     */
    iris_emit_pipe_control_flush(batch,
-                                "hiz op: pre-flushes (1/2)",
+                                "hiz op: pre-flush",
                                 PIPE_CONTROL_DEPTH_CACHE_FLUSH |
+                                PIPE_CONTROL_DEPTH_STALL |
                                 PIPE_CONTROL_CS_STALL);
 
-   iris_emit_pipe_control_flush(batch, "hiz op: pre-flushes (2/2)",
-                                PIPE_CONTROL_DEPTH_STALL);
-
    assert(isl_aux_usage_has_hiz(res->aux.usage) && res->aux.bo);
 
    iris_batch_maybe_flush(batch, 1500);