Lines Matching refs:chan
986 check_inf_or_nan(const union tgsi_exec_channel *chan) in check_inf_or_nan() argument
988 assert(!util_is_inf_or_nan((chan)->f[0])); in check_inf_or_nan()
989 assert(!util_is_inf_or_nan((chan)->f[1])); in check_inf_or_nan()
990 assert(!util_is_inf_or_nan((chan)->f[2])); in check_inf_or_nan()
991 assert(!util_is_inf_or_nan((chan)->f[3])); in check_inf_or_nan()
997 print_chan(const char *msg, const union tgsi_exec_channel *chan) in print_chan() argument
1000 msg, chan->f[0], chan->f[1], chan->f[2], chan->f[3]); in print_chan()
1420 union tgsi_exec_channel *chan) in fetch_src_file_channel() argument
1441 chan->u[i] = 0; in fetch_src_file_channel()
1444 chan->u[i] = buf[pos]; in fetch_src_file_channel()
1460 chan->u[i] = mach->Inputs[pos].xyzw[swizzle].u[i]; in fetch_src_file_channel()
1466 chan->u[i] = mach->SystemValue[index->i[i]].xyzw[swizzle].u[i]; in fetch_src_file_channel()
1475 chan->u[i] = mach->Temps[index->i[i]].xyzw[swizzle].u[i]; in fetch_src_file_channel()
1484 chan->f[i] = mach->Imms[index->i[i]][swizzle]; in fetch_src_file_channel()
1493 chan->u[i] = mach->Addrs[index->i[i]].xyzw[swizzle].u[i]; in fetch_src_file_channel()
1503 chan->u[i] = mach->Outputs[index->i[i]].xyzw[swizzle].u[i]; in fetch_src_file_channel()
1510 chan->u[i] = 0; in fetch_src_file_channel()
1654 union tgsi_exec_channel *chan, in fetch_source_d() argument
1671 chan); in fetch_source_d()
1676 union tgsi_exec_channel *chan, in fetch_source() argument
1681 fetch_source_d(mach, chan, reg, chan_index); in fetch_source()
1685 micro_abs(chan, chan); in fetch_source()
1690 micro_neg(chan, chan); in fetch_source()
1692 micro_ineg(chan, chan); in fetch_source()
1699 const union tgsi_exec_channel *chan, in store_dest_dstret() argument
1761 debug_printf("%f, ", chan->f[i]); in store_dest_dstret()
1788 const union tgsi_exec_channel *chan, in store_dest_double() argument
1796 dst = store_dest_dstret(mach, chan, reg, chan_index); in store_dest_double()
1803 dst->i[i] = chan->i[i]; in store_dest_double()
1808 const union tgsi_exec_channel *chan, in store_dest() argument
1817 dst = store_dest_dstret(mach, chan, reg, chan_index); in store_dest()
1824 dst->i[i] = chan->i[i]; in store_dest()
1829 dst->f[i] = fminf(fmaxf(chan->f[i], 0.0f), 1.0f); in store_dest()
2036 unsigned chan, in fetch_assign_deriv_channel() argument
2040 FETCH(&d, regdsrcx, chan); in fetch_assign_deriv_channel()
2045 FETCH(&d, regdsrcx + 1, chan); in fetch_assign_deriv_channel()
2102 uint chan; in exec_tex() local
2194 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_tex()
2195 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_tex()
2196 store_dest(mach, &r[chan], &inst->Dst[0], inst, chan); in exec_tex()
2247 unsigned chan; in exec_lodq() local
2253 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_lodq()
2254 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_lodq()
2255 if (swizzles[chan] >= 2) { in exec_lodq()
2257 &inst->Dst[0], inst, chan); in exec_lodq()
2259 store_dest(mach, &r[swizzles[chan]], in exec_lodq()
2260 &inst->Dst[0], inst, chan); in exec_lodq()
2280 uint chan; in exec_txd() local
2374 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_txd()
2375 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_txd()
2376 store_dest(mach, &r[chan], &inst->Dst[0], inst, chan); in exec_txd()
2387 uint chan; in exec_txf() local
2451 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_txf()
2452 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_txf()
2453 store_dest(mach, &r[swizzles[chan]], in exec_txf()
2454 &inst->Dst[0], inst, chan); in exec_txf()
2459 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_txf()
2460 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_txf()
2461 store_dest(mach, &r[chan], &inst->Dst[0], inst, chan); in exec_txf()
2473 uint chan; in exec_txq() local
2490 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_txq()
2491 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_txq()
2492 store_dest(mach, &r[chan], &inst->Dst[0], inst, chan); in exec_txq()
2507 uint chan; in exec_sample() local
2623 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_sample()
2624 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_sample()
2625 store_dest(mach, &r[swizzles[chan]], in exec_sample()
2626 &inst->Dst[0], inst, chan); in exec_sample()
2639 uint chan; in exec_sample_d() local
2705 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_sample_d()
2706 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_sample_d()
2707 store_dest(mach, &r[swizzles[chan]], in exec_sample_d()
2708 &inst->Dst[0], inst, chan); in exec_sample_d()
2722 unsigned chan ) in eval_constant_coef() argument
2727 mach->Inputs[attrib].xyzw[chan].f[i] = mach->InterpCoefs[attrib].a0[chan]; in eval_constant_coef()
2735 UNUSED unsigned chan, in interp_constant_offset() argument
2750 unsigned chan, in interp_linear_offset() argument
2755 const float dadx = mach->InterpCoefs[attrib].dadx[chan]; in interp_linear_offset()
2756 const float dady = mach->InterpCoefs[attrib].dady[chan]; in interp_linear_offset()
2767 unsigned chan) in eval_linear_coef() argument
2771 const float dadx = mach->InterpCoefs[attrib].dadx[chan]; in eval_linear_coef()
2772 const float dady = mach->InterpCoefs[attrib].dady[chan]; in eval_linear_coef()
2773 const float a0 = mach->InterpCoefs[attrib].a0[chan] + dadx * x + dady * y; in eval_linear_coef()
2775 mach->Inputs[attrib].xyzw[chan].f[0] = a0; in eval_linear_coef()
2776 mach->Inputs[attrib].xyzw[chan].f[1] = a0 + dadx; in eval_linear_coef()
2777 mach->Inputs[attrib].xyzw[chan].f[2] = a0 + dady; in eval_linear_coef()
2778 mach->Inputs[attrib].xyzw[chan].f[3] = a0 + dadx + dady; in eval_linear_coef()
2790 unsigned chan, in interp_perspective_offset() argument
2795 const float dadx = mach->InterpCoefs[attrib].dadx[chan]; in interp_perspective_offset()
2796 const float dady = mach->InterpCoefs[attrib].dady[chan]; in interp_perspective_offset()
2809 unsigned chan ) in eval_perspective_coef() argument
2813 const float dadx = mach->InterpCoefs[attrib].dadx[chan]; in eval_perspective_coef()
2814 const float dady = mach->InterpCoefs[attrib].dady[chan]; in eval_perspective_coef()
2815 const float a0 = mach->InterpCoefs[attrib].a0[chan] + dadx * x + dady * y; in eval_perspective_coef()
2818 mach->Inputs[attrib].xyzw[chan].f[0] = a0 / w[0]; in eval_perspective_coef()
2819 mach->Inputs[attrib].xyzw[chan].f[1] = (a0 + dadx) / w[1]; in eval_perspective_coef()
2820 mach->Inputs[attrib].xyzw[chan].f[2] = (a0 + dady) / w[2]; in eval_perspective_coef()
2821 mach->Inputs[attrib].xyzw[chan].f[3] = (a0 + dadx + dady) / w[3]; in eval_perspective_coef()
2828 unsigned chan );
2936 unsigned int chan; in exec_scalar_unary() local
2942 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_scalar_unary()
2943 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_scalar_unary()
2944 store_dest(mach, &dst, &inst->Dst[0], inst, chan); in exec_scalar_unary()
2955 unsigned int chan; in exec_vector_unary() local
2958 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_vector_unary()
2959 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_vector_unary()
2962 fetch_source(mach, &src, &inst->Src[0], chan, src_datatype); in exec_vector_unary()
2963 op(&dst.xyzw[chan], &src); in exec_vector_unary()
2966 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_vector_unary()
2967 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_vector_unary()
2968 store_dest(mach, &dst.xyzw[chan], &inst->Dst[0], inst, chan); in exec_vector_unary()
2983 unsigned int chan; in exec_scalar_binary() local
2990 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_scalar_binary()
2991 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_scalar_binary()
2992 store_dest(mach, &dst, &inst->Dst[0], inst, chan); in exec_scalar_binary()
3003 unsigned int chan; in exec_vector_binary() local
3006 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_vector_binary()
3007 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_vector_binary()
3010 fetch_source(mach, &src[0], &inst->Src[0], chan, src_datatype); in exec_vector_binary()
3011 fetch_source(mach, &src[1], &inst->Src[1], chan, src_datatype); in exec_vector_binary()
3012 op(&dst.xyzw[chan], &src[0], &src[1]); in exec_vector_binary()
3015 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_vector_binary()
3016 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_vector_binary()
3017 store_dest(mach, &dst.xyzw[chan], &inst->Dst[0], inst, chan); in exec_vector_binary()
3033 unsigned int chan; in exec_vector_trinary() local
3036 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_vector_trinary()
3037 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_vector_trinary()
3040 fetch_source(mach, &src[0], &inst->Src[0], chan, src_datatype); in exec_vector_trinary()
3041 fetch_source(mach, &src[1], &inst->Src[1], chan, src_datatype); in exec_vector_trinary()
3042 fetch_source(mach, &src[2], &inst->Src[2], chan, src_datatype); in exec_vector_trinary()
3043 op(&dst.xyzw[chan], &src[0], &src[1], &src[2]); in exec_vector_trinary()
3046 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_vector_trinary()
3047 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_vector_trinary()
3048 store_dest(mach, &dst.xyzw[chan], &inst->Dst[0], inst, chan); in exec_vector_trinary()
3065 unsigned int chan; in exec_vector_quaternary() local
3068 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_vector_quaternary()
3069 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_vector_quaternary()
3072 fetch_source(mach, &src[0], &inst->Src[0], chan, src_datatype); in exec_vector_quaternary()
3073 fetch_source(mach, &src[1], &inst->Src[1], chan, src_datatype); in exec_vector_quaternary()
3074 fetch_source(mach, &src[2], &inst->Src[2], chan, src_datatype); in exec_vector_quaternary()
3075 fetch_source(mach, &src[3], &inst->Src[3], chan, src_datatype); in exec_vector_quaternary()
3076 op(&dst.xyzw[chan], &src[0], &src[1], &src[2], &src[3]); in exec_vector_quaternary()
3079 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_vector_quaternary()
3080 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_vector_quaternary()
3081 store_dest(mach, &dst.xyzw[chan], &inst->Dst[0], inst, chan); in exec_vector_quaternary()
3090 unsigned int chan; in exec_dp3() local
3097 for (chan = TGSI_CHAN_Y; chan <= TGSI_CHAN_Z; chan++) { in exec_dp3()
3098 fetch_source(mach, &arg[0], &inst->Src[0], chan, TGSI_EXEC_DATA_FLOAT); in exec_dp3()
3099 fetch_source(mach, &arg[1], &inst->Src[1], chan, TGSI_EXEC_DATA_FLOAT); in exec_dp3()
3103 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_dp3()
3104 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_dp3()
3105 store_dest(mach, &arg[2], &inst->Dst[0], inst, chan); in exec_dp3()
3114 unsigned int chan; in exec_dp4() local
3121 for (chan = TGSI_CHAN_Y; chan <= TGSI_CHAN_W; chan++) { in exec_dp4()
3122 fetch_source(mach, &arg[0], &inst->Src[0], chan, TGSI_EXEC_DATA_FLOAT); in exec_dp4()
3123 fetch_source(mach, &arg[1], &inst->Src[1], chan, TGSI_EXEC_DATA_FLOAT); in exec_dp4()
3127 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_dp4()
3128 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_dp4()
3129 store_dest(mach, &arg[2], &inst->Dst[0], inst, chan); in exec_dp4()
3138 unsigned int chan; in exec_dp2() local
3149 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_dp2()
3150 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_dp2()
3151 store_dest(mach, &arg[2], &inst->Dst[0], inst, chan); in exec_dp2()
3160 unsigned chan; in exec_pk2h() local
3165 for (chan = 0; chan < TGSI_QUAD_SIZE; chan++) { in exec_pk2h()
3166 dst.u[chan] = _mesa_float_to_half(arg[0].f[chan]) | in exec_pk2h()
3167 (_mesa_float_to_half(arg[1].f[chan]) << 16); in exec_pk2h()
3169 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_pk2h()
3170 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_pk2h()
3171 store_dest(mach, &dst, &inst->Dst[0], inst, chan); in exec_pk2h()
3180 unsigned chan; in exec_up2h() local
3184 for (chan = 0; chan < TGSI_QUAD_SIZE; chan++) { in exec_up2h()
3185 dst[0].f[chan] = _mesa_half_to_float(arg.u[chan] & 0xffff); in exec_up2h()
3186 dst[1].f[chan] = _mesa_half_to_float(arg.u[chan] >> 16); in exec_up2h()
3188 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_up2h()
3189 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_up2h()
3190 store_dest(mach, &dst[chan & 1], &inst->Dst[0], inst, chan); in exec_up2h()
3211 unsigned int chan; in exec_ucmp() local
3214 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_ucmp()
3215 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_ucmp()
3218 fetch_source(mach, &src[0], &inst->Src[0], chan, in exec_ucmp()
3220 fetch_source(mach, &src[1], &inst->Src[1], chan, in exec_ucmp()
3222 fetch_source(mach, &src[2], &inst->Src[2], chan, in exec_ucmp()
3224 micro_ucmp(&dst.xyzw[chan], &src[0], &src[1], &src[2]); in exec_ucmp()
3227 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_ucmp()
3228 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_ucmp()
3229 store_dest(mach, &dst.xyzw[chan], &inst->Dst[0], inst, chan); in exec_ucmp()
3452 union tgsi_double_channel *chan, in fetch_double_channel() argument
3464 chan->u[i][0] = src[0].u[i]; in fetch_double_channel()
3465 chan->u[i][1] = src[1].u[i]; in fetch_double_channel()
3473 const union tgsi_double_channel *chan, in store_double_channel() argument
3487 dst[0].u[i] = chan->u[i][0]; in store_double_channel()
3488 dst[1].u[i] = chan->u[i][1]; in store_double_channel()
3494 if (chan->d[i] < 0.0 || isnan(chan->d[i])) in store_double_channel()
3496 else if (chan->d[i] > 1.0) in store_double_channel()
3499 temp.d[i] = chan->d[i]; in store_double_channel()
3636 for (unsigned chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_dfracexp() local
3637 if (inst->Dst[1].Register.WriteMask & (1 << chan)) in exec_dfracexp()
3638 store_dest(mach, &dst_exp, &inst->Dst[1], inst, chan); in exec_dfracexp()
3725 uint chan; in exec_load_img() local
3755 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_load_img()
3756 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_load_img()
3757 store_dest(mach, &r[chan], &inst->Dst[0], inst, chan); in exec_load_img()
3804 for (int chan = 0; chan < load_size / 4; chan++) in exec_load_membuf() local
3805 rgba[chan].u[j] = *(uint32_t *)(ptr + offset.u[j] + chan * 4); in exec_load_membuf()
3809 for (int chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_load_membuf() local
3810 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_load_membuf()
3811 store_dest(mach, &rgba[chan], &inst->Dst[0], inst, chan); in exec_load_membuf()
3928 for (int chan = 0; chan < MIN2(4, size_avail / 4); chan++) { in exec_store_buf() local
3929 if (inst->Dst[0].Register.WriteMask & (1 << chan)) in exec_store_buf()
3930 memcpy(&invocation_ptr[chan], &value[chan].u[j], 4); in exec_store_buf()
3941 uint i, chan; in exec_store_mem() local
3957 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_store_mem()
3958 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_store_mem()
3959 memcpy(ptr + (chan * 4), &value[chan].u[0], 4); in exec_store_mem()
3990 uint unit, chan; in exec_atomop_img() local
4038 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_atomop_img()
4039 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_atomop_img()
4040 store_dest(mach, &r[chan], &inst->Dst[0], inst, chan); in exec_atomop_img()
4050 uint chan, i; in exec_atomop_membuf() local
4141 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) in exec_atomop_membuf()
4142 store_dest(mach, &r0, &inst->Dst[0], inst, chan); in exec_atomop_membuf()
4162 int i, chan, j; in exec_resq_img() local
4180 for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_resq_img()
4181 if (inst->Dst[0].Register.WriteMask & (1 << chan)) { in exec_resq_img()
4182 store_dest(mach, &r[chan], &inst->Dst[0], inst, chan); in exec_resq_img()
4200 for (int chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_resq_buf() local
4904 for (unsigned chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_interp_at_sample() local
4905 if (!(inst->Dst[0].Register.WriteMask & (1 << chan))) in exec_interp_at_sample()
4908 fetch_src_file_channel(mach, TGSI_FILE_INPUT, chan, &index, &index2D, in exec_interp_at_sample()
4909 &result[chan]); in exec_interp_at_sample()
4916 unsigned pos = index2D.i[chan] * TGSI_EXEC_MAX_INPUT_ATTRIBS + index.i[chan]; in exec_interp_at_sample()
4919 mach->InputSampleOffsetApply[pos](mach, pos, chan, x, y, &result[chan]); in exec_interp_at_sample()
4921 store_dest(mach, &result[chan], &inst->Dst[0], inst, chan); in exec_interp_at_sample()
4944 for (int chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_interp_at_offset() local
4945 if (!(inst->Dst[0].Register.WriteMask & (1 << chan))) in exec_interp_at_offset()
4948 fetch_src_file_channel(mach, TGSI_FILE_INPUT, chan, &index, &index2D, &result); in exec_interp_at_offset()
4949 mach->InputSampleOffsetApply[pos](mach, pos, chan, ofsx.f[chan], ofsy.f[chan], &result); in exec_interp_at_offset()
4950 store_dest(mach, &result, &inst->Dst[0], inst, chan); in exec_interp_at_offset()
4967 for (unsigned chan = 0; chan < TGSI_NUM_CHANNELS; chan++) { in exec_interp_at_centroid() local
4968 if (!(inst->Dst[0].Register.WriteMask & (1 << chan))) in exec_interp_at_centroid()
4984 fetch_src_file_channel(mach, TGSI_FILE_INPUT, chan, &index, &index2D, in exec_interp_at_centroid()
4985 &result[chan]); in exec_interp_at_centroid()
4986 store_dest(mach, &result[chan], &inst->Dst[0], inst, chan); in exec_interp_at_centroid()