Bug 56962 - [GM45, bisected] piglit txb-2d: brw_fs.cpp:294: int fs_visitor::type_size(const glsl_type*): Assertion `!"not reached"' failed.
Summary: [GM45, bisected] piglit txb-2d: brw_fs.cpp:294: int fs_visitor::type_size(con...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Ian Romanick
QA Contact:
URL:
Whiteboard:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2012-11-10 18:49 UTC by Pavel Ondračka
Modified: 2012-11-30 06:34 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Pavel Ondračka 2012-11-10 18:49:59 UTC
././bin/shader_runner tests/spec/arb_fragment_program/texturing/txb-2d.shader_test -auto -fbo

shader_runner: brw_fs.cpp:294: int fs_visitor::type_size(const glsl_type*): Assertion `!"not reached"' failed.

Program received signal SIGABRT, Aborted.
0x0000003843035925 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	  return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) bt
#0  0x0000003843035925 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00000038430370d8 in __GI_abort () at abort.c:91
#2  0x000000384302e6a2 in __assert_fail_base (fmt=0x3843178188 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x7ffff6d45a3d "!\"not reached\"", file=file@entry=0x7ffff6d4e9fd "brw_fs.cpp", line=line@entry=294, 
    function=function@entry=0x7ffff6d4ed00 "int fs_visitor::type_size(const glsl_type*)") at assert.c:94
#3  0x000000384302e752 in __GI___assert_fail (assertion=0x7ffff6d45a3d "!\"not reached\"", file=0x7ffff6d4e9fd "brw_fs.cpp", line=294, 
    function=0x7ffff6d4ed00 "int fs_visitor::type_size(const glsl_type*)") at assert.c:103
#4  0x00007ffff6cf8240 in fs_visitor::type_size (this=<optimized out>, type=0x7ffff6c8ca80) at brw_fs.cpp:294
#5  0x00007ffff6cf82b9 in fs_visitor::type_size (this=this@entry=0x7ffffffbcc50, type=type@entry=0x9198b0) at brw_fs.cpp:281
#6  0x00007ffff6cf8a72 in fs_reg::fs_reg (this=0x7ffffffbb220, v=0x7ffffffbcc50, type=0x9198b0) at brw_fs.cpp:463
#7  0x00007ffff6d0a72b in fs_visitor::emit_texture_gen4 (this=0x7ffffffbcc50, ir=0x8ff0f0, dst=..., coordinate=..., shadow_c=..., lod=..., dPdy=...)
    at brw_fs_visitor.cpp:857
#8  0x00007ffff6d0770b in fs_visitor::emit_fragment_program_code (this=0x7ffffffbcc50) at brw_fs_fp.cpp:516
#9  0x00007ffff6cfc45b in fs_visitor::run (this=this@entry=0x7ffffffbcc50) at brw_fs.cpp:1905
#10 0x00007ffff6cfc59f in brw_wm_fs_emit (brw=brw@entry=0x62bbc0, c=c@entry=0x9186b0, prog=prog@entry=0x0) at brw_fs.cpp:2014
#11 0x00007ffff6ce3b1d in do_wm_prog (brw=brw@entry=0x62bbc0, prog=0x0, fp=fp@entry=0x8d3480, key=key@entry=0x7fffffffd880) at brw_wm.c:251
#12 0x00007ffff6ce43ed in brw_upload_wm_prog (brw=0x62bbc0) at brw_wm.c:567
#13 0x00007ffff6ce0e92 in brw_upload_state (brw=brw@entry=0x62bbc0) at brw_state_upload.c:500
#14 0x00007ffff6ccb07f in brw_try_draw_prims (max_index=3, min_index=4294957624, ib=<optimized out>, nr_prims=<optimized out>, prim=0x7fffffffda20, 
    arrays=<optimized out>, ctx=0x62bbc0) at brw_draw.c:498
#15 brw_draw_prims (ctx=0x62bbc0, prim=0x7fffffffda20, nr_prims=<optimized out>, ib=<optimized out>, index_bounds_valid=<optimized out>, 
    min_index=0, max_index=3, tfb_vertcount=0x0) at brw_draw.c:585
#16 0x00007ffff6826c81 in vbo_draw_arrays (ctx=0x62bbc0, mode=7, start=0, count=4, numInstances=<optimized out>, baseInstance=<optimized out>)
    at ../../../src/mesa/vbo/vbo_exec_array.c:619
#17 0x00007ffff7ae9647 in stub_glDrawArrays (mode=7, first=0, count=4) at /home/Paulie/piglit/tests/util/generated_dispatch.c:5061
#18 0x00007ffff7b2f1c4 in piglit_draw_rect (x=1, y=1, w=16, h=16) at /home/Paulie/piglit/tests/util/piglit-util-gl.c:872
#19 0x0000000000406785 in piglit_display () at /home/Paulie/piglit/tests/shaders/shader_runner.c:1333
#20 0x00007ffff7ade694 in display () at /home/Paulie/piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:60
#21 0x00007ffff7db9ca4 in fghRedrawWindow (window=0x616a00) at freeglut_main.c:207
#22 fghcbDisplayWindow (window=0x616a00, enumerator=0x7fffffffdd20) at freeglut_main.c:224
#23 0x00007ffff7dbd469 in fgEnumWindows (enumCallback=enumCallback@entry=0x7ffff7db9c00 <fghcbDisplayWindow>, 
    enumerator=enumerator@entry=0x7fffffffdd20) at freeglut_structure.c:396
#24 0x00007ffff7dba1ec in fghDisplayAll () at freeglut_main.c:247
#25 glutMainLoopEvent () at freeglut_main.c:1485
#26 0x00007ffff7dbaa3d in glutMainLoop () at freeglut_main.c:1533
#27 0x00007ffff7ade866 in run_test (gl_fw=0x7ffff7d96980, argc=2, argv=0x7fffffffe0d8)
    at /home/Paulie/piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:127
#28 0x00007ffff7adc985 in piglit_gl_test_run (argc=2, argv=0x7fffffffe0d8, config=0x7fffffffdfc0)
    at /home/Paulie/piglit/tests/util/piglit-framework-gl.c:127
#29 0x0000000000403756 in main (argc=4, argv=0x7fffffffe0d8) at /home/Paulie/piglit/tests/shaders/shader_runner.c:50

First bad commit:
97615b2d8c7c3cea6fd3a43bcb1739a96e2046c4
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Aug 27 14:35:01 2012 -0700

    i965: Replace brw_wm_* with dumping code into the fs_visitor.
    
    This makes a giant pile of code newly dead.  It also fixes TXB on newer
    chipsets, which has been totally broken (I now have a piglit test for that).
    It passes the same set of Ian's ARB_fragment_program tests.  It also improves
    high-settings ETQW performance by 3.2 +/- 1.9% (n=3), thanks to better
    optimization and having 8-wide along with 16-wide shaders.

GPU: Mobile Intel® GM45 Express Chipset
Mesa: 5581954c3aa0c2418440700b3763882e37728914
Kernel: 3.6.5-1.fc17.x86_64
xf86-video-intel: 2.20.10-10-gf4c32af (sna enable)
Comment 1 Eric Anholt 2012-11-20 06:46:04 UTC
Thanks for the report!   Apparently our QA had missed the regression.

commit 1665af3066f3d58c42e9d5b13098f13615a7672c
Author: Eric Anholt <eric@anholt.net>
Date:   Sun Nov 18 13:18:03 2012 -0800

    i965/gen4: Fix crash with fragment programs and texture rectangle.
Comment 2 Pavel Ondračka 2012-11-20 08:48:34 UTC
I can't confirm this being fixed. Test still fails here with 	1665af3066f3d58c42e9d5b13098f13615a7672c.  
There may have been some mismatch with patches. 
The patch 1665af306 was originally posted to the list as "i965/gen5: Fix crash with fragment programs and texture rectangle" ( http://lists.freedesktop.org/archives/mesa-dev/2012-November/030215.html ), and it was only mentioning ilk at that time, nothing about this bug.
However it was merged with gen5 changed to gen4 and a reference to this bug.
Comment 3 Gordon Jin 2012-11-21 07:52:30 UTC
(In reply to comment #1)
> Thanks for the report!   Apparently our QA had missed the regression.

It passes on QA' machine. I don't know why. Is it GM45 specific?

btw, QA caught bug#55828 with the same bisect info.
Comment 4 Eric Anholt 2012-11-21 18:45:06 UTC
Oops, you're right, this one's still a failure.
Comment 5 Eric Anholt 2012-11-30 06:34:58 UTC
This time for sure?

commit 2f7915bdb9e1f12861cddbb97f8101693565a59e
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Nov 26 13:39:11 2012 -0800

    i965/fp: Fix segfault on gen4 TXB instructions.


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.