If it is possible, will be efficient to blend something like 10–20 channels at the same time?
My task is to create some kind of screen with dynamic holes which will cover the objects behind it.
I think you would be better served by creating a texture on the CPU. Just keep a list of “holes” and re-paint the texture when holes are added/removed. It’s possible to do this very efficiently by just re-painting the region of the hole.
If you go down this route - there is no theoretical limit on number of holes as long as you don’t run out of memory