Mesa (master): iris: handle aux properly in iris_resource_get_handle

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Apr 5 06:50:43 UTC 2019


Module: Mesa
Branch: master
Commit: 361f3d19f1fe09852900369ea7c4e9d8d5df4be3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=361f3d19f1fe09852900369ea7c4e9d8d5df4be3

Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Fri Apr  5 08:55:18 2019 +0300

iris: handle aux properly in iris_resource_get_handle

Disable aux when resource seen the first time and EXPLICIT_FLUSH
not being set. This fixes issues seen when launching Xorg and
CCS_E getting utilized.

Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/gallium/drivers/iris/iris_resource.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c
index d0a473fd72a..fc093110fb2 100644
--- a/src/gallium/drivers/iris/iris_resource.c
+++ b/src/gallium/drivers/iris/iris_resource.c
@@ -839,6 +839,14 @@ iris_resource_get_handle(struct pipe_screen *pscreen,
 {
    struct iris_resource *res = (struct iris_resource *)resource;
 
+   /* Disable aux usage if explicit flush not set and this is the
+    * first time we are dealing with this resource.
+    */
+   if ((!(usage & PIPE_HANDLE_USAGE_EXPLICIT_FLUSH) && res->aux.usage != 0)) {
+      if (p_atomic_read(&resource->reference.count) == 1)
+         iris_resource_disable_aux(res);
+   }
+
    /* If this is a buffer, stride should be 0 - no need to special case */
    whandle->stride = res->surf.row_pitch_B;
    whandle->modifier =




More information about the mesa-commit mailing list