mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 11:18:08 +02:00
aco: allow v_fma_mix with denorms for gfx9 chips where it's fused
Only unfused mad unconditionally flushes denorms. Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38183>
This commit is contained in:
parent
75e7fb03a5
commit
6610905b43
1 changed files with 4 additions and 4 deletions
|
|
@ -865,8 +865,8 @@ alu_opt_info_is_valid(opt_ctx& ctx, alu_opt_info& info)
|
|||
if (ctx.program->gfx_level < GFX9)
|
||||
return false;
|
||||
|
||||
/* GFX9 v_mad_mix* always flushes 16/32-bit denormal inputs/outputs */
|
||||
if (ctx.program->gfx_level == GFX9 && ctx.fp_mode.denorm)
|
||||
/* unfused v_mad_mix* always flushes 16/32-bit denormal inputs/outputs */
|
||||
if (!ctx.program->dev.fused_mad_mix && ctx.fp_mode.denorm)
|
||||
return false;
|
||||
|
||||
switch (info.opcode) {
|
||||
|
|
@ -4357,8 +4357,8 @@ can_use_mad_mix(opt_ctx& ctx, aco_ptr<Instruction>& instr)
|
|||
if (ctx.program->gfx_level < GFX9)
|
||||
return false;
|
||||
|
||||
/* GFX9 v_mad_mix* always flushes 16/32-bit denormal inputs/outputs */
|
||||
if (ctx.program->gfx_level == GFX9 && ctx.fp_mode.denorm)
|
||||
/* unfused v_mad_mix* always flushes 16/32-bit denormal inputs/outputs */
|
||||
if (!ctx.program->dev.fused_mad_mix && ctx.fp_mode.denorm)
|
||||
return false;
|
||||
|
||||
if (instr->valu().omod)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue