mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-24 06:18:10 +02:00
radv: use nir_op_ffma_weak
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41165>
This commit is contained in:
parent
3e334ea0d3
commit
6cf3cba68c
2 changed files with 6 additions and 1 deletions
|
|
@ -64,7 +64,7 @@ pass(nir_builder *b, nir_intrinsic_instr *intrin, void *data)
|
|||
nir_def *mul = nir_bcsel(b, cond, nir_imm_float(b, 0.0625f), nir_imm_float(b, -0.0));
|
||||
|
||||
/* adjusted_frag_z = dFdxFine(frag_z) * 0.0625 + frag_z */
|
||||
frag_z = nir_ffma_old(b, nir_ddx_fine(b, frag_z), mul, frag_z);
|
||||
frag_z = nir_ffma_weak(b, nir_ddx_fine(b, frag_z), mul, frag_z);
|
||||
|
||||
nir_def_rewrite_uses_after(&intrin->def, frag_z);
|
||||
|
||||
|
|
|
|||
|
|
@ -63,6 +63,11 @@ get_nir_options_for_stage(struct radv_compiler_info *compiler_info, mesa_shader_
|
|||
options->lower_ffma16 = split_fma || compiler_info->ac->gfx_level < GFX9;
|
||||
options->lower_ffma32 = split_fma || compiler_info->ac->gfx_level < GFX10_3;
|
||||
options->lower_ffma64 = split_fma;
|
||||
if (split_fma) {
|
||||
options->float_mul_add16 |= nir_float_muladd_support_prefers_split;
|
||||
options->float_mul_add32 |= nir_float_muladd_support_prefers_split;
|
||||
options->float_mul_add64 |= nir_float_muladd_support_prefers_split;
|
||||
}
|
||||
options->max_unroll_iterations = 32;
|
||||
options->max_unroll_iterations_aggressive = 128;
|
||||
options->lower_doubles_options = nir_lower_drcp | nir_lower_dsqrt | nir_lower_drsq | nir_lower_ddiv;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue