some optimizations to ocl::blend