* @param {Kernel} kernel * @param {IArguments} args * @returns GPUVariableType[]
(kernel, args)
| 866 | * @returns GPUVariableType[] |
| 867 | */ |
| 868 | static getArgumentTypes(kernel, args) { |
| 869 | const argumentTypes = new Array(args.length); |
| 870 | for (let i = 0; i < args.length; i++) { |
| 871 | const arg = args[i]; |
| 872 | const type = kernel.argumentTypes[i]; |
| 873 | if (arg.type) { |
| 874 | argumentTypes[i] = arg.type; |
| 875 | } else { |
| 876 | switch (type) { |
| 877 | case 'Number': |
| 878 | case 'Integer': |
| 879 | case 'Float': |
| 880 | case 'ArrayTexture(1)': |
| 881 | argumentTypes[i] = utils.getVariableType(arg); |
| 882 | break; |
| 883 | default: |
| 884 | argumentTypes[i] = type; |
| 885 | } |
| 886 | } |
| 887 | } |
| 888 | return argumentTypes; |
| 889 | } |
| 890 | |
| 891 | /** |
| 892 | * |
no test coverage detected