Support for Multiple swapchains

In order to be OpenXR compliant, does the runtime need to support multiple swapchains, or can we just support a single swapchain?

You most definitely need to support any arbitrary number of swapchains.

Some apps may use up to 5, for example 2 for eye color, 2 for depth and 1 for an overlay (quad).

Besides a little more housekeeping, supporting any number of swapchains shouldn’t be a big challenge if you already support one.

Okay, thank you, I’ll work on that! somehow the runtime we made was able to pass the compliancy test with only one supported, is that expected?

Thats a little surprising. I think the interactive/composition tests wouldn’t pass, one of them does 1 swapchain per eye. Just like hello_xr, the first OpenXR sample.

It should be impossible to pass any of the interactive tests, they each have a projection layer and (possibly multiple) quad layers with text (each of which is their own static swapchain).

How exactly did you have “only one supported” - did you return ERROR_LIMIT_REACHED after the first call? return success anyway but return the same handle? something else?

I want to make sure we update the CTS so that it doesn’t happen again :smiley: