Reduce code size by using std::function.

Previously, `evaluate_intrinsic_1_of_type` and related functions were
all templated on the lambda expression of each evaluation function, so
every intrinsic generated a copy of each function. In most cases this
could be replaced by a std::function which takes and returns a float,
bool or SKSL_INT. (This level of flexibility was only truly necessary
for `evaluate_intrinsic_numeric1`.)

Change-Id: I2a4bd5984d74bb97bffd31018c9cf3dba17e8450
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412056
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
1 file changed