I'm concerned this will discourage websites from reporting WebGL
issues because it will be easier just to block whatever device has the
problem they're running in to. This creates an additional burden on
the web developer and essentially creates the user agent problem all
over again, but at much worse scale because of the wide range of
possible devices. This may be manageable for very large developers
like Google but I don't think it scales across web developers. We are
typically in a better position to control and update any WebGL
blacklist.

I've suggested that creating an easy way to rely diagnostic
information to a website in the event of a problem is a better
solution for improving the overall quality of our WebGL implementation
and sharing that benefit with all websites instead of just benefiting
large properties like Google's.

-Jeff

On Mon, Jun 15, 2015 at 7:16 PM, Jeff Gilbert <jgilb...@mozilla.com> wrote:
> Summary:
> The WEBGL_debug_renderer_info extension allows for querying which driver
> (and commonly GPU) a WebGL context is running on. Specifically, it allows
> querying the RENDERER and VENDOR strings of the underlying OpenGL driver.
>
> By default, RENDERER and VENDOR queries in WebGL yield safe but useless
> values. (For example, Gecko returns "Mozilla"/"Mozilla" for
> RENDERER/VENDOR) Queries to UNMASKED_RENDERER_WEBGL and
> UNMASKED_VENDOR_WEBGL yield the RENDERER and VENDOR string of the
> underlying graphics driver. These values are combined to form the "WebGL
> Renderer" field in about:support. On my system, these are:
> * UNMASKED_RENDERER_WEBGL: "ANGLE (NVIDIA GeForce GT 750M Direct3D11 vs_5_0
> ps_5_0)"
> * UNMASKED_VENDOR_WEBGL: "Google Inc." [1]
>
> Bug:
> https://bugzilla.mozilla.org/show_bug.cgi?id=1171228
>
> Link To Standard:
> https://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/
>
> Do other browser engines implement this:
> Chrome and IE implement this; Safari does not.
>
> Platform Coverage: All platforms.
>
> Current Target Release: Firefox 41
>
> Related Preferences:
> * "webgl.disable-debug-renderer-info" (default: false): Disable this
> extension for unprivileged content.
> * "webgl.renderer-string-override" (default: ""): Overrides
> UNMASKED_RENDERER_WEBGL query result when non-empty.
> * "webgl.vendor-string-override" (default: ""): Overrides
> UNMASKED_VENDOR_WEBGL query result when non-empty.
>
> Security and Privacy Concerns:
> * Traditional user-agent sniffing concerns. (Known antipattern)
> * This info includes what GPU is being used, which may contribute to
> marketing profiles.
> * This info adds easily-accessible bits of entropy that improve
> fingerprinting, reducing privacy. (Panopticlick and others have
> demonstrated that this is already very effective)
>
> Web Developer Use-Cases:
> * Sites can more easily and immediately identify and address concerns
> caused by specific hardware or drivers. Currently, apps must
> unconditionally workaround an issue until we can ship a fix via browser
> updates.This can mean performance degradation for unaffected machines for,
> sometimes for weeks.
> * Sites can collate and cross-reference drivers and hardware when tracking
> issues both user-reported and auto-detected, which both helps sites
> identify problematic hardware, and helps browsers fix these issues in turn.
> * This allows sites to offer better estimates of performance, and offer
> reasonable defaults for quality settings.
>
> [1] On Windows, we use ANGLE as an intermediary driver on top of D3D, hence
> the VENDOR string being "Google, Inc." and not "NVIDIA" here.
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to