Closed Bug 1838781 Opened 9 months ago Closed 8 months ago

gfx.webrender.super-resolution.nvidia not working despite enabling it

Categories

(Core :: Graphics: WebRender, defect)

Firefox 114
defect

Tracking

()

RESOLVED FIXED
116 Branch
Tracking Status
firefox116 --- fixed

People

(Reporter: fetiha5628, Assigned: canadahonk)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0

Steps to reproduce:

  1. Go to about:config
  2. Find gfx.webrender.super-resolution.nvidia and set it to true
  3. Restart firefox
  4. Watch youtube video to see difference (https://www.youtube.com/watch?v=YE7VzlLtp-4)

Actual results:

Video is not sharpened. I did screenshots comparing before and after and there is no difference. I have 3070 and proper configuration in driver, sharpening quality set to 4.

In microsoft edge - everything is working fine without setting anything up, however sharpening is pretty weak. It is enough to notice undeniable difference when comparing screenshots.

Gallery of images: https://imgur.com/a/pDIzndZ
Order of images is: off firefox, on firefox (not sharpened), off edge, on edge (sharpened).

Expected results:

Video should be sharpened using Nvidia Super Resoltution technology.
I am not entriely sure on which videos will it work, so I used test video which edge articles were using (big buck bunny 720p without ability to select 1080p on YT).

According to nvidia (https://nvidia.custhelp.com/app/answers/detail/a_id/5448/~/rtx-video-super-resolution-faq):

Q: Does video need to be played at full screen for RTX Video Super Resolution to work properly?
A: No. As long as video needs to be upscaled beyond its native resolution, RTX Video Super Resolution will enhance video in a window.

Q: Will RTX Video Super Resolution be enabled if video is displayed at native/lower resolution? Does RTX Video Super Resolution enhance downscaling?
A: No, RTX Video Super Resolution will only be enabled if the video requires upscaling.

I attach screenshots with setting enabled and disabled. In edge I had to disable it in my driver because there are no settings for it in browser itself.

The Bugbug bot thinks this bug should belong to the 'Core::Graphics: WebRender' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Graphics: WebRender
Product: Firefox → Core
Depends on: 1823135
Flags: needinfo?(oj)
Severity: -- → S3

Initial implementation was not completely tested (just my setup mostly), so not that surprised it might not work for everyone yet (hence behind pref). Will investigate further, thanks for report and NI.

Flags: needinfo?(oj)
Assignee: nobody → oj
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

I edited file:

gfx\webrender_bindings\DCLayerTree.cpp

At line #1379, I changed code from:

struct {
    UINT version;
    UINT method;
    UINT enable;
  } streamExtensionInfo = {nvExtensionVersion, nvExtensionMethodSuperResolution,
                           enabled ?  0 : 1u};

to:

struct {
    UINT version;
    UINT method;
    UINT enable;
  } streamExtensionInfo = {nvExtensionVersion, nvExtensionMethodSuperResolution,
                           enabled ? 1u : 0};

Resolution scaling works on my system after making this change.
I'm using RTX 3080 Ti.

Oh whoops, not sure how that happened. Will submit a fix, thanks for the find.

Previously was setting inverse of enabled incorrectly. (oops)

Pushed by oj@oojmed.com:
https://hg.mozilla.org/integration/autoland/rev/16f8d24bed8d
Fix NVIDIA super resolution activation r=gfx-reviewers,jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → 116 Branch
You need to log in before you can comment on or make changes to this bug.