| 641 | } |
| 642 | |
| 643 | static kernel_func_wrapper make_callable_kernel_function(const void* kernel_ptr, const vector<const void*>& vptr_args) { |
| 644 | switch (vptr_args.size()) { |
| 645 | case 0: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 0u> {}); |
| 646 | case 1: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 1u> {}); |
| 647 | case 2: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 2u> {}); |
| 648 | case 3: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 3u> {}); |
| 649 | case 4: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 4u> {}); |
| 650 | case 5: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 5u> {}); |
| 651 | case 6: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 6u> {}); |
| 652 | case 7: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 7u> {}); |
| 653 | case 8: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 8u> {}); |
| 654 | case 9: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 9u> {}); |
| 655 | case 10: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 10u> {}); |
| 656 | case 11: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 11u> {}); |
| 657 | case 12: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 12u> {}); |
| 658 | case 13: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 13u> {}); |
| 659 | case 14: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 14u> {}); |
| 660 | case 15: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 15u> {}); |
| 661 | case 16: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 16u> {}); |
| 662 | case 17: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 17u> {}); |
| 663 | case 18: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 18u> {}); |
| 664 | case 19: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 19u> {}); |
| 665 | case 20: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 20u> {}); |
| 666 | case 21: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 21u> {}); |
| 667 | case 22: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 22u> {}); |
| 668 | case 23: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 23u> {}); |
| 669 | case 24: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 24u> {}); |
| 670 | case 25: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 25u> {}); |
| 671 | case 26: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 26u> {}); |
| 672 | case 27: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 27u> {}); |
| 673 | case 28: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 28u> {}); |
| 674 | case 29: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 29u> {}); |
| 675 | case 30: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 30u> {}); |
| 676 | case 31: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 31u> {}); |
| 677 | case 32: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 32u> {}); |
| 678 | default: |
| 679 | log_error("too many kernel parameters specified (only up to 32 parameters are supported)"); |
| 680 | return {}; |
| 681 | } |
| 682 | } |
| 683 | |
| 684 | FLOOR_POP_WARNINGS() |
| 685 |
no test coverage detected