Closed Bug 1577013 Opened 5 years ago Closed 4 years ago

Windows 7 "GPU" reftests (Rg1, Rg2) are run without acceleration on GPU machines

Categories

(Core :: Graphics, task, P3)

All
Windows 7
task

Tracking

()

RESOLVED FIXED
90 Branch
Tracking Status
firefox90 --- fixed

People

(Reporter: mstange, Assigned: jrmuizel)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

Example mozilla-central push

All the Rg jobs on treeherder have "layersGPUAccelerated":false in their reftest environment. But their WorkerType (in the task cluster task details) is gecko-t-win7-32-gpu.
It looks like we're paying for a GPU but not using it.

Full reftest JSON sandbox:

{
  "isDebugBuild": true,
  "xulRuntime": {
    "widgetToolkit": "windows",
    "OS": "WINNT",
    "XPCOMABI": "x86-msvc"
  },
  "smallScreen": false,
  "d2d": false,
  "dwrite": true,
  "gpuProcess": true,
  "azureCairo": false,
  "azureSkia": true,
  "skiaContent": true,
  "azureSkiaGL": false,
  "contentSameGfxBackendAsCanvas": true,
  "layersGPUAccelerated": false,
  "d3d11": false,
  "d3d9": false,
  "layersOpenGL": false,
  "webrender": false,
  "layersOMTC": true,
  "advancedLayers": false,
  "layerChecksEnabled": true,
  "retainedDisplayList": true,
  "usesOverlayScrollbars": false,
  "Android": false,
  "cocoaWidget": false,
  "gtkWidget": false,
  "qtWidget": false,
  "winWidget": true,
  "is64Bit": false,
  "geckoview": false,
  "transparentScrollbars": false,
  "AddressSanitizer": false,
  "webrtc": true,
  "retainedDisplayLists": true,
  "compareRetainedDisplayLists": false,
  "skiaPdf": false,
  "release_or_beta": false,
  "http": {
    "userAgent": "Mozilla/5.0 (Windows NT 6.1; rv:70.0) Gecko/20100101 Firefox/70.0",
    "appName": "Mozilla",
    "appVersion": "5.0",
    "platform": "Windows",
    "oscpu": "Windows NT 6.1",
    "misc": "rv:70.0"
  },
  "haveTestPlugin": true,
  "windowsDefaultTheme": true,
  "nativeThemePref": true,
  "gpuProcessForceEnabled": true,
  "prefs": {},
  "browserIsRemote": true,
  "asyncPan": true,
  "usesRepeatResampling": false,
  "verify": false,
  "fission": false,
  "serviceWorkerE10s": false
}

Just confirming: we are absolutely certain these shouldn't use GPUs? As in the tests are running fine, and there's free money to be had back from our CI budget?

jbonisteel: free money!

Flags: needinfo?(jbonisteel)

As it stands, they test the same things as the Ru tests (Reftest unaccelerated). So we have duplicate test coverage of BasicCompositor on Windows 7.
Presumably there was a purpose of having separate GPU reftests when they were created. It would be nice to know that purpose, and how GPU reftests would be different from regular reftests, which also use the GPU. Or maybe the regular reftests do not have a GPU and use D2D and D3D via Warp?
The choice is between free money and more machine configuration coverage.

It sounds like we do want these tests to use a GPU. Alexis, do you want to take a look?

Blocks: gfx-work
Flags: needinfo?(jbonisteel) → needinfo?(a.beingessner)
Priority: -- → P3

I could definitely look into this, but I don't know anything about how CI works, so someone else is probably a better choice.

Flags: needinfo?(a.beingessner) → needinfo?(jbonisteel)

Alexis - we still need to do this, JeffM can help you get going.

Flags: needinfo?(jbonisteel) → needinfo?(a.beingessner)

Jeff can you help Alexis get started

Flags: needinfo?(jmuizelaar)

I think the first step here is figuring out why layers acceleration is being disabled.

Flags: needinfo?(jmuizelaar)

ni?ing bholley because we discussed this at the all hands and I vaguely recall him having some useful information

Flags: needinfo?(bholley)

The intention of this configuration is to run with accelerated graphics, but the reftest environment dump for those test runs in comment 0 indicates that we're getting basic layers. That information is computed at [1], which funnels into [2]. So we should figure out why layers acceleration is being disabled, per comment 7.

[1] https://searchfox.org/mozilla-central/rev/a4be2fbe9bd4f405c91cc16e4e3a80400f5a9301/layout/tools/reftest/manifest.jsm#494
[2] https://searchfox.org/mozilla-central/rev/a4be2fbe9bd4f405c91cc16e4e3a80400f5a9301/dom/base/nsDOMWindowUtils.cpp#2134

Flags: needinfo?(bholley)

gonna actually properly look at this

Assignee: nobody → a.beingessner
Flags: needinfo?(a.beingessner)

It's been over a year since it was noticed that these tests which requisition GPU
hardware don't actually launch in a mode where we use the GPU. I've tried a few
times to make sense of why this is happening, to no avail. At this point we should
cut our losses and just stop paying to run these broken tests which evidently haven't
been sorely missed.

This does not change our test coverage, because the Ru tests do the same thing that
the Rg tests currently actually do.

Summary of discussion with :jrmuizel

  • These tests are busted and extra expensive to run, so we should either fix them or remove them to satisfy the mandate to use money better.
  • The taskcluster config for this is written strangely, so I couldn't see how to fix them.
  • The Rg test suite is specifically to distinguish the case of "separate gpu process" which isn't supported on older windows 7 installs.
  • If we were to remove it, we should make the R tests use the gpu process (and/or webrender, which will be the default for win7 in 83).
  • "Doesn't support the GPU process" (and incidentally also webrender) represents about 4.5% of windows users, or about 3% of our total userbase.
  • Given these things, we'd like to still support having that mode tested.

I'm handing this off to Jeff to prioritize the repair work among the gfx team.

Assignee: a.beingessner → jmuizelaar

Another thing we need to know is if we have any Win7 machines with the platform update. I've asked Joel this.

Attachment #9181862 - Attachment is obsolete: true

to follow up, we do not have the platform update on our Win7 machines.

is there work to do here to fix windows7 support for webrender or a gpu process? I am unclear if we should fix something or disable something. I am happy to fiddle with the taskcluster bits

Flags: needinfo?(jmuizelaar)

:Gankra, is there anything I can do to help this out?

Flags: needinfo?(a.beingessner)

I'm no longer on the graphics team, I handed this off to jrmuizel who was intending to make a final decision. I recommend discussing this with the graphics team.

Flags: needinfo?(a.beingessner)

:jimm, could you help me get some answers here- I believe you are in charge of the graphics team, if not a redirection would be appreciated

Flags: needinfo?(jmathies)

I don't think it will matter too much what ever decision we make here. The configuration being tested will hopefully being going away soon. I'm ok with dropping it now if we want to play it risky, or we could wait a couple of months and drop it then.

Flags: needinfo?(jmuizelaar)
Flags: needinfo?(jmathies)
Pushed by jmaher@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b52865896a1f turn off reftest-gpu jobs as they are not testing what they intend to and are being deprecated in the short term. r=jrmuizel
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: