glsl: Expose IR builder support for arbitrary swizzling.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 3 Sep 2013 23:55:37 +0000 (16:55 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 9 Sep 2013 18:52:22 +0000 (11:52 -0700)
commit1a6c0efa116e7427e3ee5f24db2000e3edb66047
tree0843cf556e5072128c6b8dd862e455cff0fcbbd4
parent202238824bdde9ddac5753232eee4f3d1e2d67db
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>
src/glsl/ir_builder.h