Lines Matching defs:bld_base

67 swizzle_aos(struct lp_build_tgsi_context *bld_base,
75 struct lp_build_tgsi_aos_context *bld = lp_aos_context(bld_base);
87 return lp_build_swizzle_aos(&bld->bld_base.base, a, swizzles);
97 return lp_build_swizzle_scalar_aos(&bld->bld_base.base, a, chan);
103 struct lp_build_tgsi_context * bld_base,
108 struct lp_build_tgsi_aos_context * bld = lp_aos_context(bld_base);
109 LLVMBuilderRef builder = bld_base->base.gallivm->builder;
110 struct lp_type type = bld_base->base.type;
120 res = bld->bld_base.base.undef;
127 index = lp_build_const_int32(bld->bld_base.base.gallivm,
140 swizzle = lp_build_const_int32(bld->bld_base.base.gallivm,
157 shuffles[chan] = lp_build_const_int32(bld->bld_base.base.gallivm, chan);
165 res, bld->bld_base.base.undef,
174 struct lp_build_tgsi_context * bld_base,
179 struct lp_build_tgsi_aos_context * bld = lp_aos_context(bld_base);
187 struct lp_build_tgsi_context * bld_base,
192 struct lp_build_tgsi_aos_context * bld = lp_aos_context(bld_base);
201 struct lp_build_tgsi_context * bld_base,
206 struct lp_build_tgsi_aos_context * bld = lp_aos_context(bld_base);
207 LLVMBuilderRef builder = bld_base->base.gallivm->builder;
212 return bld->bld_base.base.undef;
227 LLVMBuilderRef builder = bld->bld_base.base.gallivm->builder;
241 value = lp_build_max(&bld->bld_base.base, value, bld->bld_base.base.zero);
242 value = lp_build_min(&bld->bld_base.base, value, bld->bld_base.base.one);
246 value = lp_build_max(&bld->bld_base.base, value, lp_build_const_vec(bld->bld_base.base.gallivm, bld->bld_base.base.type, -1.0));
247 value = lp_build_min(&bld->bld_base.base, value, bld->bld_base.base.one);
299 pred = lp_build_compare(bld->bld_base.base.gallivm,
300 bld->bld_base.base.type,
303 bld->bld_base.base.zero);
309 pred = bld->bld_base.emit_swizzle(&bld->bld_base, pred,
329 writemask = lp_build_const_mask_aos_swizzled(bld->bld_base.base.gallivm,
330 bld->bld_base.base.type,
345 value = lp_build_select(&bld->bld_base.base,
371 return bld->bld_base.base.undef;
376 coords = lp_build_emit_fetch( &bld->bld_base, inst, 0 , LP_CHAN_ALL);
379 ddx = lp_build_emit_fetch( &bld->bld_base, inst, 1 , LP_CHAN_ALL);
380 ddy = lp_build_emit_fetch( &bld->bld_base, inst, 2 , LP_CHAN_ALL);
384 ddx = lp_build_ddx( &bld->bld_base.base, coords );
385 ddy = lp_build_ddy( &bld->bld_base.base, coords );
388 derivs.ddx_ddy[0] = bld->bld_base.base.one;
389 derivs.ddx_ddy[1] = bld->bld_base.base.one;
395 &bld->bld_base.base,
407 struct gallivm_state *gallivm = bld->bld_base.base.gallivm;
408 LLVMTypeRef vec_type = lp_build_vec_type(bld->bld_base.base.gallivm, bld->bld_base.base.type);
420 bld->temps_array = lp_build_array_alloca(bld->bld_base.base.gallivm,
479 dst0 = bld->bld_base.base.undef;
484 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
485 dst0 = lp_build_floor(&bld->bld_base.base, src0);
489 dst0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
497 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
498 dst0 = lp_build_rcp(&bld->bld_base.base, src0);
503 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
504 tmp0 = lp_build_emit_llvm_unary(&bld->bld_base, TGSI_OPCODE_ABS, src0);
505 dst0 = lp_build_rsqrt(&bld->bld_base.base, tmp0);
515 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
516 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
517 dst0 = lp_build_mul(&bld->bld_base.base, src0, src1);
521 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
522 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
523 dst0 = lp_build_add(&bld->bld_base.base, src0, src1);
538 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
539 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
540 dst0 = lp_build_max(&bld->bld_base.base, src0, src1);
544 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
545 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
546 dst0 = lp_build_max(&bld->bld_base.base, src0, src1);
551 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
552 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
553 tmp0 = lp_build_cmp(&bld->bld_base.base, PIPE_FUNC_LESS, src0, src1);
554 dst0 = lp_build_select(&bld->bld_base.base, tmp0, bld->bld_base.base.one, bld->bld_base.base.zero);
559 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
560 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
561 tmp0 = lp_build_cmp(&bld->bld_base.base, PIPE_FUNC_GEQUAL, src0, src1);
562 dst0 = lp_build_select(&bld->bld_base.base, tmp0, bld->bld_base.base.one, bld->bld_base.base.zero);
567 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
568 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
569 src2 = lp_build_emit_fetch(&bld->bld_base, inst, 2, LP_CHAN_ALL);
570 tmp0 = lp_build_mul(&bld->bld_base.base, src0, src1);
571 dst0 = lp_build_add(&bld->bld_base.base, tmp0, src2);
575 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
576 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
577 dst0 = lp_build_sub(&bld->bld_base.base, src0, src1);
581 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
582 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
583 src2 = lp_build_emit_fetch(&bld->bld_base, inst, 2, LP_CHAN_ALL);
584 tmp0 = lp_build_sub(&bld->bld_base.base, src1, src2);
585 tmp0 = lp_build_mul(&bld->bld_base.base, src0, tmp0);
586 dst0 = lp_build_add(&bld->bld_base.base, tmp0, src2);
590 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
591 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
592 src2 = lp_build_emit_fetch(&bld->bld_base, inst, 2, LP_CHAN_ALL);
593 tmp1 = lp_build_const_vec(bld->bld_base.base.gallivm, bld->bld_base.base.type, 0.5);
594 tmp0 = lp_build_cmp(&bld->bld_base.base, PIPE_FUNC_GREATER, src2, tmp1);
595 dst0 = lp_build_select(&bld->bld_base.base, tmp0, src0, src1);
602 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
603 tmp0 = lp_build_floor(&bld->bld_base.base, src0);
604 dst0 = lp_build_sub(&bld->bld_base.base, src0, tmp0);
608 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
609 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
610 src2 = lp_build_emit_fetch(&bld->bld_base, inst, 2, LP_CHAN_ALL);
611 tmp0 = lp_build_max(&bld->bld_base.base, src0, src1);
612 dst0 = lp_build_min(&bld->bld_base.base, tmp0, src2);
616 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
617 dst0 = lp_build_floor(&bld->bld_base.base, src0);
621 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
622 dst0 = lp_build_round(&bld->bld_base.base, src0);
626 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
627 tmp0 = lp_build_swizzle_scalar_aos(&bld->bld_base.base, src0, TGSI_SWIZZLE_X);
628 dst0 = lp_build_exp2(&bld->bld_base.base, tmp0);
632 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
634 dst0 = lp_build_log2(&bld->bld_base.base, tmp0);
638 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
640 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
642 dst0 = lp_build_pow(&bld->bld_base.base, src0, src1);
657 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
659 dst0 = lp_build_cos(&bld->bld_base.base, tmp0);
695 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
696 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
697 tmp0 = lp_build_cmp(&bld->bld_base.base, PIPE_FUNC_EQUAL, src0, src1);
698 dst0 = lp_build_select(&bld->bld_base.base, tmp0, bld->bld_base.base.one, bld->bld_base.base.zero);
702 dst0 = bld->bld_base.base.zero;
706 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
707 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
708 tmp0 = lp_build_cmp(&bld->bld_base.base, PIPE_FUNC_GREATER, src0, src1);
709 dst0 = lp_build_select(&bld->bld_base.base, tmp0, bld->bld_base.base.one, bld->bld_base.base.zero);
713 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
715 dst0 = lp_build_sin(&bld->bld_base.base, tmp0);
719 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
720 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
721 tmp0 = lp_build_cmp(&bld->bld_base.base, PIPE_FUNC_LEQUAL, src0, src1);
722 dst0 = lp_build_select(&bld->bld_base.base, tmp0, bld->bld_base.base.one, bld->bld_base.base.zero);
726 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
727 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
728 tmp0 = lp_build_cmp(&bld->bld_base.base, PIPE_FUNC_NOTEQUAL, src0, src1);
729 dst0 = lp_build_select(&bld->bld_base.base, tmp0, bld->bld_base.base.one, bld->bld_base.base.zero);
733 dst0 = bld->bld_base.base.one;
781 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
782 dst0 = lp_build_round(&bld->bld_base.base, src0);
803 tmp0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
804 dst0 = lp_build_sgn(&bld->bld_base.base, tmp0);
808 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
809 src1 = lp_build_emit_fetch(&bld->bld_base, inst, 1, LP_CHAN_ALL);
810 src2 = lp_build_emit_fetch(&bld->bld_base, inst, 2, LP_CHAN_ALL);
811 tmp0 = lp_build_cmp(&bld->bld_base.base, PIPE_FUNC_LESS, src0, bld->bld_base.base.zero);
812 dst0 = lp_build_select(&bld->bld_base.base, tmp0, src1, src2);
881 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
882 dst0 = lp_build_ceil(&bld->bld_base.base, src0);
898 src0 = lp_build_emit_fetch(&bld->bld_base, inst, 0, LP_CHAN_ALL);
899 dst0 = lp_build_trunc(&bld->bld_base.base, src0);
1001 lp_build_context_init(&bld.bld_base.base, gallivm, type);
1002 lp_build_context_init(&bld.bld_base.uint_bld, gallivm, lp_uint_type(type));
1003 lp_build_context_init(&bld.bld_base.int_bld, gallivm, lp_int_type(type));
1016 bld.bld_base.emit_swizzle = swizzle_aos;
1017 bld.bld_base.info = info;
1019 bld.bld_base.emit_fetch_funcs[TGSI_FILE_CONSTANT] = emit_fetch_constant;
1020 bld.bld_base.emit_fetch_funcs[TGSI_FILE_IMMEDIATE] = emit_fetch_immediate;
1021 bld.bld_base.emit_fetch_funcs[TGSI_FILE_INPUT] = emit_fetch_input;
1022 bld.bld_base.emit_fetch_funcs[TGSI_FILE_TEMPORARY] = emit_fetch_temporary;
1025 lp_set_default_actions_cpu(&bld.bld_base);
1027 if (!lp_bld_tgsi_list_init(&bld.bld_base)) {
1044 lp_bld_tgsi_add_instruction(&bld.bld_base,
1079 struct tgsi_full_instruction *instr = bld.bld_base.instructions + pc;
1096 FREE(bld.bld_base.instructions);