Can there be a "Known Issues or Bugs" Section to the Forum?

Every GPU manufacturer has their own drivers.

Intel and qualcomm drivers are notoriously buggy. Intel has been getting better over the years. ATI’s drivers are pretty good… NVidia drivers are the most compatible, although almost to the opposite extreme in that they will proactively put fixes in their drivers to “fix” issues with devs doing unsupported or underspecified operations.

It would be nice if there was a database of “these things are broken” but creating such an artifact is a Ton of work, and these bugs get fixed over time, and new ones crop up, so its a never ending process.

You can grind your fingers down trying to work around issues like this, or you can just check the GPU string and blacklist them from your app, and show them a mp4 instead with a label like “Driver XYZ has a known issue and is not supported by this app.” and move on with your life.
The more hoops you go through to work around the issues, the more you relieve the pressure on manufacturers to fix their drivers.
I know this isn’t super helpful advice, but I just want to give some perspective.

Here’s a code snippet which may tell you what driver is actually in play while your app is running, and perhaps can be something to key different behaviors under different circumstances.

function getWebGLRendererInfo() {
    // Create a canvas element to initialize WebGL context
    var canvas = document.createElement('canvas');
    var gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');

    if (!gl) {
        console.log('WebGL not supported');
        return;
    }

    // Access the WEBGL_debug_renderer_info extension
    var debugInfo = gl.getExtension('WEBGL_debug_renderer_info');

    // If the extension is available, extract the GPU and driver information
    if (debugInfo) {
        var vendor = gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL);
        var renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
        console.log('GPU Vendor: ', vendor);
        console.log('GPU Renderer: ', renderer);
    } else {
        console.log('Unable to access WebGL debug renderer info.');
    }
}

getWebGLRendererInfo();

3 Likes