Closed Bug 1184502 Opened 9 years ago Closed 5 years ago

GPU acceleration and WebGL become blocked if to build firefox with enabled EGL provider

Categories

(Core :: Graphics: CanvasWebGL, defect, P3)

39 Branch
defect

Tracking

()

RESOLVED DUPLICATE of bug 1263678

People

(Reporter: mirraz1, Unassigned)

Details

(Whiteboard: [gfx-noted])

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0
Build ID: 20150715234805

Steps to reproduce:

First I build firefox-39 with configure switch "--with-gl-provider=EGL". And webgl stops working. about:support shows:
--------
Asynchronous Pan/Zoom: none
GPU Accelerated Windows: 0/1 Basic Blocked for your graphics driver version. Try updating your graphics driver to version <Anything with EXT_texture_from_pixmap support> or newer.
WebGL Renderer: Blocked for your graphics card because of unresolved driver issues.
windowLayerManagerRemote: false
AzureCanvasBackend: cairo
AzureContentBackend: cairo
AzureFallbackCanvasBackend: none
AzureSkiaAccelerated: 0
--------

Then I build firefox-39 without "--with-gl-provider=EGL". And webgl works fine. about:support shows:
--------
Adapter Description: Intel Open Source Technology Center -- Mesa DRI Mobile Intel® GM45 Express Chipset
Asynchronous Pan/Zoom: none
Device ID: Mesa DRI Mobile Intel® GM45 Express Chipset
Driver Version: 2.1 Mesa 10.6.2
GPU Accelerated Windows: 0/1 Basic
Vendor ID: Intel Open Source Technology Center
WebGL Renderer: Intel Open Source Technology Center -- Mesa DRI Mobile Intel® GM45 Express Chipset
windowLayerManagerRemote: false
AzureCanvasBackend: cairo
AzureContentBackend: cairo
AzureFallbackCanvasBackend: none
AzureSkiaAccelerated: 0
--------

Mesa is built with EGL support (for example it works for eglgears_x11). eglinfo shows:
--------
EGL API version: 1.4
EGL vendor string: Mesa Project
EGL version string: 1.4 (DRI2)
EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 
EGL extensions string:
    EGL_MESA_drm_image EGL_MESA_configless_context EGL_KHR_image_base
    EGL_KHR_image_pixmap EGL_KHR_image EGL_KHR_get_all_proc_addresses
    EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image
    EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_KHR_wait_sync
    EGL_KHR_surfaceless_context EGL_KHR_create_context
    EGL_NOK_swap_region EGL_NOK_texture_from_pixmap
    EGL_CHROMIUM_sync_control EGL_EXT_image_dma_buf_import
    EGL_NV_post_sub_buffer EGL_MESA_image_dma_buf_export
Configurations:
     bf lv colorbuffer dp st  ms    vis   cav bi  renderable  supported
  id sz  l  r  g  b  a th cl ns b    id   eat nd gl es es2 vg surfaces 
---------------------------------------------------------------------
0x0a 32  0  8  8  8  8  0  0  0 0 0x20TC      a  y  y  y     win,pb,pix
0x0e 32  0  8  8  8  8 24  8  0 0 0x20TC      a  y  y  y     win,pb,pix
0x11 24  0  8  8  8  0  0  0  0 0 0x20TC      y  y  y  y     win,pb,pix
0x15 24  0  8  8  8  0 24  8  0 0 0x20TC      y  y  y  y     win,pb,pix
0x2e 32  0  8  8  8  8  0  0  0 0 0x21DC      a  y  y  y     win,pb,pix
0x32 32  0  8  8  8  8 24  8  0 0 0x21DC      a  y  y  y     win,pb,pix
0x35 24  0  8  8  8  0  0  0  0 0 0x21DC      y  y  y  y     win,pb,pix
0x39 24  0  8  8  8  0 24  8  0 0 0x21DC      y  y  y  y     win,pb,pix
--------
Component: Untriaged → Canvas: WebGL
Product: Firefox → Core
I can confirm this also happens with 42.0.
I was rather surprised that I didn't have any GPU acceleration anymore after changing my system to EGL. Took me a while to figure out, why this was happening. Could it be related to GPU detection not working on EGL or that only glx provides EXT_texture_from_pixmap and egl provides EGL_NOK_texture_from_pixmap?
Priority: -- → P3

(In reply to Ilya Gordeev from comment #0)

First I build firefox-39 with configure switch "--with-gl-provider=EGL". And webgl stops working. about:support shows:

Try updating your graphics driver to version <Anything with EXT_texture_from_pixmap support> or newer.

Introduced by bug 671259.
Fixed by bug 1263678.

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