diff options
author | Ilia Mirkin <imirkin@alum.mit.edu> | 2015-08-20 21:55:52 -0400 |
---|---|---|
committer | Ilia Mirkin <imirkin@alum.mit.edu> | 2015-08-28 18:28:04 -0400 |
commit | 275c5810ca7e38560b2a77281e7a0498c50126f8 (patch) | |
tree | 9096495089118805d0e4d042b7186b91f17f2842 /src/glsl/ir_builder.h | |
parent | 889a946a455c54a5a9bca144b2ea2fe66be39274 (diff) | |
download | external_mesa3d-275c5810ca7e38560b2a77281e7a0498c50126f8.zip external_mesa3d-275c5810ca7e38560b2a77281e7a0498c50126f8.tar.gz external_mesa3d-275c5810ca7e38560b2a77281e7a0498c50126f8.tar.bz2 |
glsl: provide the option of using BFE for unpack builting lowering
This greatly improves generated code, especially for the snorm variants,
since it is able to get rid of the lshift/rshift for sext, as well as
replacing each shift + mask with a single op.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'src/glsl/ir_builder.h')
-rw-r--r-- | src/glsl/ir_builder.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/glsl/ir_builder.h b/src/glsl/ir_builder.h index f76453f..b483ebf 100644 --- a/src/glsl/ir_builder.h +++ b/src/glsl/ir_builder.h @@ -200,6 +200,7 @@ ir_expression *interpolate_at_sample(operand a, operand b); ir_expression *fma(operand a, operand b, operand c); ir_expression *lrp(operand x, operand y, operand a); ir_expression *csel(operand a, operand b, operand c); +ir_expression *bitfield_extract(operand a, operand b, operand c); ir_expression *bitfield_insert(operand a, operand b, operand c, operand d); ir_swizzle *swizzle(operand a, int swizzle, int components); |