Lines Matching defs:emit_data

70 				 struct lp_build_emit_data *emit_data);
3355 struct lp_build_emit_data *emit_data);
3390 struct lp_build_emit_data *emit_data)
3393 LLVMValueRef src0 = lp_build_emit_fetch(bld_base, emit_data->inst, 0, 0);
3581 struct lp_build_emit_data * emit_data,
3586 const struct tgsi_full_instruction *inst = emit_data->inst;
3599 emit_data->args[emit_data->arg_count++] = r128;
3600 emit_data->args[emit_data->arg_count++] = da;
3602 emit_data->args[emit_data->arg_count++] = glc;
3604 emit_data->args[emit_data->arg_count++] = slc;
3609 emit_data->args[emit_data->arg_count++] = glc;
3610 emit_data->args[emit_data->arg_count++] = slc;
3611 emit_data->args[emit_data->arg_count++] = lwe;
3612 emit_data->args[emit_data->arg_count++] = da;
3624 struct lp_build_emit_data *emit_data,
3631 const struct tgsi_full_instruction *inst = emit_data->inst;
3635 emit_data->args[emit_data->arg_count++] = rsrc;
3636 emit_data->args[emit_data->arg_count++] = index; /* vindex */
3637 emit_data->args[emit_data->arg_count++] = offset; /* voffset */
3639 emit_data->args[emit_data->arg_count++] =
3644 emit_data->args[emit_data->arg_count++] = i1false; /* slc */
3649 struct lp_build_emit_data * emit_data)
3653 const struct tgsi_full_instruction * inst = emit_data->inst;
3657 emit_data->dst_type = LLVMVectorType(bld_base->base.elem_type, 4);
3669 buffer_append_args(ctx, emit_data, rsrc, bld_base->uint_bld.zero,
3678 buffer_append_args(ctx, emit_data, rsrc, coords,
3681 emit_data->args[0] = coords;
3682 emit_data->args[1] = rsrc;
3683 emit_data->args[2] = lp_build_const_int32(gallivm, 15); /* dmask */
3684 emit_data->arg_count = 3;
3686 image_append_args(ctx, emit_data, target, false, false);
3692 struct lp_build_emit_data *emit_data)
3694 const struct tgsi_full_instruction *inst = emit_data->inst;
3717 emit_data->output[emit_data->chan] = lp_build_intrinsic(
3719 emit_data->args, emit_data->arg_count,
3745 struct lp_build_emit_data *emit_data)
3747 const struct tgsi_full_instruction *inst = emit_data->inst;
3767 emit_data->output[emit_data->chan] = lp_build_gather_values(gallivm, channels, 4);
3799 struct lp_build_emit_data *emit_data)
3804 const struct tgsi_full_instruction * inst = emit_data->inst;
3808 load_emit_memory(ctx, emit_data);
3816 load_emit_buffer(ctx, emit_data);
3821 emit_data->output[emit_data->chan] =
3823 builder, "llvm.amdgcn.buffer.load.format.v4f32", emit_data->dst_type,
3824 emit_data->args, emit_data->arg_count,
3828 emit_data->dst_type, /* vdata */
3829 LLVMTypeOf(emit_data->args[0]), /* coords */
3830 LLVMTypeOf(emit_data->args[1]), /* rsrc */
3833 emit_data->output[emit_data->chan] =
3835 builder, intrinsic_name, emit_data->dst_type,
3836 emit_data->args, emit_data->arg_count,
3843 struct lp_build_emit_data * emit_data)
3848 const struct tgsi_full_instruction * inst = emit_data->inst;
3855 emit_data->dst_type = LLVMVoidTypeInContext(gallivm->context);
3862 emit_data->args[emit_data->arg_count++] = data;
3875 buffer_append_args(ctx, emit_data, rsrc, bld_base->uint_bld.zero,
3893 buffer_append_args(ctx, emit_data, rsrc, coords,
3896 emit_data->args[1] = coords;
3898 &emit_data->args[2]);
3899 emit_data->args[3] = lp_build_const_int32(gallivm, 15); /* dmask */
3900 emit_data->arg_count = 4;
3902 image_append_args(ctx, emit_data, target, false, force_glc);
3909 struct lp_build_emit_data *emit_data)
3911 const struct tgsi_full_instruction *inst = emit_data->inst;
3915 LLVMValueRef base_data = emit_data->args[0];
3916 LLVMValueRef base_offset = emit_data->args[3];
3970 emit_data->args[0] = data;
3971 emit_data->args[3] = offset;
3974 builder, intrinsic_name, emit_data->dst_type,
3975 emit_data->args, emit_data->arg_count, 0);
3981 struct lp_build_emit_data *emit_data)
3983 const struct tgsi_full_instruction *inst = emit_data->inst;
4007 struct lp_build_emit_data *emit_data)
4012 const struct tgsi_full_instruction * inst = emit_data->inst;
4017 store_emit_memory(ctx, emit_data);
4025 store_emit_buffer(ctx, emit_data);
4030 emit_data->output[emit_data->chan] = lp_build_intrinsic(
4032 emit_data->dst_type, emit_data->args,
4033 emit_data->arg_count, 0);
4036 LLVMTypeOf(emit_data->args[0]), /* vdata */
4037 LLVMTypeOf(emit_data->args[1]), /* coords */
4038 LLVMTypeOf(emit_data->args[2]), /* rsrc */
4041 emit_data->output[emit_data->chan] =
4043 builder, intrinsic_name, emit_data->dst_type,
4044 emit_data->args, emit_data->arg_count, 0);
4050 struct lp_build_emit_data * emit_data)
4055 const struct tgsi_full_instruction * inst = emit_data->inst;
4060 emit_data->dst_type = bld_base->base.elem_type;
4074 emit_data->args[emit_data->arg_count++] = data2;
4075 emit_data->args[emit_data->arg_count++] = data1;
4085 buffer_append_args(ctx, emit_data, rsrc, bld_base->uint_bld.zero,
4095 buffer_append_args(ctx, emit_data, rsrc, coords,
4098 emit_data->args[emit_data->arg_count++] = coords;
4099 emit_data->args[emit_data->arg_count++] = rsrc;
4101 image_append_args(ctx, emit_data, target, true, false);
4107 struct lp_build_emit_data *emit_data) {
4110 const struct tgsi_full_instruction * inst = emit_data->inst;
4172 emit_data->output[emit_data->chan] = LLVMBuildBitCast(builder, result, emit_data->dst_type, "");
4178 struct lp_build_emit_data *emit_data)
4183 const struct tgsi_full_instruction * inst = emit_data->inst;
4188 atomic_emit_memory(ctx, emit_data);
4201 coords = emit_data->args[2];
4203 coords = emit_data->args[1];
4213 emit_data->args, emit_data->arg_count, 0);
4214 emit_data->output[emit_data->chan] =
4220 struct lp_build_emit_data * emit_data)
4224 const struct tgsi_full_instruction *inst = emit_data->inst;
4227 emit_data->dst_type = ctx->v4i32;
4230 emit_data->args[0] = shader_buffer_fetch_rsrc(ctx, reg);
4231 emit_data->arg_count = 1;
4234 &emit_data->args[0]);
4235 emit_data->arg_count = 1;
4237 emit_data->args[0] = bld_base->uint_bld.zero; /* mip level */
4239 &emit_data->args[1]);
4240 emit_data->args[2] = lp_build_const_int32(gallivm, 15); /* dmask */
4241 emit_data->args[3] = bld_base->uint_bld.zero; /* unorm */
4242 emit_data->args[4] = bld_base->uint_bld.zero; /* r128 */
4243 emit_data->args[5] = tgsi_is_array_image(inst->Memory.Texture) ?
4245 emit_data->args[6] = bld_base->uint_bld.zero; /* glc */
4246 emit_data->args[7] = bld_base->uint_bld.zero; /* slc */
4247 emit_data->args[8] = bld_base->uint_bld.zero; /* tfe */
4248 emit_data->args[9] = bld_base->uint_bld.zero; /* lwe */
4249 emit_data->arg_count = 10;
4256 struct lp_build_emit_data *emit_data)
4260 const struct tgsi_full_instruction *inst = emit_data->inst;
4264 out = LLVMBuildExtractElement(builder, emit_data->args[0],
4267 out = get_buffer_size(bld_base, emit_data->args[0]);
4270 builder, "llvm.SI.getresinfo.i32", emit_data->dst_type,
4271 emit_data->args, emit_data->arg_count,
4285 emit_data->output[emit_data->chan] = out;
4289 struct lp_build_emit_data *emit_data,
4305 emit_data->args[0] = lp_build_gather_values(gallivm, param, count);
4307 emit_data->args[0] = param[0];
4310 emit_data->args[1] = res_ptr;
4314 emit_data->dst_type = ctx->v4i32;
4316 emit_data->dst_type = ctx->v4f32;
4318 emit_data->args[num_args++] = samp_ptr;
4321 emit_data->args[num_args++] = lp_build_const_int32(gallivm, dmask);
4322 emit_data->args[num_args++] = lp_build_const_int32(gallivm, is_rect); /* unorm */
4323 emit_data->args[num_args++] = lp_build_const_int32(gallivm, 0); /* r128 */
4324 emit_data->args[num_args++] = lp_build_const_int32(gallivm,
4326 emit_data->args[num_args++] = lp_build_const_int32(gallivm, 0); /* glc */
4327 emit_data->args[num_args++] = lp_build_const_int32(gallivm, 0); /* slc */
4328 emit_data->args[num_args++] = lp_build_const_int32(gallivm, 0); /* tfe */
4329 emit_data->args[num_args++] = lp_build_const_int32(gallivm, 0); /* lwe */
4331 emit_data->arg_count = num_args;
4422 struct lp_build_emit_data *emit_data,
4426 const struct tgsi_full_instruction *inst = emit_data->inst;
4432 sampler_src = emit_data->inst->Instruction.NumSrcRegs - 1;
4433 sampler_index = emit_data->inst->Src[sampler_src].Register.Index;
4435 if (emit_data->inst->Src[sampler_src].Register.Indirect) {
4436 const struct tgsi_full_src_register *reg = &emit_data->inst->Src[sampler_src];
4470 struct lp_build_emit_data *emit_data)
4473 const struct tgsi_full_instruction *inst = emit_data->inst;
4478 tex_fetch_ptrs(bld_base, emit_data, &res_ptr, NULL, NULL);
4482 emit_data->args[0] = get_buffer_size(bld_base, res_ptr);
4489 set_tex_fetch_args(ctx, emit_data, TGSI_OPCODE_TXQ, target, res_ptr,
4495 struct lp_build_emit_data *emit_data)
4498 unsigned target = emit_data->inst->Texture.Texture;
4502 emit_data->output[emit_data->chan] = emit_data->args[0];
4506 emit_data->output[emit_data->chan] = lp_build_intrinsic(
4508 emit_data->dst_type, emit_data->args, emit_data->arg_count,
4518 LLVMValueRef v4 = emit_data->output[emit_data->chan];
4522 emit_data->output[emit_data->chan] =
4529 struct lp_build_emit_data *emit_data)
4533 const struct tgsi_full_instruction *inst = emit_data->inst;
4547 tex_fetch_ptrs(bld_base, emit_data, &res_ptr, &samp_ptr, &fmask_ptr);
4550 emit_data->dst_type = ctx->v4f32;
4551 emit_data->args[0] = LLVMBuildBitCast(gallivm->builder, res_ptr,
4553 emit_data->args[1] = bld_base->uint_bld.zero;
4554 emit_data->args[2] = lp_build_emit_fetch(bld_base, emit_data->inst, 0, TGSI_CHAN_X);
4555 emit_data->arg_count = 3;
4560 coords[3] = lp_build_emit_fetch(bld_base, emit_data->inst, 0, TGSI_CHAN_W);
4563 emit_data->inst, 0,
4586 emit_data->inst, 0, chan);
4726 struct lp_build_emit_data txf_emit_data = *emit_data;
4852 set_tex_fetch_args(ctx, emit_data, opcode, target, res_ptr,
4866 struct lp_build_emit_data *emit_data,
4871 LLVMValueRef coord = emit_data->args[0];
4875 if (emit_data->inst->Texture.Texture == TGSI_TEXTURE_RECT ||
4876 emit_data->inst->Texture.Texture == TGSI_TEXTURE_SHADOWRECT) {
4883 txq_inst.Texture.Texture = emit_data->inst->Texture.Texture;
4888 emit_data->args[1], NULL,
4918 emit_data->args[0] = coord;
4919 emit_data->output[emit_data->chan] =
4920 lp_build_intrinsic(builder, intr_name, emit_data->dst_type,
4921 emit_data->args, emit_data->arg_count,
4927 struct lp_build_emit_data *emit_data)
4931 const struct tgsi_full_instruction *inst = emit_data->inst;
4942 emit_data->output[emit_data->chan] = lp_build_intrinsic(
4944 "llvm.SI.vs.load.input", emit_data->dst_type,
4945 emit_data->args, emit_data->arg_count,
4992 build_type_name_for_intr(LLVMTypeOf(emit_data->args[0]), type, sizeof(type));
5014 si_lower_gather4_integer(ctx, emit_data, intr_name,
5020 emit_data->output[emit_data->chan] = lp_build_intrinsic(
5021 base->gallivm->builder, intr_name, emit_data->dst_type,
5022 emit_data->args, emit_data->arg_count,
5029 struct lp_build_emit_data *emit_data)
5037 tex_fetch_ptrs(bld_base, emit_data, &res_ptr, &samp_ptr, &fmask_ptr);
5052 emit_data->output[emit_data->chan] = samples;
5087 struct lp_build_emit_data *emit_data)
5091 unsigned opcode = emit_data->info->opcode;
5113 val = LLVMBuildBitCast(gallivm->builder, emit_data->args[0], ctx->i32, "");
5143 emit_data->output[emit_data->chan] =
5173 struct lp_build_emit_data *emit_data)
5177 const struct tgsi_full_instruction *inst = emit_data->inst;
5181 emit_data->args[0] = lp_build_emit_fetch(bld_base,
5182 emit_data->inst, 1,
5184 emit_data->args[1] = lp_build_emit_fetch(bld_base,
5185 emit_data->inst, 1,
5187 emit_data->arg_count = 2;
5197 emit_data->inst, 1, TGSI_CHAN_X);
5202 emit_data->args[0] = LLVMBuildExtractElement(gallivm->builder,
5206 emit_data->args[0] = LLVMBuildFSub(gallivm->builder, emit_data->args[0], halfval, "");
5207 emit_data->args[1] = LLVMBuildExtractElement(gallivm->builder,
5210 emit_data->args[1] = LLVMBuildFSub(gallivm->builder, emit_data->args[1], halfval, "");
5211 emit_data->arg_count = 2;
5217 struct lp_build_emit_data *emit_data)
5224 const struct tgsi_full_instruction *inst = emit_data->inst;
5279 temp1 = LLVMBuildFMul(gallivm->builder, ddx_el, emit_data->args[0], "");
5283 temp2 = LLVMBuildFMul(gallivm->builder, ddy_el, emit_data->args[1], "");
5304 emit_data->output[chan] = build_fs_interp(bld_base,
5308 emit_data->output[chan] = build_fs_interp_mov(bld_base,
5316 struct lp_build_emit_data *emit_data)
5319 struct tgsi_src_register src0 = emit_data->inst->Src[0].Register;
5334 struct lp_build_emit_data *emit_data)
5351 stream = si_llvm_get_stream(bld_base, emit_data);
5431 struct lp_build_emit_data *emit_data)
5439 stream = si_llvm_get_stream(bld_base, emit_data);
5448 struct lp_build_emit_data *emit_data)