Bug 93355

Summary: [BXT,SKLGT4e] intermittent ext_framebuffer_multisample.accuracy fails
Product: Mesa Reporter: Mark Janes <mark.a.janes>
Component: Drivers/DRI/i965Assignee: Mark Janes <mark.a.janes>
Status: RESOLVED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium CC: ben, mark.a.janes, nanleychery, nroberts
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Mark Janes 2015-12-11 19:16:05 UTC
In triaging CI results, I have noticed intermittent but persistent failures for multisample accuracy tests:

piglit.spec.ext_framebuffer_multisample.accuracy 16 stencil_resolve small.bxtm64
piglit.spec.ext_framebuffer_multisample.accuracy 4 srgb small linear.bxtm64
piglit.spec.ext_framebuffer_multisample.accuracy 4 stencil_resolve small depthstencil.bxtm64
piglit.spec.ext_framebuffer_multisample.accuracy all_samples depth_draw small depthstencil.bxtm64
piglit.spec.ext_framebuffer_multisample.accuracy all_samples stencil_draw small.bxtm64
piglit.spec.ext_framebuffer_multisample.accuracy all_samples stencil_resolve small depthstencil.bxtm64
piglit.spec.ext_framebuffer_multisample.accuracy all_samples stencil_resolve small.bxtm64

These failures go back at least as far as mesa 80890eb, the oldest BXT tests that we have on record in the CI.

Ben's suspicion is that these failures began with enabling fast clears in c4edc048c6f6877461a9d9dc07142640f380f340.  It is also possible that the hardware can't meet the accuracy thresholds of the tests.

A second category of intermittent BXT piglit tests is 
piglit.spec.glsl-1_30.execution.tex-miplevel-selection texturegrad 1darrayshadow
piglit.spec.glsl-1_30.execution.tex-miplevel-selection textureprojlod 1dshadow.bxtm64
piglit.spec.glsl-1_20.execution.tex-miplevel-selection gl2:textureproj(bias) 3d.bxtm64
piglit.spec.glsl-1_30.execution.tex-miplevel-selection texture() 1darray.bxtm64

As with the multisample accuracy tests, these miplevel selection failures have been gathered from dozens of test runs.
Comment 1 Mark Janes 2015-12-11 19:18:49 UTC
Ben has suggested 2 actions that should be taken on this bug:

 1) confirm fast-clear enabling as the cause of the tests
 2) examine the images produced by a test failure, to determine if the images are visibly different.

Neil, please comment if you have any input on these tests.
Comment 2 Mark Janes 2015-12-14 18:06:21 UTC
The following is also intermittent:

piglit.spec.arb_pixel_buffer_object.texsubimage cube_map_array pbo
Comment 3 Ben Widawsky 2015-12-15 00:16:34 UTC
This is not intermittent on SKL?

On Mon, Dec 14, 2015 at 06:06:21PM +0000, bugzilla-daemon@freedesktop.org wrote:
> https://bugs.freedesktop.org/show_bug.cgi?id=93355
> 
> --- Comment #2 from Mark Janes <mark.a.janes@intel.com> ---
> The following is also intermittent:
> 
> piglit.spec.arb_pixel_buffer_object.texsubimage cube_map_array pbo
> 
> -- 
> You are receiving this mail because:
> You are on the CC list for the bug.
Comment 4 Mark Janes 2015-12-15 01:08:44 UTC
these tests are stable on SKL.
Comment 5 Mark Janes 2016-01-25 23:26:27 UTC
recent testing shows these tests to be stable on bxt
Comment 6 Mark Janes 2016-02-04 17:41:05 UTC
This crash is easy to trigger when mesa is compiled with -O2, but will not repro with -O0
Comment 7 Mark Janes 2016-02-04 17:45:52 UTC
*** Bug 93993 has been marked as a duplicate of this bug. ***
Comment 8 Mark Janes 2016-02-04 17:47:09 UTC
These failures are back, as documented in 93993.
Comment 9 Mark Janes 2016-02-04 19:46:34 UTC
Does not reproduce with gcc 4.9.

Reproduces reliably with gcc 5.3.
Comment 10 Mark Janes 2016-06-22 15:51:01 UTC
Since this bug only affects pre-release platforms, it shouldn't block the 12.0 release.
Comment 11 Mark Janes 2016-11-17 20:06:16 UTC
SKLGT4e is enabled in mesa CI, and these tests have been shown to fail intermittently on that platform.
Comment 12 Andrés Gómez García 2018-09-07 17:08:17 UTC
(In reply to Mark Janes from comment #11)
> SKLGT4e is enabled in mesa CI, and these tests have been shown to fail
> intermittently on that platform.

Mark, Nanley, is this fixed by?

commit 904c2a617d86944fbdc2c955f327aacd0b3df318
Author: Nanley Chery <nanley.g.chery@intel.com>
Date:   Wed Aug 22 10:43:32 2018 -0700

    i965/gen7_urb: Re-emit PUSH_CONSTANT_ALLOC on some gen9
    
    According to internal docs, some gen9 platforms have a pixel shader push
    constant synchronization issue. Although not listed among said
    platforms, this issue seems to be present on the GeminiLake 2x6's we've
    tested.
    
    We consider the available workarounds to be too detrimental on
    performance. Instead, we mitigate the issue by applying part of one of
    the workarounds. Re-emit PUSH_CONSTANT_ALLOC at the top of every batch
    (as suggested by Ken).
    
    Fixes ext_framebuffer_multisample-accuracy piglit test failures with the
    following options:
    * 6 depth_draw small depthstencil
    * 8 stencil_draw small depthstencil
    * 6 stencil_draw small depthstencil
    * 8 depth_resolve small
    * 6 stencil_resolve small depthstencil
    * 4 stencil_draw small depthstencil
    * 16 stencil_draw small depthstencil
    * 16 depth_draw small depthstencil
    * 2 stencil_resolve small depthstencil
    * 6 stencil_draw small
    * all_samples stencil_draw small
    * 2 depth_draw small depthstencil
    * all_samples depth_draw small depthstencil
    * all_samples stencil_resolve small
    * 4 depth_draw small depthstencil
    * all_samples depth_draw small
    * all_samples stencil_draw small depthstencil
    * 4 stencil_resolve small depthstencil
    * 4 depth_resolve small depthstencil
    * all_samples stencil_resolve small depthstencil
    
    v2: Include more platforms in WA (Ken).
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106865
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93355
    Cc: <mesa-stable@lists.freedesktop.org>
    Tested-by: Mark Janes <mark.a.janes@intel.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

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.