Mesa (master): panfrost: Fix bifrost tiler descriptor definition

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Sep 28 07:18:47 UTC 2020


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

Author: Boris Brezillon <boris.brezillon at collabora.com>
Date:   Fri Sep 25 10:24:43 2020 +0200

panfrost: Fix bifrost tiler descriptor definition

The bifrost tiler descriptor definition was wrong, leading to a buffer
overflow.

Fixes: efce73d99d0e ("panfrost: XML-ify the bifrost tiler descriptors")
Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Tested-by: Christian Hewitt <christianshewitt at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6859>

---

 src/panfrost/lib/midgard.xml | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/panfrost/lib/midgard.xml b/src/panfrost/lib/midgard.xml
index e0f9bf3c61e..4e5d97667a7 100644
--- a/src/panfrost/lib/midgard.xml
+++ b/src/panfrost/lib/midgard.xml
@@ -1010,11 +1010,18 @@
     <field name="Top" size="64" start="6:0" type="address"/>
   </struct>
 
-  <struct name="Bifrost Tiler Weights" size="1">
-    <field name="Value" size="16" start="0:16" type="uint"/>
+  <struct name="Bifrost Tiler Weights" size="8">
+    <field name="Weight0" size="16" start="0:16" type="uint"/>
+    <field name="Weight1" size="16" start="1:16" type="uint"/>
+    <field name="Weight2" size="16" start="2:16" type="uint"/>
+    <field name="Weight3" size="16" start="3:16" type="uint"/>
+    <field name="Weight4" size="16" start="4:16" type="uint"/>
+    <field name="Weight5" size="16" start="5:16" type="uint"/>
+    <field name="Weight6" size="16" start="6:16" type="uint"/>
+    <field name="Weight7" size="16" start="7:16" type="uint"/>
   </struct>
 
-  <struct name="Bifrost Tiler">
+  <struct name="Bifrost Tiler" size="48">
     <field name="Polygon List" size="64" start="0:0" type="address"/>
     <field name="Hierarchy Mask" size="13" start="2:0" type="uint"/>
     <field name="Sample Pattern" size="3" start="2:13" type="Sample Pattern"/>
@@ -1022,7 +1029,7 @@
     <field name="FB Width" size="16" start="3:0" type="uint" modifier="minus(1)"/>
     <field name="FB Height" size="16" start="3:16" type="uint" modifier="minus(1)"/>
     <field name="Heap" size="64" start="6:0" type="address"/>
-    <field name="Weights" size="32" start="8:0" type="Bifrost Tiler Weights" elements="8"/>
+    <field name="Weights" size="256" start="8:0" type="Bifrost Tiler Weights"/>
   </struct>
 
   <struct name="Bifrost Tiler Pointer">



More information about the mesa-commit mailing list