Mesa (master): panfrost: Workaround -bshadow regression

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sun Apr 28 21:41:47 UTC 2019


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

Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Sun Apr 28 21:39:20 2019 +0000

panfrost: Workaround -bshadow regression

I have *no* idea what's happening here, but let's not regress an app
that used to work in the mean time while we're figuring it out..

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

---

 src/gallium/drivers/panfrost/pan_context.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c
index 9d3d0d20084..42db8317d37 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -1591,7 +1591,14 @@ panfrost_create_vertex_elements_state(
         so->num_elements = num_elements;
         memcpy(so->pipe, elements, sizeof(*elements) * num_elements);
 
-        /* Allocate memory for the descriptor state */
+        /* XXX: What the cornball? This is totally, 100%, unapologetically
+         * nonsense. And yet it somehow fixes a regression in -bshadow
+         * (previously, we allocated the descriptor here... a newer commit
+         * removed that allocation, and then memory corruption led to
+         * shader_meta getting overwritten in bad ways and then the whole test
+         * case falling apart . TODO: LOOK INTO PLEASE XXX XXX BAD XXX XXX XXX
+         */
+        panfrost_allocate_chunk(pan_context(pctx), 0, HEAP_DESCRIPTOR);
 
         for (int i = 0; i < num_elements; ++i) {
                 so->hw[i].index = elements[i].vertex_buffer_index;




More information about the mesa-commit mailing list