Closed Bug 636906 Opened 9 years ago Closed 9 years ago

GFX blacklisting not affecting WebGL?


(Core :: Canvas: WebGL, defect)

Windows 7
Not set



Tracking Status
blocking2.0 --- final+


(Reporter: Dolske, Assigned: bjacob)


(Whiteboard: [hardblocker])


(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


        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
        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

        GPU Accelerated Windows

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

using NVIDIA GeForce 9800 GT, non blacklisted driver

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+

This needs an automated test, I think.
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.