vtn: Remove transpose(m0)*m1 fast path
authorKonstantin Seurer <konstantin.seurer@gmail.com>
Wed, 27 Dec 2023 14:19:12 +0000 (15:19 +0100)
committerEric Engestrom <eric@engestrom.ch>
Tue, 9 Jan 2024 19:37:45 +0000 (19:37 +0000)
commita3bcb524829427b23e7363f8f73172155ab57ba0
treee45ab9f4127ab9165a008f485eb3c8df1beadc6f
parente7dd2637a5b02cc3a5cdd5e1503c68f1c10b5b37
vtn: Remove transpose(m0)*m1 fast path

This is broken for games that rely on invariant geometry since the usage
of matrices can affect how gl_Position is computed. The fdot fastpath
relied on if and how fdot is lowered for correctness.

Totals from 6578 (7.73% of 85071) affected shaders:
MaxWaves: 147190 -> 147170 (-0.01%)
Instrs: 4451406 -> 4438140 (-0.30%); split: -0.31%, +0.01%
CodeSize: 23553020 -> 23541772 (-0.05%); split: -0.07%, +0.03%
VGPRs: 302304 -> 302328 (+0.01%)
SpillSGPRs: 1309 -> 1329 (+1.53%)
Latency: 22509985 -> 22177164 (-1.48%); split: -1.48%, +0.00%
InvThroughput: 4862795 -> 4842951 (-0.41%); split: -0.41%, +0.01%
VClause: 85035 -> 84998 (-0.04%); split: -0.06%, +0.02%
SClause: 131008 -> 131055 (+0.04%); split: -0.02%, +0.05%
Copies: 298935 -> 298060 (-0.29%); split: -0.71%, +0.41%
PreSGPRs: 266833 -> 267292 (+0.17%); split: -0.85%, +1.03%
PreVGPRs: 249511 -> 249601 (+0.04%)

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9562
cc: mesa-stable

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26821>
(cherry picked from commit 4d02543853eb86c6c3cb6dd2a84e9a673b44001f)
.pick_status.json
src/compiler/spirv/vtn_alu.c