mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 07:50:11 +01:00
nir: add and use nir_fdiv_imm
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23461>
This commit is contained in:
parent
590e191e77
commit
e1f4c79288
6 changed files with 12 additions and 6 deletions
|
|
@ -663,7 +663,7 @@ radv_meta_build_resolve_shader_core(struct radv_device *device, nir_builder *b,
|
|||
accum = nir_fadd(b, accum, sample);
|
||||
}
|
||||
|
||||
accum = nir_fdiv(b, accum, nir_imm_float(b, samples));
|
||||
accum = nir_fdiv_imm(b, accum, samples);
|
||||
nir_store_var(b, color, accum, 0xf);
|
||||
|
||||
if (device->physical_device->use_fmask) {
|
||||
|
|
|
|||
|
|
@ -449,8 +449,8 @@ build_shader(struct radv_device *dev)
|
|||
nir_pop_if(&b, NULL);
|
||||
nir_ssa_def *col[4];
|
||||
for (unsigned i = 0; i < 3; ++i)
|
||||
col[i] = nir_fdiv(&b, nir_i2f32(&b, nir_channel(&b, nir_load_var(&b, rgb_result), i)),
|
||||
nir_imm_float(&b, 255.0));
|
||||
col[i] = nir_fdiv_imm(&b, nir_i2f32(&b, nir_channel(&b, nir_load_var(&b, rgb_result), i)),
|
||||
255.0);
|
||||
col[3] = nir_load_var(&b, alpha_result);
|
||||
nir_store_var(&b, color, nir_vec(&b, col, 4), 0xf);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ build_depth_stencil_resolve_compute_shader(struct radv_device *dev, int samples,
|
|||
}
|
||||
|
||||
if (resolve_mode == VK_RESOLVE_MODE_AVERAGE_BIT)
|
||||
outval = nir_fdiv(&b, outval, nir_imm_float(&b, samples));
|
||||
outval = nir_fdiv_imm(&b, outval, samples);
|
||||
}
|
||||
|
||||
nir_ssa_def *coord = nir_vec4(&b, nir_channel(&b, img_coord, 0), nir_channel(&b, img_coord, 1),
|
||||
|
|
|
|||
|
|
@ -305,7 +305,7 @@ build_depth_stencil_resolve_fragment_shader(struct radv_device *dev, int samples
|
|||
}
|
||||
|
||||
if (resolve_mode == VK_RESOLVE_MODE_AVERAGE_BIT)
|
||||
outval = nir_fdiv(&b, outval, nir_imm_float(&b, samples));
|
||||
outval = nir_fdiv_imm(&b, outval, samples);
|
||||
}
|
||||
|
||||
nir_store_var(&b, fs_out, outval, 0x1);
|
||||
|
|
|
|||
|
|
@ -819,6 +819,12 @@ nir_fmul_imm(nir_builder *build, nir_ssa_def *x, double y)
|
|||
return nir_fmul(build, x, nir_imm_floatN_t(build, y, x->bit_size));
|
||||
}
|
||||
|
||||
static inline nir_ssa_def *
|
||||
nir_fdiv_imm(nir_builder *build, nir_ssa_def *x, double y)
|
||||
{
|
||||
return nir_fdiv(build, x, nir_imm_floatN_t(build, y, x->bit_size));
|
||||
}
|
||||
|
||||
static inline nir_ssa_def *
|
||||
nir_iand_imm(nir_builder *build, nir_ssa_def *x, uint64_t y)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -314,7 +314,7 @@ nir_format_linear_to_srgb(nir_builder *b, nir_ssa_def *c)
|
|||
static inline nir_ssa_def *
|
||||
nir_format_srgb_to_linear(nir_builder *b, nir_ssa_def *c)
|
||||
{
|
||||
nir_ssa_def *linear = nir_fdiv(b, c, nir_imm_float(b, 12.92f));
|
||||
nir_ssa_def *linear = nir_fdiv_imm(b, c, 12.92f);
|
||||
nir_ssa_def *curved =
|
||||
nir_fpow(b, nir_fmul_imm(b, nir_fadd_imm(b, c, 0.055f),
|
||||
1.0 / 1.055f),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue