• Home
  • Raw
  • Download

Lines Matching full:builder

56     SkSL::RP::Builder builder;  in DEF_TEST()  local
57 builder.store_src_rg(two_slots_at(0)); in DEF_TEST()
58 builder.store_src(four_slots_at(2)); in DEF_TEST()
59 builder.store_dst(four_slots_at(4)); in DEF_TEST()
60 builder.store_device_xy01(four_slots_at(6)); in DEF_TEST()
61 builder.init_lane_masks(); in DEF_TEST()
62 builder.enableExecutionMaskWrites(); in DEF_TEST()
63 builder.mask_off_return_mask(); in DEF_TEST()
64 builder.mask_off_loop_mask(); in DEF_TEST()
65 builder.reenable_loop_mask(one_slot_at(4)); in DEF_TEST()
66 builder.disableExecutionMaskWrites(); in DEF_TEST()
67 builder.load_src(four_slots_at(1)); in DEF_TEST()
68 builder.load_dst(four_slots_at(3)); in DEF_TEST()
69 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/10, in DEF_TEST()
87 SkSL::RP::Builder builder; in DEF_TEST() local
89 REPORTER_ASSERT(r, !builder.executionMaskWritesAreEnabled()); in DEF_TEST()
90 builder.enableExecutionMaskWrites(); in DEF_TEST()
91 REPORTER_ASSERT(r, builder.executionMaskWritesAreEnabled()); in DEF_TEST()
93 builder.push_condition_mask(); // push into 0 in DEF_TEST()
94 builder.push_loop_mask(); // push into 1 in DEF_TEST()
95 builder.push_return_mask(); // push into 2 in DEF_TEST()
96 builder.merge_condition_mask(); // set the condition-mask to 1 & 2 in DEF_TEST()
97 builder.pop_condition_mask(); // pop from 2 in DEF_TEST()
98 builder.merge_loop_mask(); // mask off the loop-mask against 1 in DEF_TEST()
99 builder.push_condition_mask(); // push into 2 in DEF_TEST()
100 builder.pop_condition_mask(); // pop from 2 in DEF_TEST()
101 builder.pop_loop_mask(); // pop from 1 in DEF_TEST()
102 builder.pop_return_mask(); // pop from 0 in DEF_TEST()
103 builder.push_condition_mask(); // push into 0 in DEF_TEST()
104 builder.pop_and_reenable_loop_mask(); // pop from 0 in DEF_TEST()
106 REPORTER_ASSERT(r, builder.executionMaskWritesAreEnabled()); in DEF_TEST()
107 builder.disableExecutionMaskWrites(); in DEF_TEST()
108 REPORTER_ASSERT(r, !builder.executionMaskWritesAreEnabled()); in DEF_TEST()
110 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
131 SkSL::RP::Builder builder; in DEF_TEST() local
133 builder.push_literal_i(123); // push a test value in DEF_TEST()
134 builder.push_literal_i(~0); // push an all-on default mask in DEF_TEST()
135 builder.case_op(123); // do `case 123:` in DEF_TEST()
136 builder.case_op(124); // do `case 124:` in DEF_TEST()
137 builder.discard_stack(2); in DEF_TEST()
139 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
151 SkSL::RP::Builder builder; in DEF_TEST() local
153 builder.push_src_rgba(); in DEF_TEST()
154 builder.push_dst_rgba(); in DEF_TEST()
155 builder.push_src_rgba(); in DEF_TEST()
156 builder.pop_src_rgba(); in DEF_TEST()
157 builder.pop_dst_rgba(); in DEF_TEST()
158 builder.pop_src_rg(); in DEF_TEST()
159 builder.pop_src_rg(); in DEF_TEST()
161 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
176 SkSL::RP::Builder builder; in DEF_TEST() local
178 builder.invoke_shader(1); in DEF_TEST()
179 builder.invoke_color_filter(2); in DEF_TEST()
180 builder.invoke_blender(3); in DEF_TEST()
182 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
193 SkSL::RP::Builder builder; in DEF_TEST() local
194 builder.set_current_stack(1); in DEF_TEST()
195 builder.push_literal_i(999); // push into 2 in DEF_TEST()
196 builder.set_current_stack(0); in DEF_TEST()
197 builder.push_literal_f(13.5f); // push into 0 in DEF_TEST()
198 builder.push_clone_from_stack(/*numSlots=*/1, /*otherStackIndex=*/1); // push into 1 from 2 in DEF_TEST()
199 builder.discard_stack(); // discard 2 in DEF_TEST()
200 builder.push_literal_u(357); // push into 2 in DEF_TEST()
201 builder.set_current_stack(1); in DEF_TEST()
202 builder.push_clone_from_stack(/*numSlots=*/1, /*otherStackIndex=*/0, in DEF_TEST()
204 builder.discard_stack(2); // discard 2 and 3 in DEF_TEST()
205 builder.set_current_stack(0); in DEF_TEST()
206 builder.discard_stack(2); // discard 0 and 1 in DEF_TEST()
207 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/1, in DEF_TEST()
218 SkSL::RP::Builder builder; in DEF_TEST() local
219 builder.copy_slots_masked(two_slots_at(0), two_slots_at(2)); in DEF_TEST()
220 builder.copy_slots_masked(four_slots_at(1), four_slots_at(5)); in DEF_TEST()
221 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/9, in DEF_TEST()
231 SkSL::RP::Builder builder; in DEF_TEST() local
232 builder.copy_slots_unmasked(three_slots_at(0), three_slots_at(2)); in DEF_TEST()
233 builder.copy_slots_unmasked(five_slots_at(1), five_slots_at(5)); in DEF_TEST()
234 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/10, in DEF_TEST()
245 SkSL::RP::Builder builder; in DEF_TEST() local
246 builder.push_slots(four_slots_at(10)); // push from 10~13 into $0~$3 in DEF_TEST()
247 builder.copy_stack_to_slots(one_slot_at(5), 3); // copy from $1 into 5 in DEF_TEST()
248 builder.pop_slots_unmasked(two_slots_at(20)); // pop from $2~$3 into 20~21 (unmasked) in DEF_TEST()
249 builder.enableExecutionMaskWrites(); in DEF_TEST()
250 builder.copy_stack_to_slots_unmasked(one_slot_at(4), 2); // copy from $0 into 4 in DEF_TEST()
251 builder.push_slots(three_slots_at(30)); // push from 30~32 into $2~$4 in DEF_TEST()
252 builder.pop_slots(five_slots_at(0)); // pop from $0~$4 into 0~4 (masked) in DEF_TEST()
253 builder.disableExecutionMaskWrites(); in DEF_TEST()
255 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/50, in DEF_TEST()
270 SkSL::RP::Builder builder; in DEF_TEST() local
271 builder.push_literal_f(1.0f); // push into 0 in DEF_TEST()
272 builder.push_duplicates(1); // duplicate into 1 in DEF_TEST()
273 builder.push_duplicates(2); // duplicate into 2~3 in DEF_TEST()
274 builder.push_duplicates(3); // duplicate into 4~6 in DEF_TEST()
275 builder.push_duplicates(5); // duplicate into 7~11 in DEF_TEST()
276 builder.select(4); // select from 4~7 and 8~11 into 4~7 in DEF_TEST()
277 builder.select(3); // select from 2~4 and 5~7 into 2~4 in DEF_TEST()
278 builder.select(1); // select from 3 and 4 into 3 in DEF_TEST()
279 builder.swizzle_copy_stack_to_slots(four_slots_at(1), {3, 2, 1, 0}, 4); in DEF_TEST()
280 builder.swizzle_copy_stack_to_slots(four_slots_at(0), {0, 1, 3}, 3); in DEF_TEST()
281 builder.swizzle(4, {3, 2, 1, 0}); // reverse the order of 0~3 (value.wzyx) in DEF_TEST()
282 builder.swizzle(4, {1, 2}); // eliminate elements 0 and 3 (value.yz) in DEF_TEST()
283 builder.swizzle(2, {0}); // eliminate element 1 (value.x) in DEF_TEST()
284 builder.discard_stack(1); // balance stack in DEF_TEST()
285 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/6, in DEF_TEST()
306 SkSL::RP::Builder builder; in DEF_TEST() local
307 builder.push_literal_f(1.0f); // push into 0 in DEF_TEST()
308 builder.push_duplicates(15); // duplicate into 1~15 in DEF_TEST()
309 builder.transpose(2, 2); // transpose a 2x2 matrix in DEF_TEST()
310 builder.transpose(3, 3); // transpose a 3x3 matrix in DEF_TEST()
311 builder.transpose(4, 4); // transpose a 4x4 matrix in DEF_TEST()
312 builder.transpose(2, 4); // transpose a 2x4 matrix in DEF_TEST()
313 builder.transpose(4, 3); // transpose a 4x3 matrix in DEF_TEST()
314 builder.discard_stack(16); // balance stack in DEF_TEST()
315 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
333 SkSL::RP::Builder builder; in DEF_TEST() local
334 builder.push_literal_f(0.0f); // push into 0 in DEF_TEST()
335 builder.push_literal_f(1.0f); // push into 1 in DEF_TEST()
336 builder.diagonal_matrix(2, 2); // generate a 2x2 diagonal matrix in DEF_TEST()
337 builder.discard_stack(4); // balance stack in DEF_TEST()
338 builder.push_literal_f(0.0f); // push into 0 in DEF_TEST()
339 builder.push_literal_f(2.0f); // push into 1 in DEF_TEST()
340 builder.diagonal_matrix(4, 4); // generate a 4x4 diagonal matrix in DEF_TEST()
341 builder.discard_stack(16); // balance stack in DEF_TEST()
342 builder.push_literal_f(0.0f); // push into 0 in DEF_TEST()
343 builder.push_literal_f(3.0f); // push into 1 in DEF_TEST()
344 builder.diagonal_matrix(2, 3); // generate a 2x3 diagonal matrix in DEF_TEST()
345 builder.discard_stack(6); // balance stack in DEF_TEST()
346 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
363 SkSL::RP::Builder builder; in DEF_TEST() local
364 builder.push_literal_f(1.0f); // synthesize a 2x2 matrix in DEF_TEST()
365 builder.push_literal_f(2.0f); in DEF_TEST()
366 builder.push_literal_f(3.0f); in DEF_TEST()
367 builder.push_literal_f(4.0f); in DEF_TEST()
368 builder.matrix_resize(2, 2, 4, 4); // resize 2x2 matrix into 4x4 in DEF_TEST()
369 builder.matrix_resize(4, 4, 2, 2); // resize 4x4 matrix back into 2x2 in DEF_TEST()
370 builder.matrix_resize(2, 2, 2, 4); // resize 2x2 matrix into 2x4 in DEF_TEST()
371 builder.matrix_resize(2, 4, 4, 2); // resize 2x4 matrix into 4x2 in DEF_TEST()
372 builder.matrix_resize(4, 2, 3, 3); // resize 4x2 matrix into 3x3 in DEF_TEST()
373 builder.discard_stack(9); // balance stack in DEF_TEST()
374 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
466 SkSL::RP::Builder builder; in DEF_TEST() local
467 int label1 = builder.nextLabelID(); in DEF_TEST()
468 int label2 = builder.nextLabelID(); in DEF_TEST()
469 int label3 = builder.nextLabelID(); in DEF_TEST()
470 int label4 = builder.nextLabelID(); in DEF_TEST()
473 builder.enableExecutionMaskWrites(); in DEF_TEST()
476 builder.jump(label4); in DEF_TEST()
477 builder.label(label1); in DEF_TEST()
478 builder.zero_slots_unmasked(one_slot_at(0)); in DEF_TEST()
479 builder.label(label2); in DEF_TEST()
480 builder.zero_slots_unmasked(one_slot_at(1)); in DEF_TEST()
481 builder.branch_if_no_active_lanes(label2); in DEF_TEST()
482 builder.branch_if_no_active_lanes(label3); in DEF_TEST()
483 builder.label(label3); in DEF_TEST()
484 builder.zero_slots_unmasked(one_slot_at(2)); in DEF_TEST()
485 builder.branch_if_any_active_lanes(label1); in DEF_TEST()
486 builder.branch_if_any_active_lanes(label1); in DEF_TEST()
487 builder.label(label4); in DEF_TEST()
488 builder.branch_if_no_active_lanes_on_stack_top_equal(0, label3); in DEF_TEST()
489 builder.branch_if_no_active_lanes_on_stack_top_equal(0, label2); in DEF_TEST()
490 builder.branch_if_no_active_lanes_on_stack_top_equal(1, label1); in DEF_TEST()
491 builder.branch_if_no_active_lanes_on_stack_top_equal(1, label4); in DEF_TEST()
494 builder.disableExecutionMaskWrites(); in DEF_TEST()
497 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/3, in DEF_TEST()
508 SkSL::RP::Builder builder; in DEF_TEST() local
509 builder.push_literal_f(10.0f); in DEF_TEST()
510 builder.push_duplicates(30); in DEF_TEST()
511 builder.binary_op(BuilderOp::add_n_floats, 1); in DEF_TEST()
512 builder.binary_op(BuilderOp::sub_n_floats, 2); in DEF_TEST()
513 builder.binary_op(BuilderOp::mul_n_floats, 3); in DEF_TEST()
514 builder.binary_op(BuilderOp::div_n_floats, 4); in DEF_TEST()
515 builder.binary_op(BuilderOp::max_n_floats, 3); in DEF_TEST()
516 builder.binary_op(BuilderOp::min_n_floats, 2); in DEF_TEST()
517 builder.binary_op(BuilderOp::cmplt_n_floats, 5); in DEF_TEST()
518 builder.binary_op(BuilderOp::cmple_n_floats, 4); in DEF_TEST()
519 builder.binary_op(BuilderOp::cmpeq_n_floats, 3); in DEF_TEST()
520 builder.binary_op(BuilderOp::cmpne_n_floats, 2); in DEF_TEST()
521 builder.discard_stack(2); in DEF_TEST()
522 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
550 SkSL::RP::Builder builder; in DEF_TEST() local
551 builder.push_literal_i(123); in DEF_TEST()
552 builder.push_duplicates(40); in DEF_TEST()
553 builder.binary_op(BuilderOp::bitwise_and_n_ints, 1); in DEF_TEST()
554 builder.binary_op(BuilderOp::bitwise_xor_n_ints, 2); in DEF_TEST()
555 builder.binary_op(BuilderOp::bitwise_or_n_ints, 3); in DEF_TEST()
556 builder.binary_op(BuilderOp::add_n_ints, 2); in DEF_TEST()
557 builder.binary_op(BuilderOp::sub_n_ints, 3); in DEF_TEST()
558 builder.binary_op(BuilderOp::mul_n_ints, 4); in DEF_TEST()
559 builder.binary_op(BuilderOp::div_n_ints, 5); in DEF_TEST()
560 builder.binary_op(BuilderOp::max_n_ints, 4); in DEF_TEST()
561 builder.binary_op(BuilderOp::min_n_ints, 3); in DEF_TEST()
562 builder.binary_op(BuilderOp::cmplt_n_ints, 1); in DEF_TEST()
563 builder.binary_op(BuilderOp::cmple_n_ints, 2); in DEF_TEST()
564 builder.binary_op(BuilderOp::cmpeq_n_ints, 3); in DEF_TEST()
565 builder.binary_op(BuilderOp::cmpne_n_ints, 4); in DEF_TEST()
566 builder.discard_stack(4); in DEF_TEST()
567 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
601 SkSL::RP::Builder builder; in DEF_TEST() local
602 builder.push_literal_u(456); in DEF_TEST()
603 builder.push_duplicates(21); in DEF_TEST()
604 builder.binary_op(BuilderOp::div_n_uints, 6); in DEF_TEST()
605 builder.binary_op(BuilderOp::cmplt_n_uints, 5); in DEF_TEST()
606 builder.binary_op(BuilderOp::cmple_n_uints, 4); in DEF_TEST()
607 builder.binary_op(BuilderOp::max_n_uints, 3); in DEF_TEST()
608 builder.binary_op(BuilderOp::min_n_uints, 2); in DEF_TEST()
609 builder.discard_stack(2); in DEF_TEST()
610 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
631 SkSL::RP::Builder builder; in DEF_TEST() local
632 builder.push_literal_i(456); in DEF_TEST()
633 builder.push_duplicates(4); in DEF_TEST()
634 builder.unary_op(BuilderOp::cast_to_float_from_int, 1); in DEF_TEST()
635 builder.unary_op(BuilderOp::cast_to_float_from_uint, 2); in DEF_TEST()
636 builder.unary_op(BuilderOp::cast_to_int_from_float, 3); in DEF_TEST()
637 builder.unary_op(BuilderOp::cast_to_uint_from_float, 4); in DEF_TEST()
638 builder.unary_op(BuilderOp::bitwise_not_int, 5); in DEF_TEST()
639 builder.unary_op(BuilderOp::cos_float, 4); in DEF_TEST()
640 builder.unary_op(BuilderOp::tan_float, 3); in DEF_TEST()
641 builder.unary_op(BuilderOp::sin_float, 2); in DEF_TEST()
642 builder.unary_op(BuilderOp::sqrt_float, 1); in DEF_TEST()
643 builder.unary_op(BuilderOp::abs_float, 2); in DEF_TEST()
644 builder.unary_op(BuilderOp::abs_int, 3); in DEF_TEST()
645 builder.unary_op(BuilderOp::floor_float, 4); in DEF_TEST()
646 builder.unary_op(BuilderOp::ceil_float, 5); in DEF_TEST()
647 builder.discard_stack(5); in DEF_TEST()
648 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
682 SkSL::RP::Builder builder; in DEF_TEST() local
683 builder.push_uniform(one_slot_at(0)); // push into 0 in DEF_TEST()
684 builder.push_uniform(two_slots_at(1)); // push into 1~2 in DEF_TEST()
685 builder.push_uniform(three_slots_at(3)); // push into 3~5 in DEF_TEST()
686 builder.push_uniform(four_slots_at(6)); // push into 6~9 in DEF_TEST()
687 builder.push_uniform(five_slots_at(0)); // push into 10~14 in DEF_TEST()
688 builder.unary_op(BuilderOp::abs_int, 1); // perform work so the program isn't eliminated in DEF_TEST()
689 builder.discard_stack(15); // balance stack in DEF_TEST()
690 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
706 SkSL::RP::Builder builder; in DEF_TEST() local
707 builder.push_zeros(1); // push into 0 in DEF_TEST()
708 builder.push_zeros(2); // push into 1~2 in DEF_TEST()
709 builder.push_zeros(3); // push into 3~5 in DEF_TEST()
710 builder.push_zeros(4); // push into 6~9 in DEF_TEST()
711 builder.push_zeros(5); // push into 10~14 in DEF_TEST()
712 builder.unary_op(BuilderOp::abs_int, 1); // perform work so the program isn't eliminated in DEF_TEST()
713 builder.discard_stack(15); // balance stack in DEF_TEST()
714 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
728 SkSL::RP::Builder builder; in DEF_TEST() local
729 builder.push_literal_f(0.75f); in DEF_TEST()
730 builder.push_duplicates(8); in DEF_TEST()
731 builder.ternary_op(BuilderOp::mix_n_floats, 3); in DEF_TEST()
732 builder.discard_stack(3); in DEF_TEST()
733 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
747 SkSL::RP::Builder builder; in DEF_TEST() local
748 builder.push_literal_i(1); in DEF_TEST()
749 builder.push_duplicates(2000); in DEF_TEST()
750 builder.unary_op(BuilderOp::abs_int, 1); // perform work so the program isn't eliminated in DEF_TEST()
751 builder.discard_stack(2001); in DEF_TEST()
752 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()