glsl: Expose IR builder support for arbitrary swizzling.
IR builder already offers a lot of swizzling functions, such as swizzle_xxxx, swizzle_z, or swizzle_for_size. The swizzle_xxxx style is convenient if you statically know which components you want. swizzle_for_size is great if you want to select the first few components. However, if you want to select components based on, say, a loop counter, none of those are sufficient. IR builder actually already had support for arbitrary swizzling, but didn't expose it. This patch exposes that API. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Paul Berry <stereotype441@gmail.com>
This commit is contained in:
@@ -171,6 +171,7 @@ ir_expression *u2i(operand a);
|
||||
ir_expression *b2i(operand a);
|
||||
ir_expression *i2b(operand a);
|
||||
|
||||
ir_swizzle *swizzle(operand a, int swizzle, int components);
|
||||
/**
|
||||
* Swizzle away later components, but preserve the ordering.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user