Bug 109717 - [regression] Cull distance tests asserting
Summary: [regression] Cull distance tests asserting
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Jason Ekstrand
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
: 109725 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-02-21 12:17 UTC by Lionel Landwerlin
Modified: 2019-02-21 18:09 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Lionel Landwerlin 2019-02-21 12:17:33 UTC
Here is a list of the tests failing : 

piglit.spec.arb_cull_distance.fs-cull-distance-interpolated.snbm64
piglit.spec.arb_cull_distance.basic-cull-4.snbm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-outside-cull-volume.snbm64
piglit.spec.arb_cull_distance.basic-cull-2.snbm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-inside-cull-volume.snbm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-on-plane.kblm64
piglit.spec.arb_cull_distance.basic-cull-3.kblm64
piglit.spec.arb_cull_distance.basic-cull-1.kblm64
piglit.spec.arb_cull_distance.basic-cull-2.hswm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-outside-cull-volume.hswm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-inside-cull-volume.hswm64
piglit.spec.arb_cull_distance.basic-cull-4.hswm64
piglit.spec.arb_cull_distance.fs-cull-distance-interpolated.hswm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-on-plane.snbm64
piglit.spec.arb_cull_distance.basic-cull-3.snbm64
piglit.spec.arb_cull_distance.basic-cull-1.snbm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-on-plane.hswm64
piglit.spec.arb_cull_distance.basic-cull-3.hswm64
piglit.spec.arb_cull_distance.basic-cull-1.hswm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-inside-cull-volume.ivbm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-outside-cull-volume.ivbm64
piglit.spec.arb_cull_distance.fs-cull-distance-interpolated.ivbm64
piglit.spec.arb_cull_distance.basic-cull-4.ivbm64
piglit.spec.arb_cull_distance.basic-cull-2.ivbm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-on-plane.bdwm64
piglit.spec.arb_cull_distance.basic-cull-3.bdwm64
piglit.spec.arb_cull_distance.basic-cull-1.bdwm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-outside-cull-volume.sklm64
piglit.spec.arb_cull_distance.fs-cull-distance-interpolated.sklm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-inside-cull-volume.sklm64
piglit.spec.arb_cull_distance.basic-cull-4.sklm64
piglit.spec.arb_cull_distance.basic-cull-2.sklm64
piglit.spec.arb_cull_distance.basic-cull-4.kblm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-outside-cull-volume.kblm64
piglit.spec.arb_cull_distance.basic-cull-2.kblm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-inside-cull-volume.kblm64
piglit.spec.arb_cull_distance.fs-cull-distance-interpolated.kblm64
piglit.spec.arb_cull_distance.basic-cull-4.bdwm64
piglit.spec.arb_cull_distance.fs-cull-distance-interpolated.bdwm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-outside-cull-volume.bdwm64
piglit.spec.arb_cull_distance.basic-cull-2.bdwm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-inside-cull-volume.bdwm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-on-plane.ivbm64
piglit.spec.arb_cull_distance.basic-cull-1.ivbm64
piglit.spec.arb_cull_distance.basic-cull-3.ivbm64
piglit.spec.arb_cull_distance.vs-cull-distance-vertex-on-plane.sklm64
piglit.spec.arb_cull_distance.basic-cull-1.sklm64
piglit.spec.arb_cull_distance.basic-cull-3.sklm64
KHR-GL46.cull_distance.functional.cflm64
KHR-GL46.cull_distance.functional.sklm64
KHR-GL46.cull_distance.functional.kblm64
KHR-GL46.cull_distance.functional.bdwm64
KHR-GL46.cull_distance.functional.hswm64
GTF-GL46.gtf32.GL3Tests.packed_pixels.packed_pixels_pixelstore.bdwm64
KHR-GL33.cull_distance.functional.ivbm64
KHR-GL33.cull_distance.functional.snbm64

Bisected to :

commit 4e69fba534e7377f3bc6c40c73e6bc5c23437d4e
Author: Jason Ekstrand <jason.ekstrand@intel.com>
Date:   Wed Feb 13 16:15:42 2019 -0600

    nir: Rewrite lower_clip_cull_distance_arrays to do a lot less lowering
    
    Instead of going to all the work of to combine them into one array, just
    make two arrays and use location_frac to colocate them within CLIP0.
    Then the back-end can sort things out and stack them on top of each
    other.  Thanks to ef99f4c8, we also don't need to set compact anymore.
    
    Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

The one tests I used to bisect :

./bin/shader_runner ./tests/spec/arb_cull_distance/basic-cull-1.shader_test

Thread 1 "shader_runner" received signal SIGSEGV, Segmentation fault.
0x00007ffff555f4bd in combine_clip_cull (nir=0x55555589b960, vars=0x55555589b9a0, store_info=true)
    at ../src/compiler/nir/nir_lower_clip_cull_distance_arrays.c:104
104	      assert(clip->data.compact);
(gdb) bt
#0  0x00007ffff555f4bd in combine_clip_cull (nir=0x55555589b960, vars=0x55555589b9a0, store_info=true)
    at ../src/compiler/nir/nir_lower_clip_cull_distance_arrays.c:104
#1  0x00007ffff555f5b6 in nir_lower_clip_cull_distance_arrays (nir=0x55555589b960) at ../src/compiler/nir/nir_lower_clip_cull_distance_arrays.c:129
#2  0x00007ffff54ba500 in brw_preprocess_nir (compiler=0x5555555da130, nir=0x55555589b960) at ../src/intel/compiler/brw_nir.c:789
#3  0x00007ffff4d87a07 in brw_create_nir (brw=0x5555555a5ca0, shader_prog=0x55555571b590, prog=0x5555558924a0, stage=MESA_SHADER_VERTEX, is_scalar=true)
    at ../src/mesa/drivers/dri/i965/brw_program.c:168
#4  0x00007ffff4d79676 in brw_link_shader (ctx=0x5555555a5ca0, shProg=0x55555571b590) at ../src/mesa/drivers/dri/i965/brw_link.cpp:260
#5  0x00007ffff5015212 in _mesa_glsl_link_shader (ctx=0x5555555a5ca0, prog=0x55555571b590) at ../src/mesa/program/ir_to_mesa.cpp:3174
#6  0x00007ffff4e8cfbb in link_program (no_error=false, shProg=0x55555571b590, ctx=0x5555555a5ca0) at ../src/mesa/main/shaderapi.c:1206
#7  link_program_error (ctx=0x5555555a5ca0, shProg=0x55555571b590) at ../src/mesa/main/shaderapi.c:1286
#8  0x00007ffff4e8e3ee in _mesa_LinkProgram (programObj=3) at ../src/mesa/main/shaderapi.c:1778
#9  0x00007ffff7eaed9d in stub_glLinkProgram (program=3) at /home/djdeath/src/mesa-src/piglit/tests/util/piglit-dispatch-gen.c:33949
#10 0x000055555555f3be in link_and_use_shaders () at /home/djdeath/src/mesa-src/piglit/tests/shaders/shader_runner.c:1458
#11 0x00005555555690be in init_test (file=0x7fffffffda58 "./tests/spec/arb_cull_distance/basic-cull-1.shader_test")
    at /home/djdeath/src/mesa-src/piglit/tests/shaders/shader_runner.c:4476
#12 0x0000555555569e08 in piglit_init (argc=2, argv=0x7fffffffd628) at /home/djdeath/src/mesa-src/piglit/tests/shaders/shader_runner.c:4825
#13 0x00007ffff7f2591b in run_test (gl_fw=0x555555588100, argc=2, argv=0x7fffffffd628)
    at /home/djdeath/src/mesa-src/piglit/tests/util/piglit-framework-gl/piglit_winsys_framework.c:73
#14 0x00007ffff7f07883 in piglit_gl_test_run (argc=2, argv=0x7fffffffd628, config=0x7fffffffd4e0)
    at /home/djdeath/src/mesa-src/piglit/tests/util/piglit-framework-gl.c:229
#15 0x000055555555c83f in main (argc=2, argv=0x7fffffffd628) at /home/djdeath/src/mesa-src/piglit/tests/shaders/shader_runner.c:72
Comment 1 Jason Ekstrand 2019-02-21 15:54:55 UTC
Just a copy+paste error when adding an assert.  I've got a patch to fix it incoming.
Comment 2 Lionel Landwerlin 2019-02-21 16:23:12 UTC
*** Bug 109725 has been marked as a duplicate of this bug. ***
Comment 3 Jason Ekstrand 2019-02-21 18:09:39 UTC
This is fixed by the following commit in master:

commit f98fd9d15a9a79ff1b41f1fce27bc285a20aa5bb (public/master)
Author: Jason Ekstrand <jason.ekstrand@intel.com>
Date:   Thu Feb 21 09:53:30 2019 -0600

    nir/lower_clip_cull: Fix an incorrect assert
    
    Copy+paste error.  It was supposed to test cull and not clip.
    
    Fixes: 4e69fba534e "nir: Rewrite lower_clip_cull_distance_arrays..."
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109717
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>


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.