mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-16 00:40:32 +01:00
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:
parent
32f78eff80
commit
9d89214a69
1 changed files with 7 additions and 2 deletions
|
|
@ -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() {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue