Mesa (master): panfrost: Allocate extra data for depth buffer

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Mar 14 22:51:06 UTC 2019


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

Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Wed Mar 13 00:53:34 2019 +0000

panfrost: Allocate extra data for depth buffer

It's not clear why the hardware "spills" a little bit, but if we don't
do this, we get MMU faults with linear depth buffers.

Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>

---

 src/gallium/drivers/panfrost/pan_resource.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c
index 2fa468b177b..89be07871a5 100644
--- a/src/gallium/drivers/panfrost/pan_resource.c
+++ b/src/gallium/drivers/panfrost/pan_resource.c
@@ -197,6 +197,11 @@ panfrost_create_bo(struct panfrost_screen *screen, const struct pipe_resource *t
         if (template->height0) sz *= template->height0;
         if (template->depth0) sz *= template->depth0;
 
+        /* Depth buffers require extra space for unknown reasons */
+
+        if (template->bind & PIPE_BIND_DEPTH_STENCIL)
+                sz = sz + sz/256;
+
         /* Based on the usage, figure out what storing will be used. There are
          * various tradeoffs:
          *




More information about the mesa-commit mailing list