Summary: | error: linking with uncompiled/unspecialized shader | ||
---|---|---|---|
Product: | Mesa | Reporter: | Robert-André Mauchin <zebob.m> |
Component: | Drivers/DRI/i965 | Assignee: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Status: | RESOLVED NOTOURBUG | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | 18.2 | ||
Hardware: | Other | ||
OS: | All | ||
See Also: | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87859 | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | MPV log of shader compilation failure on Fedora with Mesa 18.2.3 |
Description
Robert-André Mauchin
2018-11-03 21:02:19 UTC
Created attachment 142362 [details]
MPV log of shader compilation failure on Fedora with Mesa 18.2.3
I got the same problem on Fedora after upgrading from Mesa 18.2.2 to 18.2.3. As a temporary workaround downgrading fixes it.
I have recently run into this too and I have spent the better part of Saturday trying to track this down, although unsuccessfully. FTR I noticed this issue as some misrendering and missing transparency in KDE. It also makes Unigine: Superposition benchmark abort. This is on a desktop machine with Radeon RX570. As there were not that many changes between mesa 18.2.2 and 18.2.3 I tried to bisect the issue to no avail. The weird part is that even when I build mesa-18.2.2 from source I still get the "error: invalid input layout qualifier used" failure message. I even went back to mesa-18.2.1 but I got the same result. The only way how to "fix" this appears to be installation of mesa-18.2.2 from official Fedora packages. Unless I have been doing something terribly wrong I am starting to think that this may not be a mesa issue after all. I have mesa-18.2.4 installed on my laptop with HD3000 GPU running Arch Linux and it is all fine there. The shader that KWin fails to compile is as simple as this: #version 140 uniform mat4 colorMatrix; uniform sampler2D sampler; uniform float opacity; noperspective in vec4 varyingTexCoords; out vec4 fragColor; void main(void) { vec4 tex = texture(sampler, varyingTexCoords.st); if (opacity >= 1.0) { fragColor = tex * colorMatrix; } else { fragColor = tex * (opacity * colorMatrix + (1.0 - opacity) * mat4(1.0)); } } I try to bisect the issue unsuccessfully, I'm not even sure the issue is Mesa… If I build locally i965_dri.so 18.2.2-1, it fails too, whereas the Fedora package works. My conclusion is that a dependency used during the build was working when Fedora Mesa 18.2.2-1 was built on Oct 5 but that dependency was updated and i965_dri.so 18.2.2 when built now with that updated dependency fails. Because this looks like a Fedora packaging issue I filed a bug at RH bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1645850 Seems the culprit is gcc: compiled with gcc-8.2.1-2 it works, with gcc-8.2.1-4 it doesn't. Fixed in Fedora gcc-8.2.1-5 and mesa-18.2.4-3. (https://bugzilla.redhat.com/show_bug.cgi?id=1645400 ) It was indeed an upstream gcc bug and not a mesa one. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87859 |
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.