summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_builder.h
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2015-08-20 21:55:52 -0400
committerIlia Mirkin <imirkin@alum.mit.edu>2015-08-28 18:28:04 -0400
commit275c5810ca7e38560b2a77281e7a0498c50126f8 (patch)
tree9096495089118805d0e4d042b7186b91f17f2842 /src/glsl/ir_builder.h
parent889a946a455c54a5a9bca144b2ea2fe66be39274 (diff)
downloadexternal_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.h1
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);