Mesa (master): panfrost: decode 3d attribute continuation

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jan 27 12:52:33 UTC 2021


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

Author: Italo Nicola <italonicola at collabora.com>
Date:   Fri Dec 11 07:58:41 2020 +0000

panfrost: decode 3d attribute continuation

Adds 3D attribute buffer continuations to pandecode and a message to
keep track of which buffer continuations we aren't decoding yet.

Signed-off-by: Italo Nicola <italonicola at collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8066>

---

 src/panfrost/lib/decode.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/panfrost/lib/decode.c b/src/panfrost/lib/decode.c
index 703bf2cd80c..468d4f37853 100644
--- a/src/panfrost/lib/decode.c
+++ b/src/panfrost/lib/decode.c
@@ -466,12 +466,27 @@ pandecode_attributes(const struct pandecode_mapped_memory *mem,
                 pan_unpack(cl + i * MALI_ATTRIBUTE_BUFFER_LENGTH, ATTRIBUTE_BUFFER, temp);
                 DUMP_UNPACKED(ATTRIBUTE_BUFFER, temp, "%s:\n", prefix);
 
-                if (temp.type == MALI_ATTRIBUTE_TYPE_1D_NPOT_DIVISOR) {
+                switch (temp.type) {
+                case MALI_ATTRIBUTE_TYPE_1D_NPOT_DIVISOR_WRITE_REDUCTION:
+                case MALI_ATTRIBUTE_TYPE_1D_NPOT_DIVISOR: {
                         pan_unpack(cl + (i + 1) * MALI_ATTRIBUTE_BUFFER_LENGTH,
                                    ATTRIBUTE_BUFFER_CONTINUATION_NPOT, temp2);
                         pan_print(pandecode_dump_stream, ATTRIBUTE_BUFFER_CONTINUATION_NPOT,
                                   temp2, (pandecode_indent + 1) * 2);
                         i++; count++;
+                        break;
+                }
+                case MALI_ATTRIBUTE_TYPE_3D_LINEAR:
+                case MALI_ATTRIBUTE_TYPE_3D_INTERLEAVED: {
+                        pan_unpack(cl + (i + 1) * MALI_ATTRIBUTE_BUFFER_CONTINUATION_3D_LENGTH,
+                                   ATTRIBUTE_BUFFER_CONTINUATION_3D, temp2);
+                        pan_print(pandecode_dump_stream, ATTRIBUTE_BUFFER_CONTINUATION_3D,
+                                  temp2, (pandecode_indent + 1) * 2);
+                        i++; count++;
+                        break;
+                }
+                default:
+                        break;
                 }
         }
         pandecode_log("\n");



More information about the mesa-commit mailing list