Summary: | DRM : eglCreatePbufferSurface failed with error EGL_BAD_MATCH | ||
---|---|---|---|
Product: | Mesa | Reporter: | Vishwanath Chandapur <vishwavtu> |
Component: | Drivers/Gallium/etnaviv | Assignee: | Etnaviv Developers <etnaviv> |
Status: | RESOLVED MOVED | QA Contact: | Etnaviv Developers <etnaviv> |
Severity: | major | ||
Priority: | medium | CC: | vishwanath.chandapur |
Version: | 18.3 | ||
Hardware: | ARM | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Screen
Patch review |
Description
Vishwanath Chandapur
2018-12-07 12:07:41 UTC
Below is response we got from QT development team. --------------------------------------------------------------------------------------- WebEngie tryies to create pbuffer, if does not work it will try to use EGL_KHR_surfaceless_context extension. this error means that pbuffer was not created and most likely there is no EGL_KHR_surfaceless_context extension ------------------------------------------------------------------------------------- Could please let us know EGL_KHR_surfaceless_context is supported by mesa or how to use for surface less . Surfaceless is supported, I can see from your configure that it has not been enabled though. You need to pass "--with-platforms=wayland,drm,surfaceless" (as example) for it to be enabled. I have enabled surfaceless as you mentioned but got same ERROR. configure: prefix: /usr exec_prefix: /usr libdir: /usr/lib includedir: /usr/include OpenGL: yes (ES1: yes ES2: yes) OSMesa: no DRI platform: drm DRI drivers: swrast DRI driver dir: ${libdir}/dri GLX: no EGL: yes EGL drivers: builtin:egl_dri2 GBM: yes EGL/Vulkan/VL platforms: wayland drm surfaceless Vulkan drivers: no llvm: no Gallium drivers: etnaviv imx Gallium st: mesa HUD extra stats: no HUD lmsensors: no Shared libs: yes Static libs: no Shared-glapi: yes I few quires By enabling surfaceless platform is "EGL_KHR_surfaceless_context" API available.? OR We need "MESA_platform_surfaceless" in application? (In reply to Vishwanath Chandapur from comment #3) > I have enabled surfaceless as you mentioned but got same ERROR. > > configure: > prefix: /usr > exec_prefix: /usr > libdir: /usr/lib > includedir: /usr/include > OpenGL: yes (ES1: yes ES2: yes) > OSMesa: no > DRI platform: drm > DRI drivers: swrast > DRI driver dir: ${libdir}/dri > GLX: no > EGL: yes > EGL drivers: builtin:egl_dri2 > GBM: yes > EGL/Vulkan/VL platforms: wayland drm surfaceless > Vulkan drivers: no > llvm: no > Gallium drivers: etnaviv imx > Gallium st: mesa > HUD extra stats: no > HUD lmsensors: no > Shared libs: yes > Static libs: no > Shared-glapi: yes > > > I few quires > By enabling surfaceless platform is "EGL_KHR_surfaceless_context" API > available.? > OR > We need "MESA_platform_surfaceless" in application? Both of these should be available for you: EGL_KHR_surfaceless_context GL_OES_surfaceless_context As of now we are still getting same error "eglCreatePbufferSurface failed with error EGL_BAD_MATCH" And we are using "EGL_KHR_surfaceless_context" API .Is there any way we can check in mesa is using surfaceless_context. (In reply to Vishwanath Chandapur from comment #5) > As of now we are still getting same error "eglCreatePbufferSurface failed > with error EGL_BAD_MATCH" > > And we are using "EGL_KHR_surfaceless_context" API .Is there any way we can > check in mesa is using surfaceless_context. Oops sorry it seems I got confused about 'surfaceless' as a platform and 'surfaceless' as an EGL extension. You don't need to enable 'surfaceless' platform in the configure. The EGL_KHR_surfaceless_context should be there, supported by all EGL dri2 based implementations. You may try to catch eglMakeCurrent calls made by Qt to see if it passes EGL_NO_SURFACE for both read and write surface, this would mean that it does not try to initialize a real surface such as pbuffer. Hi, Qtwebegine has already has support of EGL_KHR_surfaceless_context. And also when we enabled more debug logs we found mesa driver is failing with below error.when this error occurs we see black square-box on screen Note:Same application is working with disabled gpu. Logs: *ERROR* BO at index 117 already on submit list. [ 1458.370916] [drm:etnaviv_ioctl_gem_submit] *ERROR* BO at index 96 already on submit list [ 1465.955216] [drm:etnaviv_ioctl_gem_submit] *ERROR* BO at index 122 already on submit list [ 1465.988983] [drm:etnaviv_ioctl_gem_submit] *ERROR* BO at index 122 already on submit list [ 1466.124379] [drm:etnaviv_ioctl_gem_submit] *ERROR* BO at index 122 already on submit list By looking mesa driver is causing the issue with webGL. Hi Etnaviv Team Could you please us help on this. With Regards Vishwa Hi, We updated mesa version 18.1.9 but issue still occurring. With Regards Vishwa Created attachment 143134 [details]
Screen
We updated kernel 4.19.15 but issue still occurring. Summary: Mesa:18.1.0 Kernel:4.19.15 Qt qtwebengine :5.11 Chrome:65 issue: Rectangle black box on screen. Attached screen shot in previous screen. Hi I have enabled -DEBUG flag in mesa driver below part of code is crashing. Log: etnaviv_resource.c:634:etna_resource_used: Assertion `(rsc->pending_ctx == ctx) || !rsc->pending_ctx' failed. Code: /* TODO resources can actually be shared across contexts, * so I'm not sure a single list-head will do the trick? */ debug_assert((rsc->pending_ctx == ctx) || !rsc->pending_ctx); list_delinit(&rsc->list); list_addtail(&rsc->list, &ctx->used_resources); rsc->pending_ctx = ctx; Need your help to solve this issue With Regards Vishwa Hi Below part is the rootcause of rectangle box. Code: src/gallium/drivers/etnaviv/etnaviv_resource.c debug_assert((rsc->pending_ctx == ctx) || !rsc->pending_ctx); Could you try the following patch? https://patchwork.freedesktop.org/patch/277031/ Hi thanks for patch. I have tried the patch but still blackbox still appearing. With Regards Vishwa Hi Christian, We tried few patches from below link, there also we didnt get much success. https://patchwork.freedesktop.org/project/mesa/list/?submitter=15682 With Regards Vishwa Hi Christian, We tried below patch on 3.18.1 ,but still issue is coming.We need to have any patches other than this? https://patchwork.freedesktop.org/patch/281925/ [v5] etnaviv: fix resource usage tracking across different pipe_context's With Regards Vishwa Created attachment 143336 [details] [review] Patch review Hi, I have attached a patch with this we re not seeing black-screen, could you pleas review. With Regards Vishwa I have planed to push that one https://patchwork.freedesktop.org/patch/281925/ soon-ish. Do you have a simple qt5 demo app that triggers this problem? Maybe somewhere on github etc? Hi Christian, Below is the app based on qtwebengine. https://code.qt.io/cgit/qt-apps/qtwebbrowser.git/ We use qtwebengine qt5.11 With Regards Vishwa Hi Christian, Did you get chance to review our patch. We tested for 2days we are NOT seeing any black screen as of now. We would like know from your end any side effects using that patch. With Regards VIshwa -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/262. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.