Tests a bunch of different use cases, including one that can be directly supported via Vulkan multiview, dynamic view masks, layer/viewport export from both VS and GS, as well as a very simple mesh shader test (task shaders do not support ViewID in either API).
Only major thing this doesn't test right now is interations with VRS; this needs some exploring w.r.t. whether D3D12 even allows layered VRS images, everything else should behave as expected.
Status:
WARP: Passes.
AMD:
Broken layer export from vertex shader only when per-view layer indices are sequential.
Seems to forget that Mesh Shaders even exist; only renders to first layer in that case.
Nvidia: ...don't ask.
This does not test specifics of Tier 3 behaviour since they don't seem interesting to us, and it's difficult to observe anyway, since e.g. VS UAV writes already don't have a strong guarantee on how many times we end up running them.
Also doesn't text xfb since using multiview with xfb just seems conceptually broken, Vulkan bans it outright for this reason.
Tests a bunch of different use cases, including one that can be directly supported via Vulkan multiview, dynamic view masks, layer/viewport export from both VS and GS, as well as a very simple mesh shader test (task shaders do not support ViewID in either API).
Only major thing this doesn't test right now is interations with VRS; this needs some exploring w.r.t. whether D3D12 even allows layered VRS images, everything else should behave as expected.
Status:
This does not test specifics of Tier 3 behaviour since they don't seem interesting to us, and it's difficult to observe anyway, since e.g. VS UAV writes already don't have a strong guarantee on how many times we end up running them.
Also doesn't text xfb since using multiview with xfb just seems conceptually broken, Vulkan bans it outright for this reason.