mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-23 08:20:25 +01:00
amd: use imm-helpers
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23855>
This commit is contained in:
parent
ee02893573
commit
a6da9d7147
3 changed files with 8 additions and 8 deletions
|
|
@ -42,13 +42,13 @@ build_cube_select(nir_builder *b, nir_ssa_def *ma, nir_ssa_def *id, nir_ssa_def
|
|||
nir_ssa_def *deriv_y = nir_channel(b, deriv, 1);
|
||||
nir_ssa_def *deriv_z = nir_channel(b, deriv, 2);
|
||||
|
||||
nir_ssa_def *is_ma_positive = nir_fge(b, ma, nir_imm_float(b, 0.0));
|
||||
nir_ssa_def *is_ma_positive = nir_fge_imm(b, ma, 0.0);
|
||||
nir_ssa_def *sgn_ma =
|
||||
nir_bcsel(b, is_ma_positive, nir_imm_float(b, 1.0), nir_imm_float(b, -1.0));
|
||||
nir_ssa_def *neg_sgn_ma = nir_fneg(b, sgn_ma);
|
||||
|
||||
nir_ssa_def *is_ma_z = nir_fge(b, id, nir_imm_float(b, 4.0));
|
||||
nir_ssa_def *is_ma_y = nir_fge(b, id, nir_imm_float(b, 2.0));
|
||||
nir_ssa_def *is_ma_z = nir_fge_imm(b, id, 4.0);
|
||||
nir_ssa_def *is_ma_y = nir_fge_imm(b, id, 2.0);
|
||||
is_ma_y = nir_iand(b, is_ma_y, nir_inot(b, is_ma_z));
|
||||
nir_ssa_def *is_not_ma_x = nir_ior(b, is_ma_z, is_ma_y);
|
||||
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ lower_line(nir_builder *b, nir_ssa_def *p1, nir_ssa_def *p2)
|
|||
nir_ssa_def *coords[3];
|
||||
|
||||
coords[1] = nir_fadd(b, p1, p2);
|
||||
coords[0] = nir_fsub(b, nir_imm_float(b, 1.0f), coords[1]);
|
||||
coords[0] = nir_fsub_imm(b, 1.0f, coords[1]);
|
||||
coords[2] = nir_imm_float(b, 0.0f);
|
||||
|
||||
return nir_vec(b, coords, 3);
|
||||
|
|
@ -170,16 +170,16 @@ lower_triangle(nir_builder *b, nir_ssa_def *p1, nir_ssa_def *p2)
|
|||
nir_ssa_def *provoking_vtx_id = nir_ubfe(b, provoking_vtx, nir_ishl_imm(b, quad_id, 1), nir_imm_int(b, 2));
|
||||
|
||||
/* Compute barycentrics. */
|
||||
v0_bary[0] = nir_fsub(b, nir_fsub(b, nir_imm_float(b, 1.0f), p2), p1);
|
||||
v0_bary[0] = nir_fsub(b, nir_fsub_imm(b, 1.0f, p2), p1);
|
||||
v0_bary[1] = p1;
|
||||
v0_bary[2] = p2;
|
||||
|
||||
v1_bary[0] = p1;
|
||||
v1_bary[1] = p2;
|
||||
v1_bary[2] = nir_fsub(b, nir_fsub(b, nir_imm_float(b, 1.0f), p2), p1);
|
||||
v1_bary[2] = nir_fsub(b, nir_fsub_imm(b, 1.0f, p2), p1);
|
||||
|
||||
v2_bary[0] = p2;
|
||||
v2_bary[1] = nir_fsub(b, nir_fsub(b, nir_imm_float(b, 1.0f), p2), p1);
|
||||
v2_bary[1] = nir_fsub(b, nir_fsub_imm(b, 1.0f, p2), p1);
|
||||
v2_bary[2] = p1;
|
||||
|
||||
/* Select barycentrics for the given provoking vertex ID. */
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@ intersect_ray_amd_software_tri(struct radv_device *device, nir_builder *b, nir_s
|
|||
nir_ior(b, nir_ior(b, nir_flt_imm(b, u, 0.0f), nir_flt_imm(b, v, 0.0f)), nir_flt_imm(b, w, 0.0f));
|
||||
|
||||
nir_ssa_def *cond_front =
|
||||
nir_ior(b, nir_ior(b, nir_fgt_imm(b, u, 0.0f), nir_fgt_imm(b, v, 0.0f)), nir_flt(b, nir_imm_float(b, 0.0f), w));
|
||||
nir_ior(b, nir_ior(b, nir_fgt_imm(b, u, 0.0f), nir_fgt_imm(b, v, 0.0f)), nir_fgt_imm(b, w, 0.0f));
|
||||
|
||||
nir_ssa_def *cond = nir_inot(b, nir_iand(b, cond_back, cond_front));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue