From: Eric Anholt Date: Sun, 11 Jan 2015 02:22:22 +0000 (+1300) Subject: vc4: Add a little helper for clamping to [0,1]. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1519a1928a6009904359d2de188c65632385f401;p=mesa.git vc4: Add a little helper for clamping to [0,1]. --- diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c index 2ab7da90dd7..2b546eeb433 100644 --- a/src/gallium/drivers/vc4/vc4_program.c +++ b/src/gallium/drivers/vc4/vc4_program.c @@ -315,6 +315,14 @@ get_swizzled_channel(struct vc4_compile *c, } } +static inline struct qreg +qir_SAT(struct vc4_compile *c, struct qreg val) +{ + return qir_FMAX(c, + qir_FMIN(c, val, qir_uniform_f(c, 1.0)), + qir_uniform_f(c, 0.0)); +} + static struct qreg tgsi_to_qir_alu(struct vc4_compile *c, struct tgsi_full_instruction *tgsi_inst, @@ -686,13 +694,11 @@ tgsi_to_qir_tex(struct vc4_compile *c, } if (c->key->tex[unit].wrap_s == PIPE_TEX_WRAP_CLAMP) { - s = qir_FMIN(c, qir_FMAX(c, s, qir_uniform_f(c, 0.0)), - qir_uniform_f(c, 1.0)); + s = qir_SAT(c, s); } if (c->key->tex[unit].wrap_t == PIPE_TEX_WRAP_CLAMP) { - t = qir_FMIN(c, qir_FMAX(c, t, qir_uniform_f(c, 0.0)), - qir_uniform_f(c, 1.0)); + t = qir_SAT(c, t); } qir_TEX_T(c, t, texture_u[next_texture_u++]);