From: Francisco Jerez Date: Tue, 26 Apr 2016 00:35:52 +0000 (-0700) Subject: i965: Define brw_int_type() helper. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9dcb8ff6a11e7071ab660cf53194783b93c8b8bf;p=mesa.git i965: Define brw_int_type() helper. Intended as a (partial) inverse of type_sz(). Will be useful in the next commit and some other SIMD32 generator changes I have queued up. Reviewed-by: Jason Ekstrand --- diff --git a/src/mesa/drivers/dri/i965/brw_reg.h b/src/mesa/drivers/dri/i965/brw_reg.h index b0ef94e96d0..bd7ea1ba7bc 100644 --- a/src/mesa/drivers/dri/i965/brw_reg.h +++ b/src/mesa/drivers/dri/i965/brw_reg.h @@ -304,6 +304,26 @@ type_sz(unsigned type) } } +/** + * Return an integer type of the requested size and signedness. + */ +static inline enum brw_reg_type +brw_int_type(unsigned sz, bool is_signed) +{ + switch (sz) { + case 1: + return (is_signed ? BRW_REGISTER_TYPE_B : BRW_REGISTER_TYPE_UB); + case 2: + return (is_signed ? BRW_REGISTER_TYPE_W : BRW_REGISTER_TYPE_UW); + case 4: + return (is_signed ? BRW_REGISTER_TYPE_D : BRW_REGISTER_TYPE_UD); + case 8: + return (is_signed ? BRW_REGISTER_TYPE_Q : BRW_REGISTER_TYPE_UQ); + default: + unreachable("Not reached."); + } +} + /** * Construct a brw_reg. * \param file one of the BRW_x_REGISTER_FILE values