The appears to make canvas compatible pipelines, then when the xrSession starts, if check if the xr preferred format is the same as the existing format. If not it calls initWebGPU to make new pipelines. But initWebGPU always uses the canvas's preferred format