Open Bug 1553956 Opened 6 years ago Updated 3 years ago

Using `QCOM_texture_foveated` extension to do foveated rendering in WebGL FBO

Categories

(Core :: WebVR, task)

ARM
Android
task

Tracking

()

People

(Reporter: daoshengmu, Unassigned)

References

()

Details

Attachments

(3 files)

On some standalone VR headsets with use Qualcomm chipsets, they have ability to use this OpenGL extension, QCOM_texture_foveated. [1] That means we can use this hardware accelerated extension to do foveated rendering in OpenGL context.

In our FxR standalone WebVR rendering pipeline, our rendering texture in the immersive mode is a copy of WebGL mDefaultFB. Ideally, we should make the color texture of this mDefaultFB to be a foveated texture then sharing this texture to FxR.

[1] https://www.khronos.org/registry/OpenGL/extensions/QCOM/QCOM_texture_foveated.txt

MozReview-Commit-ID: 4CMIW9F4k9X

MozReview-Commit-ID: JoUwH5fZey3

This is WIP patches. It is trying to support Foveated Rendering in WebVR immersive mode. Currently, I am using WebGL screenbuffer to confirm if Foveated Rendering if it works in WebGL context on Oculus Go headset. There is an issue at my current patches is when resizing the screensize, I need to resize the foveated texture, otherwise it will happen GL_Errror().

This patch is a prototype for foveated rendering, and it only works when disable MSAA. For the case of using MSAA, I have tried to replace render buffer object with a color texture target that will bind to the framebuffer. However, I still can't see there is any difference when enabling foveated rendering. Even though it works in MSAA, we still have no plan to replace our current render buffer object approach. So, I will be back to work on this once we decide to use the color texture target MSAA approach,

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: