Closed Bug 1360470 Opened 7 years ago Closed 2 years ago

Provide more detailed reasons when WebGL2 initialization fails?

Categories

(Core :: Graphics: CanvasWebGL, enhancement, P5)

Unspecified
OpenBSD
enhancement

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: gaston, Unassigned)

Details

(Whiteboard: [gfx-noted])

I've dug around in the code in dxr and bugzilla, but didnt found a clear way to understand why webgl2 fails. webgl1 is fine. Same results with linux/53.0 or OpenBSD/54.0b2.

about:support says:
WebGL creation failed: * Error during native OpenGL init. * Error during native OpenGL init. * Error during native OpenGL init. * Error during native OpenGL init. * Error during native OpenGL init. * Exhausted GL driver caps. * Exhausted GL driver options.

The GPU section says:
Active	Yes
Description	Intel Open Source Technology Center -- Mesa DRI Mobile Intel® GM45 Express Chipset 
Vendor ID	Intel Open Source Technology Center
Device ID	Mesa DRI Mobile Intel® GM45 Express Chipset 
Driver Version	2.1 Mesa 13.0.6

The glxinfo says:
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel Open Source Technology Center (0x8086)
    Device: Mesa DRI Mobile Intel® GM45 Express Chipset  (0x2a42)
    Version: 13.0.6
    Accelerated: yes
    Video memory: 192MB
    Unified memory: yes
    Preferred profile: compat (0x2)
    Max core profile version: 0.0
    Max compat profile version: 2.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 2.0

Mesa is built with those options:
https://github.com/openbsd/xenocara/blob/master/lib/mesa/Makefile.bsd-wrapper#L21

What more information is needed to debug this ? Could it be possible to be more 'explicit' user-wise to explain why the feature cant be enabled ? Is it because GLES 3.0 isnt enabled, from what i can see as the requirements for webgl2 ? Too old chipset ? driver ? libdrm (we have 2.4.79) ?
(In reply to Landry Breuil (:gaston) from comment #0)
> The glxinfo says:
> Extended renderer info (GLX_MESA_query_renderer):
>     Vendor: Intel Open Source Technology Center (0x8086)
>     Device: Mesa DRI Mobile Intel® GM45 Express Chipset  (0x2a42)
>     Version: 13.0.6
>     Accelerated: yes
>     Video memory: 192MB
>     Unified memory: yes
>     Preferred profile: compat (0x2)
>     Max core profile version: 0.0
>     Max compat profile version: 2.1
>     Max GLES1 profile version: 1.1
>     Max GLES[23] profile version: 2.0

GM45 chipset utilizes Intel GMA X4500 as its integrated graphics, which support up to OpenGL 2.1
while WebGL2 is based on OpenGL ES3.0 which requires OpenGL 4.3, so the hardware here is just too old to support WebGL2.
Ok, thanks for the information.... so is there a way to make it more *visible* to the end user why WebGL2 support cant be enabled ? Something like 'Your chipset is too old for WebGL2' instead of the error messages...
Priority: -- → P5
Summary: WebGL2 initialization failure on intel/unix → Provide more detailed reasons when WebGL2 initialization fails?
Whiteboard: [gfx-noted]
What would be needed for this to be properly implemented ? Now i'm facing issues understanding what are the opengl requirements for webrender, and there's no clear message as to what are the requirements, one has to guess/look into the code.

the boat has sailed, and those days webgl2 works on recent machines.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.