From: Jason Ekstrand Date: Thu, 11 Sep 2014 23:15:10 +0000 (-0700) Subject: i965/fs: Add a function for getting a component of a 8 or 16-wide register X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=65ddf6f40469c5da1e5daf4270ca698a03860472;p=mesa.git i965/fs: Add a function for getting a component of a 8 or 16-wide register Signed-off-by: Jason Ekstrand Reviewed-by: Matt Turner --- diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index e5202f0850b..57c5dc3fe47 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -162,6 +162,16 @@ offset(fs_reg reg, unsigned delta) return reg; } +static inline fs_reg +component(fs_reg reg, unsigned idx) +{ + assert(reg.subreg_offset == 0); + assert(idx < reg.width); + reg.subreg_offset = idx * type_sz(reg.type); + reg.width = 1; + return reg; +} + /** * Get either of the 8-component halves of a 16-component register. *