From 138aad06b3bc577f7ee2970ad02f3381da451896 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Thu, 23 Jun 2016 12:52:05 +1000 Subject: [PATCH] i965: add helper for creating packing writemask For example where n=3 first_component=1 this will give us 0xE (WRITEMASK_YZW). V2: Add assert to check first component is <= 4 (Suggested by Ken) Reviewed-by: Kenneth Graunke Reviewed-by: Edward O'Callaghan --- src/mesa/drivers/dri/i965/brw_reg.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_reg.h b/src/mesa/drivers/dri/i965/brw_reg.h index 7eab7b51e38..5b427b22230 100644 --- a/src/mesa/drivers/dri/i965/brw_reg.h +++ b/src/mesa/drivers/dri/i965/brw_reg.h @@ -972,6 +972,13 @@ brw_writemask_for_size(unsigned n) return (1 << n) - 1; } +static inline unsigned +brw_writemask_for_component_packing(unsigned n, unsigned first_component) +{ + assert(first_component + n <= 4); + return (((1 << n) - 1) << first_component); +} + static inline struct brw_reg negate(struct brw_reg reg) { -- 2.30.2