Mesa (main): anv,iris: Flush HDC before color fast clears

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jan 12 01:47:05 UTC 2022


Module: Mesa
Branch: main
Commit: 912acbf963e4f054f9e57df72f3390d4fd9fcab3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=912acbf963e4f054f9e57df72f3390d4fd9fcab3

Author: Nanley Chery <nanley.g.chery at intel.com>
Date:   Mon Nov  8 11:41:20 2021 -0500

anv,iris: Flush HDC before color fast clears

Needed for XeHP (see Bspec 47704).

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Rohan Garg <rohan.garg at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14024>

---

 src/gallium/drivers/iris/iris_clear.c | 2 ++
 src/intel/vulkan/anv_blorp.c          | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/src/gallium/drivers/iris/iris_clear.c b/src/gallium/drivers/iris/iris_clear.c
index 4a7f295671f..c7f2f32c370 100644
--- a/src/gallium/drivers/iris/iris_clear.c
+++ b/src/gallium/drivers/iris/iris_clear.c
@@ -261,6 +261,8 @@ fast_clear_color(struct iris_context *ice,
                               PIPE_CONTROL_TILE_CACHE_FLUSH |
                               (devinfo->verx10 == 120 ?
                                  PIPE_CONTROL_DEPTH_STALL : 0) |
+                              (devinfo->verx10 == 125 ?
+                                 PIPE_CONTROL_FLUSH_HDC : 0) |
                               PIPE_CONTROL_PSS_STALL_SYNC);
 
    iris_batch_sync_region_start(batch);
diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c
index 1cc2f79635b..b4d3c5043e4 100644
--- a/src/intel/vulkan/anv_blorp.c
+++ b/src/intel/vulkan/anv_blorp.c
@@ -1880,6 +1880,8 @@ anv_image_mcs_op(struct anv_cmd_buffer *cmd_buffer,
                              ANV_PIPE_TILE_CACHE_FLUSH_BIT |
                              (devinfo->verx10 == 120 ?
                                 ANV_PIPE_DEPTH_STALL_BIT : 0) |
+                             (devinfo->verx10 == 125 ?
+                                ANV_PIPE_HDC_PIPELINE_FLUSH_BIT : 0) |
                              ANV_PIPE_PSS_STALL_SYNC_BIT |
                              ANV_PIPE_END_OF_PIPE_SYNC_BIT,
                              "before fast clear mcs");
@@ -1974,6 +1976,8 @@ anv_image_ccs_op(struct anv_cmd_buffer *cmd_buffer,
                              ANV_PIPE_TILE_CACHE_FLUSH_BIT |
                              (devinfo->verx10 == 120 ?
                                 ANV_PIPE_DEPTH_STALL_BIT : 0) |
+                             (devinfo->verx10 == 125 ?
+                                ANV_PIPE_HDC_PIPELINE_FLUSH_BIT : 0) |
                              ANV_PIPE_PSS_STALL_SYNC_BIT |
                              ANV_PIPE_END_OF_PIPE_SYNC_BIT,
                              "before fast clear ccs");



More information about the mesa-commit mailing list