From 5382b4fc2ebc96e761e1c74032439deff6ba89a7 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Mon, 8 May 2023 09:57:56 +0200 Subject: [PATCH] nir: use more nir_fadd_imm This makes the code a bit easier to read. Reviewed-by: Faith Ekstrand Reviewed-by: Alyssa Rosenzweig Part-of: --- src/compiler/nir/nir_format_convert.h | 6 +++--- src/compiler/spirv/vtn_glsl450.c | 2 +- src/freedreno/ir3/ir3_nir.c | 2 +- src/gallium/drivers/r600/sfn/sfn_nir_lower_alu.cpp | 2 +- src/gallium/drivers/r600/sfn/sfn_nir_lower_tex.cpp | 8 ++++---- src/gallium/drivers/vc4/vc4_nir_lower_io.c | 10 +++++----- .../drivers/zink/zink_lower_cubemap_to_array.c | 12 ++++++------ src/intel/blorp/blorp_blit.c | 8 ++++---- src/mesa/state_tracker/st_atifs_to_nir.c | 2 +- src/microsoft/compiler/dxil_nir_lower_int_cubemaps.c | 12 ++++++------ 10 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/compiler/nir/nir_format_convert.h b/src/compiler/nir/nir_format_convert.h index 77a3477c0d1..72a86c5d9ef 100644 --- a/src/compiler/nir/nir_format_convert.h +++ b/src/compiler/nir/nir_format_convert.h @@ -303,9 +303,9 @@ nir_format_linear_to_srgb(nir_builder *b, nir_ssa_def *c) { nir_ssa_def *linear = nir_fmul_imm(b, c, 12.92f); nir_ssa_def *curved = - nir_fsub(b, nir_fmul_imm(b, nir_fpow(b, c, nir_imm_float(b, 1.0 / 2.4)), - 1.055f), - nir_imm_float(b, 0.055f)); + nir_fadd_imm(b, nir_fmul_imm(b, nir_fpow(b, c, nir_imm_float(b, 1.0 / 2.4)), + 1.055f), + -0.055f); return nir_fsat(b, nir_bcsel(b, nir_flt(b, c, nir_imm_float(b, 0.0031308f)), linear, curved)); diff --git a/src/compiler/spirv/vtn_glsl450.c b/src/compiler/spirv/vtn_glsl450.c index 04c8a30e480..1c34aefaec8 100644 --- a/src/compiler/spirv/vtn_glsl450.c +++ b/src/compiler/spirv/vtn_glsl450.c @@ -569,7 +569,7 @@ handle_glsl450_alu(struct vtn_builder *b, enum GLSLstd450 entrypoint, case GLSLstd450Atanh: { nir_ssa_def *one = nir_imm_floatN_t(nb, 1.0, src[0]->bit_size); dest->def = - nir_fmul_imm(nb, nir_flog(nb, nir_fdiv(nb, nir_fadd(nb, src[0], one), + nir_fmul_imm(nb, nir_flog(nb, nir_fdiv(nb, nir_fadd_imm(nb, src[0], 1.0), nir_fsub(nb, one, src[0]))), 0.5f); break; diff --git a/src/freedreno/ir3/ir3_nir.c b/src/freedreno/ir3/ir3_nir.c index cee0c3f555f..f5c737ca72b 100644 --- a/src/freedreno/ir3/ir3_nir.c +++ b/src/freedreno/ir3/ir3_nir.c @@ -310,7 +310,7 @@ ir3_nir_lower_array_sampler_cb(struct nir_builder *b, nir_instr *instr, void *_d assume(ncomp >= 1); nir_ssa_def *ai = nir_channel(b, src, ncomp - 1); - ai = nir_fadd(b, ai, nir_imm_floatN_t(b, 0.5, src->bit_size)); + ai = nir_fadd_imm(b, ai, 0.5); nir_instr_rewrite_src(&tex->instr, &tex->src[coord_idx].src, nir_src_for_ssa(nir_vector_insert_imm(b, src, ai, ncomp - 1))); return true; diff --git a/src/gallium/drivers/r600/sfn/sfn_nir_lower_alu.cpp b/src/gallium/drivers/r600/sfn/sfn_nir_lower_alu.cpp index 5620752b3f1..b9edbe575f6 100644 --- a/src/gallium/drivers/r600/sfn/sfn_nir_lower_alu.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_nir_lower_alu.cpp @@ -118,7 +118,7 @@ LowerSinCos::lower(nir_instr *instr) auto normalized = m_gxf_level != R600 - ? nir_fadd(b, fract, nir_imm_float(b, -0.5)) + ? nir_fadd_imm(b, fract, -0.5) : nir_ffma(b, fract, nir_imm_float(b, 2.0f * M_PI), nir_imm_float(b, -M_PI)); if (alu->op == nir_op_fsin) diff --git a/src/gallium/drivers/r600/sfn/sfn_nir_lower_tex.cpp b/src/gallium/drivers/r600/sfn/sfn_nir_lower_tex.cpp index be69457a864..cff20fddf02 100644 --- a/src/gallium/drivers/r600/sfn/sfn_nir_lower_tex.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_nir_lower_tex.cpp @@ -65,15 +65,15 @@ lower_coord_shift_unnormalized(nir_builder *b, nir_tex_instr *tex) int coord_index = nir_tex_instr_src_index(tex, nir_tex_src_coord); nir_ssa_def *corr = nullptr; if (unlikely(tex->array_is_lowered_cube)) { - auto corr2 = nir_fadd(b, - nir_channels(b, tex->src[coord_index].src.ssa, 3), - nir_imm_float(b, -0.5f)); + auto corr2 = nir_fadd_imm(b, + nir_channels(b, tex->src[coord_index].src.ssa, 3), + -0.5f); corr = nir_vec3(b, nir_channel(b, corr2, 0), nir_channel(b, corr2, 1), nir_channel(b, tex->src[coord_index].src.ssa, 2)); } else { - corr = nir_fadd(b, tex->src[coord_index].src.ssa, nir_imm_float(b, -0.5f)); + corr = nir_fadd_imm(b, tex->src[coord_index].src.ssa, -0.5f); } nir_instr_rewrite_src(&tex->instr, &tex->src[coord_index].src, nir_src_for_ssa(corr)); return true; diff --git a/src/gallium/drivers/vc4/vc4_nir_lower_io.c b/src/gallium/drivers/vc4/vc4_nir_lower_io.c index d7d89b7e889..7bfe0f3d4b8 100644 --- a/src/gallium/drivers/vc4/vc4_nir_lower_io.c +++ b/src/gallium/drivers/vc4/vc4_nir_lower_io.c @@ -124,11 +124,11 @@ vc4_nir_get_vattr_channel_vpm(struct vc4_compile *c, 2.0), nir_imm_float(b, 1.0)); } else { - return nir_fadd(b, - nir_i2f32(b, - vc4_nir_unpack_8i(b, temp, - swiz)), - nir_imm_float(b, -128.0)); + return nir_fadd_imm(b, + nir_i2f32(b, + vc4_nir_unpack_8i(b, temp, + swiz)), + -128.0); } } else { if (chan->normalized) { diff --git a/src/gallium/drivers/zink/zink_lower_cubemap_to_array.c b/src/gallium/drivers/zink/zink_lower_cubemap_to_array.c index ce05c3f56c2..5366c68f8f2 100644 --- a/src/gallium/drivers/zink/zink_lower_cubemap_to_array.c +++ b/src/gallium/drivers/zink/zink_lower_cubemap_to_array.c @@ -94,8 +94,8 @@ evaluate_face_x(nir_builder *b, coord_t *coord) nir_ssa_def *positive = nir_fge(b, coord->rx, nir_imm_float(b, 0.0)); nir_ssa_def *ima = nir_fdiv(b, nir_imm_float(b, -0.5), coord->arx); - nir_ssa_def *x = nir_fadd(b, nir_fmul(b, nir_fmul(b, sign, ima), coord->rz), nir_imm_float(b, 0.5)); - nir_ssa_def *y = nir_fadd(b, nir_fmul(b, ima, coord->ry), nir_imm_float(b, 0.5)); + nir_ssa_def *x = nir_fadd_imm(b, nir_fmul(b, nir_fmul(b, sign, ima), coord->rz), 0.5); + nir_ssa_def *y = nir_fadd_imm(b, nir_fmul(b, ima, coord->ry), 0.5); nir_ssa_def *face = nir_bcsel(b, positive, nir_imm_float(b, 0.0), nir_imm_float(b, 1.0)); if (coord->array) @@ -111,8 +111,8 @@ evaluate_face_y(nir_builder *b, coord_t *coord) nir_ssa_def *positive = nir_fge(b, coord->ry, nir_imm_float(b, 0.0)); nir_ssa_def *ima = nir_fdiv(b, nir_imm_float(b, 0.5), coord->ary); - nir_ssa_def *x = nir_fadd(b, nir_fmul(b, ima, coord->rx), nir_imm_float(b, 0.5)); - nir_ssa_def *y = nir_fadd(b, nir_fmul(b, nir_fmul(b, sign, ima), coord->rz), nir_imm_float(b, 0.5)); + nir_ssa_def *x = nir_fadd_imm(b, nir_fmul(b, ima, coord->rx), 0.5); + nir_ssa_def *y = nir_fadd_imm(b, nir_fmul(b, nir_fmul(b, sign, ima), coord->rz), 0.5); nir_ssa_def *face = nir_bcsel(b, positive, nir_imm_float(b, 2.0), nir_imm_float(b, 3.0)); if (coord->array) @@ -128,8 +128,8 @@ evaluate_face_z(nir_builder *b, coord_t *coord) nir_ssa_def *positive = nir_fge(b, coord->rz, nir_imm_float(b, 0.0)); nir_ssa_def *ima = nir_fdiv(b, nir_imm_float(b, -0.5), coord->arz); - nir_ssa_def *x = nir_fadd(b, nir_fmul(b, nir_fmul(b, sign, ima), nir_fneg(b, coord->rx)), nir_imm_float(b, 0.5)); - nir_ssa_def *y = nir_fadd(b, nir_fmul(b, ima, coord->ry), nir_imm_float(b, 0.5)); + nir_ssa_def *x = nir_fadd_imm(b, nir_fmul(b, nir_fmul(b, sign, ima), nir_fneg(b, coord->rx)), 0.5); + nir_ssa_def *y = nir_fadd_imm(b, nir_fmul(b, ima, coord->ry), 0.5); nir_ssa_def *face = nir_bcsel(b, positive, nir_imm_float(b, 4.0), nir_imm_float(b, 5.0)); if (coord->array) diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c index ebf71ce89e5..25e8bc55265 100644 --- a/src/intel/blorp/blorp_blit.c +++ b/src/intel/blorp/blorp_blit.c @@ -733,7 +733,7 @@ blorp_nir_manual_blend_bilinear(nir_builder *b, nir_ssa_def *pos, /* Adjust coordinates so that integers represent pixel centers rather * than pixel edges. */ - pos_xy = nir_fadd(b, pos_xy, nir_imm_float(b, -0.5)); + pos_xy = nir_fadd_imm(b, pos_xy, -0.5); /* Clamp the X, Y texture coordinates to properly handle the sampling of * texels on texture edges. */ @@ -1390,9 +1390,9 @@ brw_blorp_build_nir_shader(struct blorp_context *blorp, */ assert(key->src_coords_normalized); assert(key->filter == BLORP_FILTER_AVERAGE); - src_pos = nir_fadd(&b, - nir_i2f32(&b, src_pos), - nir_imm_float(&b, 0.5f)); + src_pos = nir_fadd_imm(&b, + nir_i2f32(&b, src_pos), + 0.5f); color = blorp_nir_tex(&b, &v, key, src_pos); } else { /* Gfx7+ hardware doesn't automatically blend. */ diff --git a/src/mesa/state_tracker/st_atifs_to_nir.c b/src/mesa/state_tracker/st_atifs_to_nir.c index 6df181fc654..2067ee88981 100644 --- a/src/mesa/state_tracker/st_atifs_to_nir.c +++ b/src/mesa/state_tracker/st_atifs_to_nir.c @@ -207,7 +207,7 @@ prepare_argument(struct st_translate *t, const struct atifs_instruction *inst, if (srcReg->argMod & GL_COMP_BIT_ATI) src = nir_fsub(t->b, nir_imm_vec4_float(t->b, 1.0), src); if (srcReg->argMod & GL_BIAS_BIT_ATI) - src = nir_fadd(t->b, src, nir_imm_vec4_float(t->b, -0.5)); + src = nir_fadd_imm(t->b, src, -0.5); if (srcReg->argMod & GL_2X_BIT_ATI) src = nir_fadd(t->b, src, src); if (srcReg->argMod & GL_NEGATE_BIT_ATI) diff --git a/src/microsoft/compiler/dxil_nir_lower_int_cubemaps.c b/src/microsoft/compiler/dxil_nir_lower_int_cubemaps.c index 032d58188bc..08177c4c63f 100644 --- a/src/microsoft/compiler/dxil_nir_lower_int_cubemaps.c +++ b/src/microsoft/compiler/dxil_nir_lower_int_cubemaps.c @@ -113,8 +113,8 @@ evaluate_face_x(nir_builder *b, coord_t *coord) nir_ssa_def *positive = nir_fge(b, coord->rx, nir_imm_float(b, 0.0)); nir_ssa_def *ima = nir_fdiv(b, nir_imm_float(b, -0.5), coord->arx); - nir_ssa_def *x = nir_fadd(b, nir_fmul(b, nir_fmul(b, sign, ima), coord->rz), nir_imm_float(b, 0.5)); - nir_ssa_def *y = nir_fadd(b, nir_fmul(b, ima, coord->ry), nir_imm_float(b, 0.5)); + nir_ssa_def *x = nir_fadd_imm(b, nir_fmul(b, nir_fmul(b, sign, ima), coord->rz), 0.5); + nir_ssa_def *y = nir_fadd_imm(b, nir_fmul(b, ima, coord->ry), 0.5); nir_ssa_def *face = nir_bcsel(b, positive, nir_imm_float(b, 0.0), nir_imm_float(b, 1.0)); if (coord->array) @@ -132,8 +132,8 @@ evaluate_face_y(nir_builder *b, coord_t *coord) nir_ssa_def *positive = nir_fge(b, coord->ry, nir_imm_float(b, 0.0)); nir_ssa_def *ima = nir_fdiv(b, nir_imm_float(b, 0.5), coord->ary); - nir_ssa_def *x = nir_fadd(b, nir_fmul(b, ima, coord->rx), nir_imm_float(b, 0.5)); - nir_ssa_def *y = nir_fadd(b, nir_fmul(b, nir_fmul(b, sign, ima), coord->rz), nir_imm_float(b, 0.5)); + nir_ssa_def *x = nir_fadd_imm(b, nir_fmul(b, ima, coord->rx), 0.5); + nir_ssa_def *y = nir_fadd_imm(b, nir_fmul(b, nir_fmul(b, sign, ima), coord->rz), 0.5); nir_ssa_def *face = nir_bcsel(b, positive, nir_imm_float(b, 2.0), nir_imm_float(b, 3.0)); if (coord->array) @@ -151,8 +151,8 @@ evaluate_face_z(nir_builder *b, coord_t *coord) nir_ssa_def *positive = nir_fge(b, coord->rz, nir_imm_float(b, 0.0)); nir_ssa_def *ima = nir_fdiv(b, nir_imm_float(b, -0.5), coord->arz); - nir_ssa_def *x = nir_fadd(b, nir_fmul(b, nir_fmul(b, sign, ima), nir_fneg(b, coord->rx)), nir_imm_float(b, 0.5)); - nir_ssa_def *y = nir_fadd(b, nir_fmul(b, ima, coord->ry), nir_imm_float(b, 0.5)); + nir_ssa_def *x = nir_fadd_imm(b, nir_fmul(b, nir_fmul(b, sign, ima), nir_fneg(b, coord->rx)), 0.5); + nir_ssa_def *y = nir_fadd_imm(b, nir_fmul(b, ima, coord->ry), 0.5); nir_ssa_def *face = nir_bcsel(b, positive, nir_imm_float(b, 4.0), nir_imm_float(b, 5.0)); if (coord->array)