nak/sm70: Use rZ for the 3rd source of lea when .hi is not set

Pre-blackwell, it's ignored so we can set whatever.  On Blackwell+, it
seems to be take into account somehow (more RE needed?) so we need to
set it to rZ to get the old behavior.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910>
This commit is contained in:
Faith Ekstrand 2025-05-08 14:21:45 -04:00 committed by Marge Bot
parent 32f78eff80
commit 9d89214a69

View file

@ -1643,10 +1643,13 @@ impl SM70Op for OpLea {
|| self.b.src_mod == SrcMod::None
);
let zero = 0.into();
let c = if self.dst_high {
Some(&self.a_high)
} else {
None
// TODO: On Ada and earlier, src2 is ignored if !dst_high. On
// Blackwell+, it seems to do something.
Some(&zero)
};
if self.is_uniform() {
@ -1699,7 +1702,9 @@ impl SM70Op for OpLeaX {
let c = if self.dst_high {
Some(&self.a_high)
} else {
None
// TODO: On Ada and earlier, src2 is ignored if !dst_high. On
// Blackwell+, it seems to do something.
Some(&Src::ZERO)
};
if self.is_uniform() {