Can VRS and Multiview works together?


Can variable rate shading (VRS) works together with multiview rendering (MVR)?

The project we were doing is to render 2 textures for two eye and then send it to HMD.
In detail, we rendered two textures in one draw for two eyes using MVR, by sending matrices and geometry once.

This time, we want to further reduce the usage of fragment shader by using VRS.
Thus, the rendering should accept different VRS Surface for each eye, and the surface should be taken to VRS pipeline while doing MVR rendering.

Is this possible in current API?


in all APIs except for DX12 you can set a different VRS image (“shading rate image”) per layer of an image array. This way you can perform MVR into the different layers and combine VRS and MVR. DX12 however only allows for one shading rate image to be set, so you would have to combine the shading rates of both eyes into one image.