From 65ddf6f40469c5da1e5daf4270ca698a03860472 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 11 Sep 2014 16:15:10 -0700 Subject: 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 --- src/mesa/drivers/dri/i965/brw_fs.h | 10 ++++++++++ 1 file changed, 10 insertions(+) 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. * -- cgit v1.2.3