Bug 99603 - [HSW] assertion in piglit.gl45-cts.arrays_of_arrays_gl.interactionargumentaliasing
Summary: [HSW] assertion in piglit.gl45-cts.arrays_of_arrays_gl.interactionargumentali...
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Timothy Arceri
QA Contact: Intel 3D Bugs Mailing List
Depends on:
Blocks: 101009
  Show dependency treegraph
Reported: 2017-01-30 17:54 UTC by Mark Janes
Modified: 2017-05-12 05:24 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description Mark Janes 2017-01-30 17:54:11 UTC
Triggered by:

Author:     Timothy Arceri <timothy.arceri@collabora.com>
i965: fix up asserts in brw_inst_set_jip()

which introduced the assertion:
/tmp/build_root/m64/bin/gl/cts/glcts --deqp-case=GL45-CTS.arrays_of_arrays_gl.InteractionArgumentAliasing1
dEQP Core GL-CTS-2.0 (0x0052484b) starting..
  target implementation = 'X11-EGL'

Test case 'GL45-CTS.arrays_of_arrays_gl.InteractionArgumentAliasing1'..

Standard Error
glcts: /home/jenkins/workspace/Leeroy/repos/mesa/src/mesa/drivers/dri/i965/brw_inst.h:286: brw_inst_set_jip: Assertion `value <= (1 << 15) - 1' failed.
Comment 1 Timothy Arceri 2017-01-30 22:01:19 UTC
Was the test passing or failing previously?
Comment 2 Mark Janes 2017-01-30 23:21:38 UTC
I should have been more specific.

The following tests used to pass, but now assert:

Similar tests have asserted since we updated to the gl45 cts suite:
Comment 3 Timothy Arceri 2017-05-11 21:53:11 UTC
This should not block the release, it doesn't change anything in a release build.

The asserts were wrong this change just fixes them, the tests just happened to pass previously and that will not have changed in a release build after this.

The problem is the loop is too large and if I recall correctly that was because these tests contain a large switch statement which gets wrapped in a loop that can never be unrolled since the work around in this commit:

commit 73dd50acf6d244979c2a657906aa56d3ac60d550
Author: Tapani Pälli <tapani.palli@intel.com>
Date:   Wed Aug 6 09:46:54 2014 +0300

    glsl: implement switch flow control using a loop
    Patch removes old variable based logic for handling a break inside
    switch. Switch is put inside a loop so that existing infrastructure
    for loop flow control can be used for the switch, now also dead code
    elimination works properly.
    Possible 'continue' call inside a switch needs now special handling
    which is taken care of by detecting continue, breaking out and calling
    continue for the outside loop.
    v2: remove one unnecessary ir_expression (Curro)
    Fixes following Piglit tests:
    No Piglit or es3conform regressions.
    Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
    Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Comment 4 Mark Janes 2017-05-12 05:24:15 UTC
Tim is correct: the release build passes the tests.

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.