Currently, we are starting a pass for each slice of the WR pass, so that we can select the render target. This incurs a lot of overhead, since switching a render pass is heavy.
What we could do in Metal, on some hardware, is binding the whole array as a destination, and selecting the target slice in the vertex shader:
Currently, we are starting a pass for each slice of the WR pass, so that we can select the render target. This incurs a lot of overhead, since switching a render pass is heavy.
What we could do in Metal, on some hardware, is binding the whole array as a destination, and selecting the target slice in the vertex shader:
How exactly this would map to Vulkan, or the gfx-hal API, is another question. But in theory, we should be able to make it fast on Metal, at least.
@jrmuizel