From 51d5d13411c6844f578bfc7337dfc9060441710c Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Sat, 7 Jun 2025 09:40:14 -0700 Subject: [PATCH] freedreno: Sort MRTs so output is stable Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7095 Signed-off-by: Vinson Lee Part-of: (cherry picked from commit 8c8496e2f64ef4d98cf4d0c03c040d90e0960edd) --- .pick_status.json | 2 +- src/freedreno/.gitlab-ci/reference/shadow.log | 4 ++-- src/freedreno/decode/scripts/parse-submits.lua | 9 ++++++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index fb286aedb84..6f387994486 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -13764,7 +13764,7 @@ "description": "freedreno: Sort MRTs so output is stable", "nominated": false, "nomination_type": 0, - "resolution": 4, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/freedreno/.gitlab-ci/reference/shadow.log b/src/freedreno/.gitlab-ci/reference/shadow.log index bfb8c0b7f25..6c08bb6b945 100644 --- a/src/freedreno/.gitlab-ci/reference/shadow.log +++ b/src/freedreno/.gitlab-ci/reference/shadow.log @@ -38,9 +38,9 @@ Batch: mode: RM6_BIN_RENDER_START bin size: 640x192 (18 bins) DEPTHTEST DEPTHWRITE - MRT[0x28fc000:0x0]: 1920x1080 FMT6_Z24_UNORM_S8_UINT (MSAA_ONE) CLEARED RESOLVED - MRT[0x18ae000:0x0]: 1920x1080 FMT6_8_8_8_8_UNORM (MSAA_ONE) CLEARED RESOLVED MRT[0x0:0x0]: 1920x1080 FMT6_8_8_8_8_UNORM (MSAA_ONE) CLEARED RESOLVED + MRT[0x18ae000:0x0]: 1920x1080 FMT6_8_8_8_8_UNORM (MSAA_ONE) CLEARED RESOLVED + MRT[0x28fc000:0x0]: 1920x1080 FMT6_Z24_UNORM_S8_UINT (MSAA_ONE) CLEARED RESOLVED SRC[0x4715000:0x46f3000]: 3840x2160 FMT6_Z24_UNORM_S8_UINT (MSAA_ONE) diff --git a/src/freedreno/decode/scripts/parse-submits.lua b/src/freedreno/decode/scripts/parse-submits.lua index 2cfa05fd7f5..95abcbbe0e0 100644 --- a/src/freedreno/decode/scripts/parse-submits.lua +++ b/src/freedreno/decode/scripts/parse-submits.lua @@ -136,7 +136,14 @@ function finish() printf("-----\n") end - for base,mrt in pairs(mrts) do + local keys = {} + for base in pairs(mrts) do + table.insert(keys,base) + end + table.sort(keys) + + for _,base in ipairs(keys) do + local mrt = mrts[base] printf(" MRT[0x%x:0x%x]:\t%ux%u\t\t%s (%s)", base, mrt.flag, mrt.w, mrt.h, mrt.format, mrt.samples) if drawmode == "RM6_BIN_RENDER_START" then if cleared[mrt.gmem] then