r300/compiler: r500-fs: Properly set HW register swizzles.

Fixes fallout from 9a1bf52c.
This commit is contained in:
Corbin Simpson 2010-02-10 12:31:18 -08:00
parent f6a16dfa97
commit 92ea8834d8
2 changed files with 14 additions and 3 deletions

View file

@ -295,7 +295,7 @@ static char *toswiz(int swiz_val) {
case 2: return "B";
case 3: return "A";
case 4: return "0";
case 5: return "1/2";
case 5: return "H";
case 6: return "1";
case 7: return "U";
}

View file

@ -121,8 +121,19 @@ static unsigned int translate_alpha_op(struct r300_fragment_program_compiler *c,
static unsigned int fix_hw_swizzle(unsigned int swz)
{
if (swz == 5) swz = 6;
if (swz == RC_SWIZZLE_UNUSED) swz = 4;
switch (swz) {
case RC_SWIZZLE_ZERO:
case RC_SWIZZLE_UNUSED:
swz = 4;
break;
case RC_SWIZZLE_HALF:
swz = 5;
break;
case RC_SWIZZLE_ONE:
swz = 6;
break;
}
return swz;
}