diff options
author | Francisco Jerez <currojerez@riseup.net> | 2016-02-26 17:04:38 -0800 |
---|---|---|
committer | Francisco Jerez <currojerez@riseup.net> | 2016-03-06 12:22:39 -0800 |
commit | 537d3df97466835ad6438fe2c9121283e0da1bcd (patch) | |
tree | 74e9f472803b137a9b73bdfb9ed89b492993ae8a /src/mesa/drivers/dri/i965/brw_reg.h | |
parent | ff085d014ed8ccce230769575e50924561218d98 (diff) |
i965: Pass symbolic swizzle to brw_swizzle() as a single argument.
And replace brw_swizzle1() with brw_swizzle(). Seems slightly cleaner
and will allow reusing brw_swizzle() in the vec4 back-end more easily.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_reg.h')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_reg.h | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_reg.h b/src/mesa/drivers/dri/i965/brw_reg.h index a2a4a40f373..a4bcfca0b1d 100644 --- a/src/mesa/drivers/dri/i965/brw_reg.h +++ b/src/mesa/drivers/dri/i965/brw_reg.h @@ -81,7 +81,9 @@ struct brw_device_info; #define BRW_SWIZZLE_ZZZZ BRW_SWIZZLE4(2,2,2,2) #define BRW_SWIZZLE_WWWW BRW_SWIZZLE4(3,3,3,3) #define BRW_SWIZZLE_XYXY BRW_SWIZZLE4(0,1,0,1) +#define BRW_SWIZZLE_XZXZ BRW_SWIZZLE4(0,2,0,2) #define BRW_SWIZZLE_YZXW BRW_SWIZZLE4(1,2,0,3) +#define BRW_SWIZZLE_YWYW BRW_SWIZZLE4(1,3,1,3) #define BRW_SWIZZLE_ZXYW BRW_SWIZZLE4(2,0,1,3) #define BRW_SWIZZLE_ZWZW BRW_SWIZZLE4(2,3,2,3) #define BRW_SWIZZLE_WZYX BRW_SWIZZLE4(3,2,1,0) @@ -871,24 +873,15 @@ get_element_d(struct brw_reg reg, unsigned elt) return vec1(suboffset(retype(reg, BRW_REGISTER_TYPE_D), elt)); } - static inline struct brw_reg -brw_swizzle(struct brw_reg reg, unsigned x, unsigned y, unsigned z, unsigned w) +brw_swizzle(struct brw_reg reg, unsigned swz) { assert(reg.file != BRW_IMMEDIATE_VALUE); - reg.swizzle = brw_compose_swizzle(BRW_SWIZZLE4(x, y, z, w), - reg.swizzle); + reg.swizzle = brw_compose_swizzle(swz, reg.swizzle); return reg; } - -static inline struct brw_reg -brw_swizzle1(struct brw_reg reg, unsigned x) -{ - return brw_swizzle(reg, x, x, x, x); -} - static inline struct brw_reg brw_writemask(struct brw_reg reg, unsigned mask) { |