panfrost: Fix decoding of texture payloads
authorBoris Brezillon <boris.brezillon@collabora.com>
Tue, 17 Nov 2020 18:18:42 +0000 (19:18 +0100)
committerBoris Brezillon <boris.brezillon@collabora.com>
Wed, 25 Nov 2020 15:21:10 +0000 (16:21 +0100)
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653>

src/panfrost/lib/decode.c

index f0da3fb..f32b991 100644 (file)
@@ -743,10 +743,10 @@ pandecode_texture_payload(mali_ptr payload,
                 if (manual_stride && (i & 1)) {
                         /* signed 32-bit snuck in as a 64-bit pointer */
                         uint64_t stride_set = pointers_and_strides[i];
-                        uint32_t clamped_stride = stride_set;
-                        int32_t stride = clamped_stride;
-                        assert(stride_set == clamped_stride);
-                        pandecode_log("(mali_ptr) %d /* stride */, \n", stride);
+                        int32_t line_stride = stride_set;
+                        int32_t surface_stride = stride_set >> 32;
+                        pandecode_log("(mali_ptr) %d /* surface stride */ %d /* line stride */, \n",
+                                      surface_stride, line_stride);
                 } else {
                         char *a = pointer_as_memory_reference(pointers_and_strides[i]);
                         pandecode_log("%s, \n", a);