visionOS: Report the logical size as the render target size


With foveation enabled, visionOS 27 allocates the drawable textures at
the physical (foveated) size, while the rasterization rate map's screen
size and the view viewports are the larger logical size. Metal
interprets viewports and scissors in the logical space when a rate map
is attached, but QRhi, Qt Quick and Quick3D derive them from the render
target's pixel size. The result was content clipped and scaled down to
the top left part of each eye.

Report the logical size, the view's viewport in the drawable's texture,
as the size of the render target wrappers for the color and depth
textures. Metal only cares about the actual textures, so rendering is
unaffected, and everything derived from the render target size ends up
in the coordinate space Metal expects.

Fixes: QTBUG-150753
Pick-to: 6.12 6.12.0
Change-Id: Ia403dda48eaec07bae18ac2bbbb5b8e9ceb9713d
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
commit74c13236be43ee9b0782dba177eb4517dfffb7df
parent8396e7d2219a176931a85908c421f5f5077f07d0
authorChristian Strømme <christian.stromme@qt.io>
committerChristian Strømme <christian.stromme@qt.io>
commit timeFri, 25 Sep 2026 15:28:32 +0000