summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/cell/ppu/cell_gen_fp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/cell/ppu/cell_gen_fp.c')
-rw-r--r--src/gallium/drivers/cell/ppu/cell_gen_fp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gallium/drivers/cell/ppu/cell_gen_fp.c b/src/gallium/drivers/cell/ppu/cell_gen_fp.c
index 6ffe94eb14..d7a8846ab3 100644
--- a/src/gallium/drivers/cell/ppu/cell_gen_fp.c
+++ b/src/gallium/drivers/cell/ppu/cell_gen_fp.c
@@ -137,11 +137,12 @@ get_src_reg(struct codegen *gen,
const struct tgsi_full_src_register *src)
{
int reg;
+ int swizzle = tgsi_util_get_full_src_register_extswizzle(src, channel);
- /* XXX need to examine src swizzle info here.
- * That will involve changing the channel var...
- */
+ assert(swizzle >= 0);
+ assert(swizzle <= 3);
+ channel = swizzle;
switch (src->SrcRegister.File) {
case TGSI_FILE_TEMPORARY: