diff options
author | marha <marha@users.sourceforge.net> | 2013-09-10 09:01:25 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-09-10 09:01:25 +0200 |
commit | 889d7dd8e94a5538f388cc619115bf5c0b6fc0b7 (patch) | |
tree | bdda17693281525be9d48886acf2dc89ac4c66b4 /mesalib/src/glsl/ir_builder.h | |
parent | 2414a1de3cc17f438219f8f2a58b530d33e99a5e (diff) | |
download | vcxsrv-889d7dd8e94a5538f388cc619115bf5c0b6fc0b7.tar.gz vcxsrv-889d7dd8e94a5538f388cc619115bf5c0b6fc0b7.tar.bz2 vcxsrv-889d7dd8e94a5538f388cc619115bf5c0b6fc0b7.zip |
fontconfig libX11 libXmu libxcb mesa xserver git update 10 Sep 2013
xserver commit 47ff382d1fce25a8b097d45b79489e891f1f1228
libxcb commit f1405d9fe4a6ddcae24585ba254389a4c4f4c8c9
libX11 commit cb107760df33ffc8630677e66e2e50aa37950a5c
libXmu commit 2539e539eafdac88177c8ee30b043c5d52f017e4
fontconfig commit a61e145304da86c8c35b137493bbd8fd5dd1e7f5
mesa commit 395b9410860371a64d6b5f2d50679f29eb41729e
Diffstat (limited to 'mesalib/src/glsl/ir_builder.h')
-rw-r--r-- | mesalib/src/glsl/ir_builder.h | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/mesalib/src/glsl/ir_builder.h b/mesalib/src/glsl/ir_builder.h index 7049476a1..6a5f77119 100644 --- a/mesalib/src/glsl/ir_builder.h +++ b/mesalib/src/glsl/ir_builder.h @@ -82,9 +82,9 @@ public: class ir_factory { public: - ir_factory() - : instructions(NULL), - mem_ctx(NULL) + ir_factory(exec_list *instructions = NULL, void *mem_ctx = NULL) + : instructions(instructions), + mem_ctx(mem_ctx) { return; } @@ -122,18 +122,32 @@ public: ir_assignment *assign(deref lhs, operand rhs); ir_assignment *assign(deref lhs, operand rhs, int writemask); +ir_assignment *assign(deref lhs, operand rhs, operand condition); +ir_assignment *assign(deref lhs, operand rhs, operand condition, int writemask); + +ir_return *ret(operand retval); ir_expression *expr(ir_expression_operation op, operand a); ir_expression *expr(ir_expression_operation op, operand a, operand b); +ir_expression *expr(ir_expression_operation op, operand a, operand b, operand c); ir_expression *add(operand a, operand b); ir_expression *sub(operand a, operand b); ir_expression *mul(operand a, operand b); ir_expression *div(operand a, operand b); ir_expression *round_even(operand a); ir_expression *dot(operand a, operand b); +ir_expression *dotlike(operand a, operand b); ir_expression *clamp(operand a, operand b, operand c); ir_expression *saturate(operand a); ir_expression *abs(operand a); +ir_expression *neg(operand a); +ir_expression *sin(operand a); +ir_expression *cos(operand a); +ir_expression *exp(operand a); +ir_expression *rsq(operand a); +ir_expression *sqrt(operand a); +ir_expression *log(operand a); +ir_expression *sign(operand a); ir_expression *equal(operand a, operand b); ir_expression *nequal(operand a, operand b); @@ -164,7 +178,15 @@ ir_expression *i2u(operand a); ir_expression *u2i(operand a); ir_expression *b2i(operand a); ir_expression *i2b(operand a); +ir_expression *f2b(operand a); +ir_expression *b2f(operand a); + +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_insert(operand a, operand b, operand c, operand d); +ir_swizzle *swizzle(operand a, int swizzle, int components); /** * Swizzle away later components, but preserve the ordering. */ |