Home | History | Annotate | Download | only in gallivm

Lines Matching refs:emit_data

82  * This function assumes that all the args in emit_data have been set.
86 struct lp_build_emit_data * emit_data,
90 if (emit_data->arg_count == 0) {
91 emit_data->dst_type = LLVMVoidTypeInContext(bld_base->base.gallivm->context);
94 emit_data->dst_type = LLVMTypeOf(emit_data->args[0]);
102 struct lp_build_emit_data * emit_data)
105 emit_data->output[emit_data->chan] = lp_build_intrinsic(
107 emit_data->dst_type, emit_data->args, emit_data->arg_count);
114 struct lp_build_emit_data * emit_data)
119 lp_build_action_set_dst_type(emit_data, bld_base, tgsi_opcode);
120 emit_data->chan = 0;
122 action->emit(action, bld_base, emit_data);
123 return emit_data->output[0];
132 struct lp_build_emit_data emit_data;
133 emit_data.arg_count = 1;
134 emit_data.args[0] = arg0;
135 return lp_build_emit_llvm(bld_base, tgsi_opcode, &emit_data);
145 struct lp_build_emit_data emit_data;
146 emit_data.arg_count = 2;
147 emit_data.args[0] = arg0;
148 emit_data.args[1] = arg1;
149 return lp_build_emit_llvm(bld_base, tgsi_opcode, &emit_data);
160 struct lp_build_emit_data emit_data;
161 emit_data.arg_count = 3;
162 emit_data.args[0] = arg0;
163 emit_data.args[1] = arg1;
164 emit_data.args[2] = arg2;
165 return lp_build_emit_llvm(bld_base, tgsi_opcode, &emit_data);
173 struct lp_build_emit_data * emit_data)
176 for (src = 0; src < emit_data->info->num_src; src++) {
177 emit_data->args[src] = lp_build_emit_fetch(bld_base, emit_data->inst, src,
178 emit_data->chan);
180 emit_data->arg_count = emit_data->info->num_src;
181 lp_build_action_set_dst_type(emit_data, bld_base,
182 emit_data->inst->Instruction.Opcode);
197 struct lp_build_emit_data emit_data;
229 memset(&emit_data, 0, sizeof(emit_data));
234 emit_data.output[chan_index] = bld_base->base.undef;
238 emit_data.inst = inst;
239 emit_data.info = info;
244 emit_data.chan = chan_index;
246 lp_build_fetch_args(bld_base, &emit_data);
248 action->fetch_args(bld_base, &emit_data);
250 action->emit(action, bld_base, &emit_data);
253 emit_data.chan = LP_CHAN_ALL;
255 action->fetch_args(bld_base, &emit_data);
257 /* Make sure the output value is stored in emit_data.output[0], unless
260 emit_data.chan = 0;
262 action->emit(action, bld_base, &emit_data);
266 val = emit_data.output[0];
267 memset(emit_data.output, 0, sizeof(emit_data.output));
269 emit_data.output[chan_index] = val;
275 bld_base->emit_store(bld_base, inst, info, emit_data.output);