Summary: | [WebXR] Recommended framebuffer width incorrectly scaled | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Dean Jackson <dino> | ||||
Component: | WebXR | Assignee: | Dean Jackson <dino> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | adachan, ifernandez, sam, thorton, webkit-bug-importer | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Dean Jackson
2021-05-28 17:34:34 PDT
Created attachment 430080 [details]
Patch
Committed r278255 (238292@main): <https://commits.webkit.org/238292@main> >
> Note also: "best estimate". Currently the dimensions of the framebuffer are
> set once as the WebGLLayer is created. I think it should be checked each
> frame. For example, the headset might be under load and start providing
> smaller textures for rendering.
The spec supports Dynamic viewport scaling. The benefit is that you can change the resolution on a per-frame basis without reallocating the WebGLLayer framebuffer.
Right now we return nullop in WebXRView::recommendedViewportScale, so always the full viewport is used. If you have a a heuristic to determine the recommended scale per frame you can implement it already on the cocoa platform. For this to work the underlying SDK should support setting the UV rect when submitting the frame to the headset.
|