From: Brian Date: Wed, 3 Oct 2007 16:33:05 +0000 (-0600) Subject: fix eq/neq bugs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=76e61556e7b69b6ce11be4bd600590a049bfbbef;p=mesa.git fix eq/neq bugs --- diff --git a/src/mesa/pipe/tgsi/exec/tgsi_exec.c b/src/mesa/pipe/tgsi/exec/tgsi_exec.c index c0752237280..6116db8dcba 100644 --- a/src/mesa/pipe/tgsi/exec/tgsi_exec.c +++ b/src/mesa/pipe/tgsi/exec/tgsi_exec.c @@ -698,20 +698,6 @@ micro_movc( dst->u[3] = src0->u[3] ? src1->u[3] : src2->u[3]; } -static void -micro_ne( - union tgsi_exec_channel *dst, - const union tgsi_exec_channel *src0, - const union tgsi_exec_channel *src1, - const union tgsi_exec_channel *src2, - const union tgsi_exec_channel *src3 ) -{ - dst->f[0] = src0->f[0] != src1->f[0] ? src2->f[0] : src3->f[0]; - dst->f[1] = src0->f[1] != src1->f[1] ? src2->f[1] : src3->f[1]; - dst->f[2] = src0->f[2] != src1->f[2] ? src2->f[2] : src3->f[2]; - dst->f[3] = src0->f[3] != src1->f[3] ? src2->f[3] : src3->f[3]; -} - static void micro_neg( union tgsi_exec_channel *dst, @@ -1949,7 +1935,9 @@ exec_instruction( FOR_EACH_ENABLED_CHANNEL( *inst, chan_index ) { FETCH( &r[0], 0, chan_index ); FETCH( &r[1], 1, chan_index ); - micro_eq( &r[0], &r[0], &r[1], &mach->Temps[TEMP_0_I].xyzw[TEMP_0_C], &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C] ); + micro_eq( &r[0], &r[0], &r[1], + &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C], + &mach->Temps[TEMP_0_I].xyzw[TEMP_0_C] ); STORE( &r[0], 0, chan_index ); } break; @@ -1988,7 +1976,7 @@ exec_instruction( FOR_EACH_ENABLED_CHANNEL( *inst, chan_index ) { FETCH( &r[0], 0, chan_index ); FETCH( &r[1], 1, chan_index ); - micro_ne( &r[0], &r[0], &r[1], &mach->Temps[TEMP_0_I].xyzw[TEMP_0_C], &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C] ); + micro_eq( &r[0], &r[0], &r[1], &mach->Temps[TEMP_0_I].xyzw[TEMP_0_C], &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C] ); STORE( &r[0], 0, chan_index ); } break;