mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-22 19:38:10 +02:00
nir/instr_set: fix fp_fast_math
We can't just ignore the flags of the match, we need the union. Fixes:666647acae("nir: track some float controls bits per instruction") Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31195> (cherry picked from commita3d6a770c0)
This commit is contained in:
parent
cb29f5e0a7
commit
f35ed83b82
2 changed files with 5 additions and 5 deletions
|
|
@ -464,7 +464,7 @@
|
|||
"description": "nir/instr_set: fix fp_fast_math",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "666647acaedb1b4112f19192b992b05547975dfa",
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -771,10 +771,10 @@ nir_instr_set_add_or_rewrite(struct set *instr_set, nir_instr *instr,
|
|||
* exactly identical in every other way so, once we've set the exact
|
||||
* bit, they are the same.
|
||||
*/
|
||||
if (instr->type == nir_instr_type_alu && nir_instr_as_alu(instr)->exact)
|
||||
nir_instr_as_alu(match)->exact = true;
|
||||
if (instr->type == nir_instr_type_alu)
|
||||
nir_instr_as_alu(match)->fp_fast_math = nir_instr_as_alu(instr)->fp_fast_math;
|
||||
if (instr->type == nir_instr_type_alu) {
|
||||
nir_instr_as_alu(match)->exact |= nir_instr_as_alu(instr)->exact;
|
||||
nir_instr_as_alu(match)->fp_fast_math |= nir_instr_as_alu(instr)->fp_fast_math;
|
||||
}
|
||||
|
||||
nir_def_rewrite_uses(def, new_def);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue