Lines Matching full:builder
60 SkSL::RP::Builder builder; in DEF_TEST() local
61 builder.store_src_rg(two_slots_at(0)); in DEF_TEST()
62 builder.store_src(four_slots_at(2)); in DEF_TEST()
63 builder.store_dst(four_slots_at(4)); in DEF_TEST()
64 builder.store_device_xy01(four_slots_at(6)); in DEF_TEST()
65 builder.init_lane_masks(); in DEF_TEST()
66 builder.enableExecutionMaskWrites(); in DEF_TEST()
67 builder.mask_off_return_mask(); in DEF_TEST()
68 builder.mask_off_loop_mask(); in DEF_TEST()
69 builder.reenable_loop_mask(one_slot_at(4)); in DEF_TEST()
70 builder.disableExecutionMaskWrites(); in DEF_TEST()
71 builder.load_src(four_slots_at(1)); in DEF_TEST()
72 builder.load_dst(four_slots_at(3)); in DEF_TEST()
73 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/10, in DEF_TEST()
92 SkSL::RP::Builder builder; in DEF_TEST() local
94 REPORTER_ASSERT(r, !builder.executionMaskWritesAreEnabled()); in DEF_TEST()
95 builder.enableExecutionMaskWrites(); in DEF_TEST()
96 REPORTER_ASSERT(r, builder.executionMaskWritesAreEnabled()); in DEF_TEST()
98 builder.push_condition_mask(); // push into 0 in DEF_TEST()
99 builder.push_loop_mask(); // push into 1 in DEF_TEST()
100 builder.push_return_mask(); // push into 2 in DEF_TEST()
101 builder.merge_condition_mask(); // set the condition-mask to 1 & 2 in DEF_TEST()
102 builder.merge_inv_condition_mask(); // set the condition-mask to 1 & ~2 in DEF_TEST()
103 builder.pop_condition_mask(); // pop from 2 in DEF_TEST()
104 builder.merge_loop_mask(); // mask off the loop-mask against 1 in DEF_TEST()
105 builder.push_condition_mask(); // push into 2 in DEF_TEST()
106 builder.pop_condition_mask(); // pop from 2 in DEF_TEST()
107 builder.pop_loop_mask(); // pop from 1 in DEF_TEST()
108 builder.pop_return_mask(); // pop from 0 in DEF_TEST()
109 builder.push_condition_mask(); // push into 0 in DEF_TEST()
110 builder.pop_and_reenable_loop_mask(); // pop from 0 in DEF_TEST()
112 REPORTER_ASSERT(r, builder.executionMaskWritesAreEnabled()); in DEF_TEST()
113 builder.disableExecutionMaskWrites(); in DEF_TEST()
114 REPORTER_ASSERT(r, !builder.executionMaskWritesAreEnabled()); in DEF_TEST()
116 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
139 SkSL::RP::Builder builder; in DEF_TEST() local
141 builder.push_constant_i(123); // push a test value in DEF_TEST()
142 builder.push_constant_i(~0); // push an all-on default mask in DEF_TEST()
143 builder.case_op(123); // do `case 123:` in DEF_TEST()
144 builder.case_op(124); // do `case 124:` in DEF_TEST()
145 builder.discard_stack(2); in DEF_TEST()
147 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
160 SkSL::RP::Builder builder; in DEF_TEST() local
162 builder.push_src_rgba(); in DEF_TEST()
163 builder.push_dst_rgba(); in DEF_TEST()
164 builder.pop_src_rgba(); in DEF_TEST()
165 builder.exchange_src(); in DEF_TEST()
166 builder.exchange_src(); in DEF_TEST()
167 builder.exchange_src(); in DEF_TEST()
168 builder.pop_dst_rgba(); in DEF_TEST()
170 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
184 SkSL::RP::Builder builder; in DEF_TEST() local
186 builder.invoke_shader(1); in DEF_TEST()
187 builder.invoke_color_filter(2); in DEF_TEST()
188 builder.invoke_blender(3); in DEF_TEST()
190 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
202 SkSL::RP::Builder builder; in DEF_TEST() local
203 builder.set_current_stack(1); in DEF_TEST()
204 builder.push_constant_i(999); // push into 2 in DEF_TEST()
205 builder.set_current_stack(0); in DEF_TEST()
206 builder.push_constant_f(13.5f); // push into 0 in DEF_TEST()
207 builder.push_clone_from_stack(one_slot_at(0), /*otherStackID=*/1, /*offsetFromStackTop=*/1); in DEF_TEST()
209 builder.discard_stack(1); // discard 2 in DEF_TEST()
210 builder.push_constant_u(357); // push into 2 in DEF_TEST()
211 builder.set_current_stack(1); in DEF_TEST()
212 builder.push_clone_from_stack(one_slot_at(0), /*otherStackID=*/0, /*offsetFromStackTop=*/1); in DEF_TEST()
214 builder.discard_stack(2); // discard 2 and 3 in DEF_TEST()
215 builder.set_current_stack(0); in DEF_TEST()
216 builder.push_constant_f(1.2f); // push into 2 in DEF_TEST()
217 builder.pad_stack(3); // pad slots 3,4,5 in DEF_TEST()
218 builder.push_constant_f(3.4f); // push into 6 in DEF_TEST()
219 builder.discard_stack(7); // discard 0 through 6 in DEF_TEST()
220 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/1, in DEF_TEST()
232 SkSL::RP::Builder builder; in DEF_TEST() local
233 builder.set_current_stack(1); in DEF_TEST()
234 builder.push_constant_i(3); in DEF_TEST()
235 builder.set_current_stack(0); in DEF_TEST()
236 builder.push_slots_indirect(two_slots_at(0), /*dynamicStack=*/1, ten_slots_at(0)); in DEF_TEST()
237 builder.push_slots_indirect(four_slots_at(10), /*dynamicStack=*/1, ten_slots_at(10)); in DEF_TEST()
238 builder.push_uniform_indirect(one_slot_at(0), /*dynamicStack=*/1, five_slots_at(0)); in DEF_TEST()
239 builder.push_uniform_indirect(three_slots_at(5), /*dynamicStack=*/1, five_slots_at(5)); in DEF_TEST()
240 builder.swizzle_copy_stack_to_slots_indirect(three_slots_at(6), /*dynamicStackID=*/1, in DEF_TEST()
243 builder.copy_stack_to_slots_indirect(three_slots_at(4), /*dynamicStackID=*/1, ten_slots_at(0)); in DEF_TEST()
244 builder.pop_slots_indirect(five_slots_at(0), /*dynamicStackID=*/1, ten_slots_at(0)); in DEF_TEST()
245 builder.pop_slots_indirect(five_slots_at(10), /*dynamicStackID=*/1, ten_slots_at(10)); in DEF_TEST()
246 builder.set_current_stack(1); in DEF_TEST()
247 builder.discard_stack(1); in DEF_TEST()
248 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/20, in DEF_TEST()
266 SkSL::RP::Builder builder; in DEF_TEST() local
267 builder.copy_slots_masked(two_slots_at(0), two_slots_at(2)); in DEF_TEST()
268 builder.copy_slots_masked(four_slots_at(1), four_slots_at(5)); in DEF_TEST()
269 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/9, in DEF_TEST()
280 SkSL::RP::Builder builder; in DEF_TEST() local
281 builder.copy_slots_unmasked(three_slots_at(0), three_slots_at(2)); in DEF_TEST()
282 builder.copy_slots_unmasked(five_slots_at(1), five_slots_at(5)); in DEF_TEST()
283 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/10, in DEF_TEST()
295 SkSL::RP::Builder builder; in DEF_TEST() local
296 builder.push_slots(four_slots_at(10)); // push from 10~13 into $0~$3 in DEF_TEST()
297 builder.copy_stack_to_slots(one_slot_at(5), 3); // copy from $1 into 5 in DEF_TEST()
298 builder.pop_slots_unmasked(two_slots_at(20)); // pop from $2~$3 into 20~21 (unmasked) in DEF_TEST()
299 builder.enableExecutionMaskWrites(); in DEF_TEST()
300 builder.copy_stack_to_slots_unmasked(one_slot_at(4), 2); // copy from $0 into 4 in DEF_TEST()
301 builder.push_slots(three_slots_at(30)); // push from 30~32 into $2~$4 in DEF_TEST()
302 builder.pop_slots(five_slots_at(0)); // pop from $0~$4 into 0~4 (masked) in DEF_TEST()
303 builder.disableExecutionMaskWrites(); in DEF_TEST()
305 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/50, in DEF_TEST()
321 SkSL::RP::Builder builder; in DEF_TEST() local
322 builder.push_constant_f(1.0f); // push into 0 in DEF_TEST()
323 builder.push_duplicates(1); // duplicate into 1 in DEF_TEST()
324 builder.push_duplicates(2); // duplicate into 2~3 in DEF_TEST()
325 builder.push_duplicates(3); // duplicate into 4~6 in DEF_TEST()
326 builder.push_duplicates(5); // duplicate into 7~11 in DEF_TEST()
327 builder.select(4); // select from 4~7 and 8~11 into 4~7 in DEF_TEST()
328 builder.select(3); // select from 2~4 and 5~7 into 2~4 in DEF_TEST()
329 builder.select(1); // select from 3 and 4 into 3 in DEF_TEST()
330 builder.swizzle_copy_stack_to_slots(four_slots_at(1), {3, 2, 1, 0}, 4); in DEF_TEST()
331 builder.swizzle_copy_stack_to_slots(four_slots_at(0), {0, 1, 3}, 3); in DEF_TEST()
332 builder.swizzle(4, {3, 2, 1, 0}); // reverse the order of 0~3 (value.wzyx) in DEF_TEST()
333 builder.swizzle(4, {1, 2}); // eliminate elements 0 and 3 (value.yz) in DEF_TEST()
334 builder.swizzle(2, {0}); // eliminate element 1 (value.x) in DEF_TEST()
335 builder.discard_stack(1); // balance stack in DEF_TEST()
336 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/6, in DEF_TEST()
355 SkSL::RP::Builder builder; in DEF_TEST() local
356 builder.push_constant_f(1.0f); // push into 0 in DEF_TEST()
357 builder.push_duplicates(15); // duplicate into 1~15 in DEF_TEST()
358 builder.transpose(2, 2); // transpose a 2x2 matrix in DEF_TEST()
359 builder.transpose(3, 3); // transpose a 3x3 matrix in DEF_TEST()
360 builder.transpose(4, 4); // transpose a 4x4 matrix in DEF_TEST()
361 builder.transpose(2, 4); // transpose a 2x4 matrix in DEF_TEST()
362 builder.transpose(4, 3); // transpose a 4x3 matrix in DEF_TEST()
363 builder.discard_stack(16); // balance stack in DEF_TEST()
364 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
382 SkSL::RP::Builder builder; in DEF_TEST() local
383 builder.push_constant_f(0.0f); // push into 0 in DEF_TEST()
384 builder.push_constant_f(1.0f); // push into 1 in DEF_TEST()
385 builder.diagonal_matrix(2, 2); // generate a 2x2 diagonal matrix in DEF_TEST()
386 builder.discard_stack(4); // balance stack in DEF_TEST()
387 builder.push_constant_f(0.0f); // push into 0 in DEF_TEST()
388 builder.push_constant_f(2.0f); // push into 1 in DEF_TEST()
389 builder.diagonal_matrix(4, 4); // generate a 4x4 diagonal matrix in DEF_TEST()
390 builder.discard_stack(16); // balance stack in DEF_TEST()
391 builder.push_constant_f(0.0f); // push into 0 in DEF_TEST()
392 builder.push_constant_f(3.0f); // push into 1 in DEF_TEST()
393 builder.diagonal_matrix(2, 3); // generate a 2x3 diagonal matrix in DEF_TEST()
394 builder.discard_stack(6); // balance stack in DEF_TEST()
395 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
413 SkSL::RP::Builder builder; in DEF_TEST() local
414 builder.push_constant_f(1.0f); // synthesize a 2x2 matrix in DEF_TEST()
415 builder.push_constant_f(2.0f); in DEF_TEST()
416 builder.push_constant_f(3.0f); in DEF_TEST()
417 builder.push_constant_f(4.0f); in DEF_TEST()
418 builder.matrix_resize(2, 2, 4, 4); // resize 2x2 matrix into 4x4 in DEF_TEST()
419 builder.matrix_resize(4, 4, 2, 2); // resize 4x4 matrix back into 2x2 in DEF_TEST()
420 builder.matrix_resize(2, 2, 2, 4); // resize 2x2 matrix into 2x4 in DEF_TEST()
421 builder.matrix_resize(2, 4, 4, 2); // resize 2x4 matrix into 4x2 in DEF_TEST()
422 builder.matrix_resize(4, 2, 3, 3); // resize 4x2 matrix into 3x3 in DEF_TEST()
423 builder.discard_stack(9); // balance stack in DEF_TEST()
424 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
523 SkSL::RP::Builder builder; in DEF_TEST() local
524 int label1 = builder.nextLabelID(); in DEF_TEST()
525 int label2 = builder.nextLabelID(); in DEF_TEST()
526 int label3 = builder.nextLabelID(); in DEF_TEST()
527 int label4 = builder.nextLabelID(); in DEF_TEST()
530 builder.enableExecutionMaskWrites(); in DEF_TEST()
533 builder.jump(label4); in DEF_TEST()
534 builder.label(label1); in DEF_TEST()
535 builder.zero_slots_unmasked(one_slot_at(0)); in DEF_TEST()
536 builder.label(label2); in DEF_TEST()
537 builder.zero_slots_unmasked(one_slot_at(1)); in DEF_TEST()
538 builder.branch_if_no_lanes_active(label2); in DEF_TEST()
539 builder.branch_if_no_lanes_active(label3); in DEF_TEST()
540 builder.branch_if_all_lanes_active(label1); in DEF_TEST()
541 builder.label(label3); in DEF_TEST()
542 builder.zero_slots_unmasked(one_slot_at(2)); in DEF_TEST()
543 builder.branch_if_any_lanes_active(label1); in DEF_TEST()
544 builder.branch_if_any_lanes_active(label1); in DEF_TEST()
545 builder.label(label4); in DEF_TEST()
546 builder.branch_if_no_active_lanes_on_stack_top_equal(0, label3); in DEF_TEST()
547 builder.branch_if_no_active_lanes_on_stack_top_equal(0, label2); in DEF_TEST()
548 builder.branch_if_no_active_lanes_on_stack_top_equal(1, label1); in DEF_TEST()
549 builder.branch_if_no_active_lanes_on_stack_top_equal(1, label4); in DEF_TEST()
552 builder.disableExecutionMaskWrites(); in DEF_TEST()
555 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/3, in DEF_TEST()
566 SkSL::RP::Builder builder; in DEF_TEST() local
567 int label1 = builder.nextLabelID(); in DEF_TEST()
568 builder.push_constant_f(10.0f); in DEF_TEST()
569 builder.label(label1); in DEF_TEST()
570 builder.push_constant_f(20.0f); in DEF_TEST()
571 builder.invoke_shader(9); in DEF_TEST()
572 builder.push_constant_f(30.0f); in DEF_TEST()
573 builder.discard_stack(3); in DEF_TEST()
574 builder.branch_if_any_lanes_active(label1); in DEF_TEST()
576 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/3, in DEF_TEST()
590 SkSL::RP::Builder builder; in DEF_TEST() local
591 int label1 = builder.nextLabelID(); in DEF_TEST()
592 builder.push_constant_f(10.0f); in DEF_TEST()
593 builder.invoke_shader(9); in DEF_TEST()
594 builder.push_constant_f(20.0f); in DEF_TEST()
595 builder.label(label1); in DEF_TEST()
596 builder.push_constant_f(30.0f); in DEF_TEST()
597 builder.discard_stack(3); in DEF_TEST()
598 builder.branch_if_any_lanes_active(label1); in DEF_TEST()
600 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/3, in DEF_TEST()
626 SkSL::RP::Builder builder; in DEF_TEST() local
627 builder.push_constant_f(10.0f); in DEF_TEST()
628 builder.push_duplicates(30); in DEF_TEST()
629 builder.binary_op(BuilderOp::add_n_floats, 1); in DEF_TEST()
630 builder.binary_op(BuilderOp::sub_n_floats, 2); in DEF_TEST()
631 builder.binary_op(BuilderOp::mul_n_floats, 3); in DEF_TEST()
632 builder.binary_op(BuilderOp::div_n_floats, 4); in DEF_TEST()
633 builder.binary_op(BuilderOp::max_n_floats, 3); in DEF_TEST()
634 builder.binary_op(BuilderOp::min_n_floats, 2); in DEF_TEST()
635 builder.binary_op(BuilderOp::cmplt_n_floats, 5); in DEF_TEST()
636 builder.binary_op(BuilderOp::cmple_n_floats, 4); in DEF_TEST()
637 builder.binary_op(BuilderOp::cmpeq_n_floats, 3); in DEF_TEST()
638 builder.binary_op(BuilderOp::cmpne_n_floats, 2); in DEF_TEST()
639 builder.discard_stack(2); in DEF_TEST()
640 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
668 SkSL::RP::Builder builder; in DEF_TEST() local
669 builder.push_constant_i(123); in DEF_TEST()
670 builder.push_duplicates(40); in DEF_TEST()
671 builder.binary_op(BuilderOp::bitwise_and_n_ints, 1); in DEF_TEST()
672 builder.binary_op(BuilderOp::bitwise_xor_n_ints, 2); in DEF_TEST()
673 builder.binary_op(BuilderOp::bitwise_or_n_ints, 3); in DEF_TEST()
674 builder.binary_op(BuilderOp::add_n_ints, 2); in DEF_TEST()
675 builder.binary_op(BuilderOp::sub_n_ints, 3); in DEF_TEST()
676 builder.binary_op(BuilderOp::mul_n_ints, 4); in DEF_TEST()
677 builder.binary_op(BuilderOp::div_n_ints, 5); in DEF_TEST()
678 builder.binary_op(BuilderOp::max_n_ints, 4); in DEF_TEST()
679 builder.binary_op(BuilderOp::min_n_ints, 3); in DEF_TEST()
680 builder.binary_op(BuilderOp::cmplt_n_ints, 1); in DEF_TEST()
681 builder.binary_op(BuilderOp::cmple_n_ints, 2); in DEF_TEST()
682 builder.binary_op(BuilderOp::cmpeq_n_ints, 3); in DEF_TEST()
683 builder.binary_op(BuilderOp::cmpne_n_ints, 4); in DEF_TEST()
684 builder.discard_stack(4); in DEF_TEST()
685 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
718 SkSL::RP::Builder builder; in DEF_TEST() local
719 builder.push_constant_u(456); in DEF_TEST()
720 builder.push_duplicates(21); in DEF_TEST()
721 builder.binary_op(BuilderOp::div_n_uints, 6); in DEF_TEST()
722 builder.binary_op(BuilderOp::cmplt_n_uints, 5); in DEF_TEST()
723 builder.binary_op(BuilderOp::cmple_n_uints, 4); in DEF_TEST()
724 builder.binary_op(BuilderOp::max_n_uints, 3); in DEF_TEST()
725 builder.binary_op(BuilderOp::min_n_uints, 2); in DEF_TEST()
726 builder.discard_stack(2); in DEF_TEST()
727 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
748 SkSL::RP::Builder builder; in DEF_TEST() local
749 builder.push_constant_i(456); in DEF_TEST()
750 builder.push_duplicates(4); in DEF_TEST()
751 builder.unary_op(BuilderOp::cast_to_float_from_int, 1); in DEF_TEST()
752 builder.unary_op(BuilderOp::cast_to_float_from_uint, 2); in DEF_TEST()
753 builder.unary_op(BuilderOp::cast_to_int_from_float, 3); in DEF_TEST()
754 builder.unary_op(BuilderOp::cast_to_uint_from_float, 4); in DEF_TEST()
755 builder.unary_op(BuilderOp::cos_float, 4); in DEF_TEST()
756 builder.unary_op(BuilderOp::tan_float, 3); in DEF_TEST()
757 builder.unary_op(BuilderOp::sin_float, 2); in DEF_TEST()
758 builder.unary_op(BuilderOp::sqrt_float, 1); in DEF_TEST()
759 builder.unary_op(BuilderOp::abs_int, 2); in DEF_TEST()
760 builder.unary_op(BuilderOp::floor_float, 3); in DEF_TEST()
761 builder.unary_op(BuilderOp::ceil_float, 4); in DEF_TEST()
762 builder.discard_stack(5); in DEF_TEST()
763 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
793 SkSL::RP::Builder builder; in DEF_TEST() local
794 builder.push_uniform(one_slot_at(0)); // push into 0 in DEF_TEST()
795 builder.push_uniform(two_slots_at(1)); // push into 1~2 in DEF_TEST()
796 builder.push_uniform(three_slots_at(3)); // push into 3~5 in DEF_TEST()
797 builder.push_uniform(four_slots_at(6)); // push into 6~9 in DEF_TEST()
798 builder.push_uniform(five_slots_at(0)); // push into 10~14 in DEF_TEST()
799 builder.unary_op(BuilderOp::abs_int, 1); // perform work so the program isn't eliminated in DEF_TEST()
800 builder.discard_stack(15); // balance stack in DEF_TEST()
801 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
818 SkSL::RP::Builder builder; in DEF_TEST() local
819 builder.push_zeros(1); // push into 0 in DEF_TEST()
820 builder.push_zeros(2); // push into 1~2 in DEF_TEST()
821 builder.push_zeros(3); // push into 3~5 in DEF_TEST()
822 builder.push_zeros(4); // push into 6~9 in DEF_TEST()
823 builder.push_zeros(5); // push into 10~14 in DEF_TEST()
824 builder.unary_op(BuilderOp::abs_int, 1); // perform work so the program isn't eliminated in DEF_TEST()
825 builder.discard_stack(15); // balance stack in DEF_TEST()
826 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
841 SkSL::RP::Builder builder; in DEF_TEST() local
842 builder.push_constant_f(0.75f); in DEF_TEST()
843 builder.push_duplicates(8); in DEF_TEST()
844 builder.ternary_op(BuilderOp::mix_n_floats, 3); in DEF_TEST()
845 builder.discard_stack(3); in DEF_TEST()
846 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
860 SkSL::RP::Builder builder; in DEF_TEST() local
861 builder.push_constant_i(1); in DEF_TEST()
862 builder.push_duplicates(2000); in DEF_TEST()
863 builder.unary_op(BuilderOp::abs_int, 1); // perform work so the program isn't eliminated in DEF_TEST()
864 builder.discard_stack(2001); in DEF_TEST()
865 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/0, in DEF_TEST()
882 SkSL::RP::Builder builder; in DEF_TEST() local
884 builder.set_current_stack(123); in DEF_TEST()
885 builder.push_constant_i(~0); in DEF_TEST()
887 builder.trace_enter(123, 2); in DEF_TEST()
888 builder.trace_scope(123, +1); in DEF_TEST()
889 builder.trace_line(123, 456); in DEF_TEST()
890 builder.trace_var(123, two_slots_at(3)); in DEF_TEST()
891 builder.trace_scope(123, -1); in DEF_TEST()
892 builder.trace_exit(123, 2); in DEF_TEST()
894 builder.discard_stack(1); in DEF_TEST()
898 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/20, in DEF_TEST()
927 std::unique_ptr<SkSL::RP::Program> program = builder.finish(/*numValueSlots=*/20, in DEF_TEST()