Closed Bug 636906 Opened 9 years ago Closed 9 years ago

GFX blacklisting not affecting WebGL?

Categories

(Core :: Canvas: WebGL, defect)

x86
Windows 7
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla2.0
Tracking Status
blocking2.0 --- final+

People

(Reporter: Dolske, Assigned: bjacob)

Details

(Whiteboard: [hardblocker])

Attachments

(1 file)

I noticed fonts on my Windows 7 desktop are looking pixelated. Checked about:support, and it's now saying that D2D is disabled...

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b13pre) Gecko/20110225 Firefox/4.0b13pre

  Graphics

        Adapter Description  NVIDIA GeForce GTS 240
        Vendor ID    10de
        Device ID    0607
        Adapter RAM  1024

        Adapter Drivers
        nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um

        Driver Version     8.16.11.9107
        Driver Date        9-27-2009

        Direct2D Enabled
        Blocked on your graphics driver. Try updating your graphics driver to version 257.21 or newer.

        DirectWrite Enabled
        false (6.1.7600.20830, font cache n/a)

        WebGL Renderer
        Google Inc. -- ANGLE -- OpenGL ES 2.0 (ANGLE 0.0.0.541)

        GPU Accelerated Windows
        0/1


bjacob seemed surprised that WebGL demos were still working in this browser. Is something only blacklisting D2D but not WebGL? Oddly, my debug build (from a couple days ago, 42e7f9088975) seems to report the same info but WebGL indeed does not work.

Seems bad if a blocklisted driver is actually running and potentially crashing people?
(Updated my debug build, it still will not run WebGL whereas a nightly will.)
Component: Graphics → Canvas: WebGL
QA Contact: thebes → canvas.webgl
Summary: gfx blacklisting not working? → GFX blacklisting not affecting WebGL?
Justin's driver is out of date -> blacklisted. Indeed, it's a bug that he's getting webgl without force-enabling. Will try to reproduce asap by spoofing. I suspect a bug in WebGLContext::SetDimensions which has overly complex logic revolving around that.
Indeed, I get a GL context created here:

477     // if that failed, and we weren't already preferring EGL, try it now.
478     if (!gl && !(preferEGL || useANGLE)) {
479         gl = gl::GLContextProviderEGL::CreateOffscreen(gfxIntSize(width, height), format);
480         if (gl && !InitAndValidateGL()) {
481             gl = nsnull;
482         }
483     }


@478, gl==null, preferEGL==false, useANGLE==false, so the conditonal is true.
joe suggested removing this block, and indeed that blocks WebGL as expected for me.

[Also, for future reference, I was able to repro this problem in my debug build after installing the DirectX SDK per bjacob's suggestion.]
I don't think WebGL is even being disabled if you set hardware acceleration off in Options>General , if I make sure that is unticked and restart, all these WebGL tests still work for me 
http://www.chromeexperiments.com/webgl

using NVIDIA GeForce 9800 GT, non blacklisted driver 8.17.12.5896

see also bug 637142, where I think WebGL is intefering with text antialiasing on youtube videos, but disabling hardware acceleration isn't fixing it when it does on IE9
Will a blacklisted card now block WebGL using an osmesa driver?
Don't we fall back to software rendering in this case?
No. WebGL is hardware or nothing.
blocking2.0: ? → final+
Whiteboard: [hardblocker]
This is just the patch removing said code block, as suggested by Joe and tested by Dolske. Please still review to confirm that's the right code block.
Attachment #515690 - Flags: review?(joe)
Assignee: nobody → bjacob
Whiteboard: [hardblocker] → [hardblocker][has patch]
Attachment #515690 - Flags: review?(joe) → review+
http://hg.mozilla.org/mozilla-central/rev/4ff62915a2b4

This needs an automated test, I think.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: in-testsuite?
Resolution: --- → FIXED
Whiteboard: [hardblocker][has patch] → [hardblocker]
Target Milestone: --- → mozilla2.0
You need to log in before you can comment on or make changes to this bug.