Lines Matching defs:builder

932    LLVMBuilderRef builder = gallivm->builder;
944 out = LLVMBuildLoad2(builder, LLVMTypeOf(bld.zero), outputs[attrib][chan], "");
946 LLVMBuildStore(builder, out, outputs[attrib][chan]);
956 LLVMBuilderRef builder,
1029 LLVMBuilderRef builder = gallivm->builder;
1037 stride = LLVMBuildMul(builder, vb_stride, index, "");
1039 buffer_overflowed = LLVMBuildICmp(builder, LLVMIntUGE,
1048 index_valid = LLVMBuildNot(builder, buffer_overflowed, "");
1049 index_valid = LLVMBuildSExt(builder, index_valid, i32_t, "");
1050 stride = LLVMBuildAnd(builder, stride, index_valid, "");
1061 aos = LLVMBuildBitCast(builder, aos, aosi_t, "");
1062 aos = LLVMBuildAnd(builder, aos, index_valid, "");
1063 aos = LLVMBuildBitCast(builder, aos, aosf_t, "");
1084 LLVMBuilderRef builder = gallivm->builder;
1102 offset = LLVMBuildAnd(builder, offset, valid_mask, "");
1132 inputs[i] = LLVMBuildBitCast(builder, inputs[i],
1138 inputs[i] = LLVMBuildBitCast(builder, inputs[i], blduivec.vec_type, "");
1139 inputs[i] = LLVMBuildAnd(builder, inputs[i], valid_mask, "");
1140 inputs[i] = LLVMBuildBitCast(builder, inputs[i],
1154 LLVMBuilderRef builder = gallivm->builder;
1162 data_ptr = LLVMBuildGEP(builder, data_ptr, indices, 3, "");
1163 data_ptr = LLVMBuildPointerCast(builder, data_ptr, data_ptr_type, "");
1170 LLVMSetAlignment(LLVMBuildStore(builder, value, data_ptr), sizeof(float));
1200 LLVMBuilderRef builder = gallivm->builder;
1206 vertex_id = LLVMBuildLShr(builder, mask, lp_build_const_int32(gallivm, 16), "");
1207 clipmask = LLVMBuildAnd(builder, mask, lp_build_const_int32(gallivm, 0x3fff), "");
1208 clipmask = LLVMBuildShl(builder, clipmask, lp_build_const_int32(gallivm, 18), "");
1210 pad = LLVMBuildAnd(builder, mask, lp_build_const_int32(gallivm, 0x8000), "");
1211 pad = LLVMBuildShl(builder, pad, lp_build_const_int32(gallivm, 1), "");
1213 edgeflag = LLVMBuildAnd(builder, mask, lp_build_const_int32(gallivm, 0x4000), "");
1214 edgeflag = LLVMBuildShl(builder, edgeflag, lp_build_const_int32(gallivm, 3), "");
1216 mask = LLVMBuildOr(builder, vertex_id, clipmask, "");
1218 mask = LLVMBuildOr(builder, mask, pad, "");
1220 mask = LLVMBuildOr(builder, mask, edgeflag, "");
1237 LLVMBuilderRef builder = gallivm->builder;
1254 io_ptrs[i] = LLVMBuildGEP2(builder, io_type, io_ptr, &inds[i], 1, "");
1276 cliptmp = LLVMBuildOr(builder, val, clipmask, "");
1279 val = LLVMBuildExtractElement(builder, cliptmp, linear_inds[i], "");
1285 LLVMBuildStore(builder, val, id_ptr);
1307 LLVMBuilderRef builder = gallivm->builder;
1318 LLVMValueRef out = LLVMBuildLoad(builder, outputs[attrib][chan], "");
1329 LLVMBuildBitCast(builder, out, lp_build_int_vec_type(gallivm, soa_type), "");
1383 LLVMBuilderRef builder = gallivm->builder;
1396 io_ptrs[i] = LLVMBuildGEP2(builder, io_type, io_ptr, &inds[i], 1, "");
1399 soa[0] = LLVMBuildLoad(builder, outputs[idx][0], ""); /*x0 x1 .. xn*/
1400 soa[1] = LLVMBuildLoad(builder, outputs[idx][1], ""); /*y0 y1 .. yn*/
1401 soa[2] = LLVMBuildLoad(builder, outputs[idx][2], ""); /*z0 z1 .. zn*/
1402 soa[3] = LLVMBuildLoad(builder, outputs[idx][3], ""); /*w0 w1 .. wn*/
1419 clip_ptr = LLVMBuildPointerCast(builder, clip_ptrs[j], clip_ptr_type, "");
1422 LLVMSetAlignment(LLVMBuildStore(builder, aos[j], clip_ptr), sizeof(float));
1432 LLVMBuilderRef builder,
1442 LLVMValueRef out3 = LLVMBuildLoad2(builder, vs_type_llvm, outputs[pos][3], ""); /*w0 w1 .. wn*/
1451 out3 = LLVMBuildFDiv(builder, const1, out3, "");
1452 LLVMBuildStore(builder, out3, outputs[pos][3]);
1458 LLVMValueRef out = LLVMBuildLoad2(builder, vs_type_llvm, outputs[pos][i], ""); /*x0 x1 .. xn*/
1466 scale_i = LLVMBuildGEP2(builder, elem_type, vp_ptr, &index, 1, "");
1469 trans_i = LLVMBuildGEP2(builder, elem_type, vp_ptr, &index, 1, "");
1472 LLVMBuildLoad2(builder, elem_type, scale_i, "scale"));
1474 LLVMBuildLoad2(builder, elem_type, trans_i, "trans"));
1477 out = LLVMBuildFMul(builder, out, out3, "");
1479 out = lp_build_fmuladd(builder, out, scale, trans);
1482 LLVMBuildStore(builder, out, outputs[pos][i]);
1501 LLVMBuilderRef builder = gallivm->builder;
1540 pos_x = LLVMBuildLoad2(builder, vec_type, outputs[pos][0], ""); /*x0 x1 .. xn */
1541 pos_y = LLVMBuildLoad2(builder, vec_type, outputs[pos][1], ""); /*y0 y1 .. yn */
1542 pos_z = LLVMBuildLoad2(builder, vec_type, outputs[pos][2], ""); /*z0 z1 .. zn */
1543 pos_w = LLVMBuildLoad2(builder, vec_type, outputs[pos][3], ""); /*w0 w1 .. wn */
1546 cv_x = LLVMBuildLoad2(builder, vec_type, outputs[cv][0], ""); /*x0 x1 .. xn */
1547 cv_y = LLVMBuildLoad2(builder, vec_type, outputs[cv][1], ""); /*y0 y1 .. yn */
1548 cv_z = LLVMBuildLoad2(builder, vec_type, outputs[cv][2], ""); /*z0 z1 .. zn */
1549 cv_w = LLVMBuildLoad2(builder, vec_type, outputs[cv][3], ""); /*w0 w1 .. wn */
1570 test = LLVMBuildAnd(builder, test, temp, "");
1574 test = LLVMBuildFAdd(builder, pos_x, pos_w, "");
1576 temp = LLVMBuildShl(builder, temp, shift, "");
1577 test = LLVMBuildAnd(builder, test, temp, "");
1578 mask = LLVMBuildOr(builder, mask, test, "");
1582 temp = LLVMBuildShl(builder, temp, shift, "");
1583 test = LLVMBuildAnd(builder, test, temp, "");
1584 mask = LLVMBuildOr(builder, mask, test, "");
1587 test = LLVMBuildFAdd(builder, pos_y, pos_w, "");
1589 temp = LLVMBuildShl(builder, temp, shift, "");
1590 test = LLVMBuildAnd(builder, test, temp, "");
1591 mask = LLVMBuildOr(builder, mask, test, "");
1599 test = LLVMBuildAnd(builder, test, temp, "");
1600 mask = LLVMBuildOr(builder, mask, test, "");
1604 test = LLVMBuildFAdd(builder, pos_z, pos_w, "");
1606 test = LLVMBuildAnd(builder, test, temp, "");
1607 mask = LLVMBuildOr(builder, mask, test, "");
1611 temp = LLVMBuildShl(builder, temp, shift, "");
1612 test = LLVMBuildAnd(builder, test, temp, "");
1613 mask = LLVMBuildOr(builder, mask, test, "");
1634 clipdist = LLVMBuildLoad2(builder, vec_type, outputs[cd[0]][i], "");
1636 clipdist = LLVMBuildLoad2(builder, vec_type, outputs[cd[1]][i-4], "");
1640 test = LLVMBuildOr(builder, test, is_nan_or_inf, "");
1642 test = LLVMBuildAnd(builder, test, temp, "");
1643 mask = LLVMBuildOr(builder, mask, test, "");
1652 plane_ptr = LLVMBuildGEP(builder, planes_ptr, indices, 3, "");
1653 plane1 = LLVMBuildLoad2(builder, vs_elem_type, plane_ptr,
1657 sum = LLVMBuildFMul(builder, planes, cv_x, "");
1659 sum = lp_build_fmuladd(builder, planes,
1666 test = LLVMBuildAnd(builder, test, temp, "");
1667 mask = LLVMBuildOr(builder, mask, test, "");
1678 LLVMValueRef edgeflag = LLVMBuildLoad2(builder, vec_type, outputs[edge_attr][0], "");
1682 test = LLVMBuildAnd(builder, test, temp, "");
1683 mask = LLVMBuildOr(builder, mask, test, "");
1699 LLVMBuilderRef builder = gallivm->builder;
1701 LLVMValueRef clipmask_bool = LLVMBuildLoad(builder, clipmask_bool_ptr, "");
1715 clipmask_bool = LLVMBuildXor(builder, clipmask_bool, edge, "");
1726 ret = LLVMBuildZExt(builder, ret, int8_type, "");
1741 LLVMBuilderRef builder = gallivm->builder;
1756 vert_chan_index = LLVMBuildExtractElement(builder,
1760 attr_chan_index = LLVMBuildExtractElement(builder,
1768 channel_vec = LLVMBuildGEP(builder, gs->input, indices, 3, "");
1769 channel_vec = LLVMBuildLoad(builder, channel_vec, "");
1770 value = LLVMBuildExtractElement(builder, channel_vec, idx, "");
1772 res = LLVMBuildInsertElement(builder, res, value, idx, "");
1779 res = LLVMBuildGEP(builder, gs->input, indices, 3, "");
1780 res = LLVMBuildLoad(builder, res, "");
1796 LLVMBuilderRef builder = gallivm->builder;
1807 LLVMValueRef cond = LLVMBuildICmp(gallivm->builder, LLVMIntNE, mask_vec, lp_build_const_int_vec(gallivm, bld->type, 0), "");
1811 LLVMBuildExtractElement(builder, emitted_vertices_vec, ind, "");
1812 indices[i] = LLVMBuildMul(builder, ind, next_prim_offset, "");
1813 indices[i] = LLVMBuildAdd(builder, indices[i], currently_emitted, "");
1814 indices[i] = LLVMBuildSelect(builder, LLVMBuildExtractElement(builder, cond, ind, ""), indices[i],
1818 LLVMValueRef stream_idx = LLVMBuildExtractElement(builder, stream_id, lp_build_const_int32(gallivm, 0), "");
1819 LLVMValueRef cnd = LLVMBuildICmp(builder, LLVMIntULT, stream_idx, lp_build_const_int32(gallivm, variant->shader->base.num_vertex_streams), "");
1822 io = lp_build_pointer_get(builder, io, LLVMBuildExtractElement(builder, stream_id, lp_build_const_int32(gallivm, 0), ""));
1847 LLVMBuilderRef builder = gallivm->builder;
1852 LLVMValueRef cond = LLVMBuildICmp(gallivm->builder, LLVMIntNE, mask_vec, lp_build_const_int_vec(gallivm, bld->type, 0), "");
1856 LLVMBuildExtractElement(builder, emitted_prims_vec, ind, "");
1859 LLVMBuildExtractElement(builder, verts_per_prim_vec, ind, "");
1861 LLVMValueRef this_cond = LLVMBuildExtractElement(gallivm->builder, cond, ind, "");
1864 prims_emitted = LLVMBuildMul(gallivm->builder, prims_emitted, lp_build_const_int32(gallivm, variant->shader->base.num_vertex_streams), "");
1865 prims_emitted = LLVMBuildAdd(gallivm->builder, prims_emitted, lp_build_const_int32(gallivm, stream), "");
1866 store_ptr = LLVMBuildGEP(builder, prim_lengts_ptr, &prims_emitted, 1, "");
1867 store_ptr = LLVMBuildLoad(builder, store_ptr, "");
1868 store_ptr = LLVMBuildGEP(builder, store_ptr, &ind, 1, "");
1869 LLVMBuildStore(builder, num_vertices, store_ptr);
1882 LLVMBuilderRef builder = gallivm->builder;
1889 emitted_verts_ptr = LLVMBuildGEP(builder, emitted_verts_ptr, &stream_val, 1, "");
1890 emitted_prims_ptr = LLVMBuildGEP(builder, emitted_prims_ptr, &stream_val, 1, "");
1892 LLVMBuildStore(builder, total_emitted_vertices_vec, emitted_verts_ptr);
1893 LLVMBuildStore(builder, emitted_prims_vec, emitted_prims_ptr);
1907 LLVMBuilderRef builder;
2027 builder = gallivm->builder;
2028 LLVMPositionBuilderAtEnd(builder, block);
2045 fake_buf = LLVMBuildBitCast(builder, fake_buf,
2047 fake_buf_ptr = LLVMBuildGEP2(builder, LLVMInt8TypeInContext(context), fake_buf, &bld.zero, 1, "");
2061 ind_vec = LLVMBuildInsertElement(builder, ind_vec, index, index, "");
2064 have_elts = LLVMBuildICmp(builder, LLVMIntNE,
2067 fetch_max = LLVMBuildSub(builder, count, bld.one, "fetch_max");
2090 vbuffer_ptr = LLVMBuildGEP2(builder, variant->buffer_type, vbuffers_ptr, &vb_index, 1, "");
2091 vb_info = LLVMBuildGEP2(builder, variant->vb_type, vb_ptr, &vb_index, 1, "");
2093 vb_stride[j] = LLVMBuildZExt(gallivm->builder, vb_stride[j],
2132 current_instance = LLVMBuildUDiv(builder, system_values.instance_id,
2140 buffer_size_adj[j] = LLVMBuildSelect(builder, ofbit, bld.zero,
2149 LLVMBuildStore(builder, fake_buf_ptr, temp_ptr);
2153 map_ptr[j] = LLVMBuildGEP2(builder, byte_type, map_ptr[j], &buf_offset, 1, "");
2154 LLVMBuildStore(builder, map_ptr[j], temp_ptr);
2157 map_ptr[j] = LLVMBuildLoad2(builder, byte_ptr_type, temp_ptr, "map_ptr");
2183 io = LLVMBuildGEP2(builder, variant->vertex_header_type, io_ptr, &io_itr, 1, "");
2190 true_index_array = LLVMBuildAdd(builder, true_index_array, ind_vec, "");
2231 fetch_elts = LLVMBuildBitCast(builder, fetch_elts,
2237 LLVMBuildStore(builder, tmp, index_store);
2241 tmp = LLVMBuildAdd(builder, true_index_array, start_vec, "");
2242 LLVMBuildStore(builder, tmp, index_store);
2246 true_index_array = LLVMBuildLoad2(builder, blduivec.vec_type, index_store, "");
2293 system_values.vertex_id_nobase = LLVMBuildSub(builder, true_index_array,
2298 builder,
2316 LLVMValueRef temp = LLVMBuildLoad2(builder, blduivec.vec_type, clipmask_bool_ptr, "");
2325 temp = LLVMBuildOr(builder, clipmask, temp, "");
2327 LLVMBuildStore(builder, temp, clipmask_bool_ptr);
2335 generate_viewport(variant, builder, vs_type, outputs, context_ptr);
2359 LLVMBuildRet(builder, ret);
2720 LLVMBuilderRef builder = gallivm->builder;
2730 mask_val = LLVMBuildInsertElement(builder, mask_val, idx, idx, "");
2751 LLVMBuilderRef builder;
2834 builder = gallivm->builder;
2835 LLVMPositionBuilderAtEnd(builder, block);
2864 system_values.prim_id = LLVMBuildLoad2(builder, prim_id_type, prim_id_ptr, "prim_id");
2909 LLVMBuildRet(builder, lp_build_zero(gallivm, lp_type_uint(32)));
3113 LLVMBuilderRef builder = gallivm->builder;
3130 vert_chan_index = LLVMBuildExtractElement(builder,
3134 attr_chan_index = LLVMBuildExtractElement(builder,
3138 swiz_chan_index = LLVMBuildExtractElement(builder,
3146 channel_vec = LLVMBuildGEP(builder, tcs->input, indices, 3, "");
3147 channel_vec = LLVMBuildLoad(builder, channel_vec, "");
3149 res = LLVMBuildInsertElement(builder, res, channel_vec, idx, "");
3156 res = LLVMBuildGEP(builder, tcs->input, indices, 3, "");
3157 res = LLVMBuildLoad(builder, res, "");
3176 LLVMBuilderRef builder = gallivm->builder;
3193 vert_chan_index = LLVMBuildExtractElement(builder,
3197 attr_chan_index = LLVMBuildExtractElement(builder,
3201 swiz_chan_index = LLVMBuildExtractElement(builder,
3209 channel_vec = LLVMBuildGEP(builder, tcs->output, indices, 3, "");
3210 channel_vec = LLVMBuildLoad(builder, channel_vec, "");
3212 res = LLVMBuildInsertElement(builder, res, channel_vec, idx, "");
3219 res = LLVMBuildGEP(builder, tcs->output, indices, 3, "");
3220 res = LLVMBuildLoad(builder, res, "");
3241 LLVMBuilderRef builder = gallivm->builder;
3257 vert_chan_index = LLVMBuildExtractElement(builder,
3261 attr_chan_index = LLVMBuildExtractElement(builder,
3266 swiz_chan_index = LLVMBuildExtractElement(builder,
3274 channel_vec = LLVMBuildGEP(builder, tcs->output, indices, 3, "");
3276 res = LLVMBuildExtractElement(builder, value, idx, "");
3279 LLVMValueRef cond = LLVMBuildICmp(gallivm->builder, LLVMIntNE, mask_vec, lp_build_const_int_vec(gallivm, bld->type, 0), "");
3280 cond = LLVMBuildExtractElement(gallivm->builder, cond, idx, "");
3282 LLVMBuildStore(builder, res, channel_vec);
3290 res = LLVMBuildGEP(builder, tcs->output, indices, 3, "");
3293 LLVMValueRef val = LLVMBuildExtractElement(builder, value, idx, "");
3296 LLVMValueRef cond = LLVMBuildICmp(gallivm->builder, LLVMIntNE, mask_vec, lp_build_const_int_vec(gallivm, bld->type, 0), "");
3297 cond = LLVMBuildExtractElement(gallivm->builder, cond, idx, "");
3299 LLVMBuildStore(builder, val, res);
3311 LLVMBuilderRef builder = gallivm->builder;
3320 mask_val = LLVMBuildInsertElement(builder, mask_val, LLVMBuildAdd(builder, loop_counter, idx, ""), idx, "");
3343 LLVMBuilderRef builder;
3410 builder = gallivm->builder;
3411 LLVMPositionBuilderAtEnd(builder, block);
3432 LLVMValueRef coro_hdls = LLVMBuildArrayAlloca(gallivm->builder, hdl_ptr_type, num_inner_loop, "coro_hdls");
3447 LLVMValueRef coro_entry = LLVMBuildGEP2(builder, hdl_ptr_type, coro_hdls, &loop_state[0].counter, 1, "");
3448 LLVMValueRef coro_hdl = LLVMBuildLoad2(builder, hdl_ptr_type, coro_entry, "coro_hdl");
3451 LLVMValueRef cmp = LLVMBuildICmp(builder, LLVMIntEQ, loop_state[1].counter,
3455 LLVMValueRef coro_ret = LLVMBuildCall2(builder, coro_func_type, variant_coro, args, 7, "");
3456 LLVMBuildStore(builder, coro_ret, coro_entry);
3478 LLVMBuildRet(builder, lp_build_zero(gallivm, lp_type_uint(32)));
3481 LLVMPositionBuilderAtEnd(builder, block);
3507 LLVMValueRef idx = LLVMBuildAdd(builder, LLVMBuildMul(builder, counter, step, ""), loop_iter, "");
3508 invocvec = LLVMBuildInsertElement(builder, invocvec, idx, loop_iter, "");
3526 mask_val = generate_tcs_mask_value(variant, tcs_type, count, LLVMBuildMul(builder, counter, step, ""));
3562 LLVMPositionBuilderAtEnd(builder, clean_block);
3566 LLVMBuildBr(builder, sus_block);
3567 LLVMPositionBuilderAtEnd(builder, sus_block);
3570 LLVMBuildRet(builder, coro_hdl);
3767 LLVMBuilderRef builder = gallivm->builder;
3776 mask_val = LLVMBuildInsertElement(builder, mask_val, LLVMBuildAdd(builder, loop_counter, idx, ""), idx, "");
3796 LLVMBuilderRef builder = gallivm->builder;
3814 vert_chan_index = LLVMBuildExtractElement(builder,
3818 attr_chan_index = LLVMBuildExtractElement(builder,
3822 swiz_chan_index = LLVMBuildExtractElement(builder,
3830 channel_vec = LLVMBuildGEP2(builder, tes->variant->input_array_deref_type, tes->input, indices, 3, "");
3831 channel_vec = LLVMBuildLoad2(builder, LLVMFloatTypeInContext(gallivm->context), channel_vec, "");
3833 res = LLVMBuildInsertElement(builder, res, channel_vec, idx, "");
3840 res = LLVMBuildGEP2(builder, tes->variant->input_array_deref_type, tes->input, indices, 3, "");
3841 res = LLVMBuildLoad2(builder, LLVMFloatTypeInContext(gallivm->context), res, "");
3856 LLVMBuilderRef builder = gallivm->builder;
3872 attr_chan_index = LLVMBuildExtractElement(builder,
3880 channel_vec = LLVMBuildGEP2(builder, tes->variant->input_array_deref_type, tes->input, indices, 3, "");
3881 channel_vec = LLVMBuildLoad2(builder, LLVMFloatTypeInContext(gallivm->context), channel_vec, "");
3883 res = LLVMBuildInsertElement(builder, res, channel_vec, idx, "");
3890 res = LLVMBuildGEP2(builder, tes->variant->input_array_deref_type, tes->input, indices, 3, "");
3891 res = LLVMBuildLoad2(builder, LLVMFloatTypeInContext(gallivm->context), res, "");
3913 LLVMBuilderRef builder;
3992 builder = gallivm->builder;
3993 LLVMPositionBuilderAtEnd(builder, block);
4019 system_values.tess_outer = LLVMBuildLoad2(builder, tess_outer_deref_type, tess_outer, "");
4020 system_values.tess_inner = LLVMBuildLoad2(builder, tess_inner_deref_type, tess_inner, "");
4032 LLVMBuildStore(builder, system_values.prim_id, outputs[slot][i]);
4040 io = LLVMBuildGEP2(builder, variant->vertex_header_type, io_ptr, &lp_loop.counter, 1, "");
4048 LLVMValueRef idx = LLVMBuildAdd(builder, lp_loop.counter, lp_build_const_int32(gallivm, j), "");
4053 tc_val = LLVMBuildFSub(builder, tc_val, lp_build_pointer_get(builder, tess_coord[0], idx), "");
4054 tc_val = LLVMBuildFSub(builder, tc_val, lp_build_pointer_get(builder, tess_coord[1], idx), "");
4058 tc_val = lp_build_pointer_get(builder, tess_coord[i], idx);
4060 tess_coord_chan = LLVMBuildInsertElement(builder, tess_coord_chan, tc_val, lp_build_const_int32(gallivm, j), "");
4062 system_values.tess_coord = LLVMBuildInsertValue(builder, system_values.tess_coord, tess_coord_chan, i, "");
4105 LLVMBuildRet(builder, lp_build_zero(gallivm, lp_type_uint(32)));