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...
Status: RESOLVED NOTABUG
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
URL:
Whiteboard:
Keywords:
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:


Attachments

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

77a6597bb7b05d8d8ce30be9eb24792faa9067e9
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:
piglit.gl45-cts.arrays_of_arrays_gl.interactionargumentaliasing1
piglit.gl45-cts.arrays_of_arrays_gl.interactionargumentaliasing2

Similar tests have asserted since we updated to the gl45 cts suite:
piglit.gl45-cts.arrays_of_arrays_gl.interactionargumentaliasing3
piglit.gl45-cts.arrays_of_arrays_gl.interactionargumentaliasing4
piglit.gl45-cts.arrays_of_arrays_gl.interactionargumentaliasing5
piglit.gl45-cts.arrays_of_arrays_gl.interactionargumentaliasing6
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:
    
       fs-exec-after-break.shader_test
       fs-conditional-break.shader_test
    
    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.