[Bug 93599] Strange green flashes with "Metro: Last Light Redux" + "Metro 2033 Redux" with Intel Mesa driver

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jan 5 14:15:17 PST 2016


https://bugs.freedesktop.org/show_bug.cgi?id=93599

            Bug ID: 93599
           Summary: Strange green flashes with "Metro: Last Light Redux" +
                    "Metro 2033 Redux" with Intel Mesa driver
           Product: Mesa
           Version: git
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/DRI/i965
          Assignee: idr at freedesktop.org
          Reporter: d.spitznagel at goodbytez.de
        QA Contact: intel-3d-bugs at lists.freedesktop.org

Hello devs,

today I tested "Metro: Last Light Redux" and "Metro 2033 Redux" with current
mesa git.
When I play that games with kernel lower 4.2.x (4.1.15 on my side) there are no
green flashes. Rendering looks OK.
But with a higher kernel than 4.1.x (4.3.3 on my side) there are strange green
flashes appearing (randomly I think) while rendering.

This problem is reproducible.

I have made an apitrace (from Metro: LL Redux) which you can download here...
http://www.goodbytez.de/mesa/metro.trace.tar.xz

As already stated above, replaying this with kernel 4.1.15 is OK and starting
with kernel 4.2.x there are these green flashes. There are also some black
glitches you can see best at the end of the replay before the steel gate opens.

The apitrace replay with kernel 4.3.3 shows following problems that catched my
eyes. Metro: LL compiles lots of tiny shaders...

At the very beginning...

<<<
1500: message: major shader compiler error 4: 0:16(1): error: #extension
directive is not allowed in the middle of a shader
1500 @0 glCompileShader(shader = 440)
1500: warning: compilation failed
1500: warning: 0:16(1): error: #extension directive is not allowed in the
middle of a shader
>>>

Later...

<<<
334307: message: shader compiler issue 17597: VS vec4 shader: 46 inst, 0 loops,
204 cycles, compacted 736 to 624 bytes.
334348 @0 glLinkProgram(program = 6704)
334348: warning: link failed
334348: warning: error: linking with uncompiled shader
>>>

More later...

<<<
342445: message: api performance issue 17829: Exceeded state cache size limit. 
Clearing the set of compiled programs, which will trigger recompiles
>>>

>From this point on the replay starts recompiling vertex and fragment shaders...

<<<
342484: message: api performance issue 36: Recompiling vertex shader for
program 5429
342484: message: api performance issue 37:   Didn't find previous compile in
the shader cache for debug
342484: message: shader compiler issue 17831: FS SIMD8 shader: 156 inst, 0
loops, 738 cycles, 0:0 spills:fills, Promoted 9 constants, compacted 2496 to
1872 bytes.
342484: message: shader compiler issue 17832: FS SIMD16 shader: 157 inst, 0
loops, 1020 cycles, 0:0 spills:fills, Promoted 9 constants, compacted 2512 to
1888 bytes.
342484: message: api performance issue 40: Recompiling fragment shader for
program 5429
342484: message: api performance issue 41:   Didn't find previous compile in
the shader cache for debug
>>>

The above problems appear all on the loading screen.

When rendering starts you can see these ones...

<<<
494856: message: api performance issue 18266: GTT mapping a busy miptree BO
stalled and took 11.057 ms.
523046: message: api performance issue 18266: GTT mapping a busy miptree BO
stalled and took 0.754 ms.
579096: message: api performance issue 18266: GTT mapping a busy miptree BO
stalled and took 2.064 ms.
606992: message: api performance issue 18266: GTT mapping a busy miptree BO
stalled and took 1.608 ms.
>>>

And one or two...

<<<
7450104: message: api performance issue 18474: CPU mapping a busy
MapBufferRange BO stalled and took 0.889 ms.
>>>

The replay with kernel 4.1.15 shows much the same problems, but when it comes
to rendering there are NO green flashes.

I would be very happy if someone could take a look into this. Having an older
kernel installed for 2 games doesn't make sense.

My System is Debian 8.2 x64
libdrm 2.4.66 from git master
xserver-xorg-video-intel 2.99.917+git20151217
xserver-xorg-core 1.16.4

Mesa:
glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.2.0-devel
(git-cf84977)
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.2.0-devel
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.2.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

Steam start options:
MESA_GL_VERSION_OVERRIDE=4.0 MESA_GLSL_VERSION_OVERRIDE=400 %command%

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20160105/2b801872/attachment.html>


More information about the intel-3d-bugs mailing list