Bug 30190 - [llvmpipe] src/gallium/drivers/llvmpipe/lp_setup_tri.c:450:floor_pot: Assertion `n' failed.
Summary: [llvmpipe] src/gallium/drivers/llvmpipe/lp_setup_tri.c:450:floor_pot: Asserti...
Status: CLOSED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Other (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium critical
Assignee: Keith Whitwell
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: mesa-7.9
  Show dependency treegraph
 
Reported: 2010-09-14 13:13 UTC by Vinson Lee
Modified: 2010-09-21 14:08 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Vinson Lee 2010-09-14 13:13:50 UTC
mesa: 4cd751bcc48798f19b089f6cff58bfca2f18fe36 (master)
mesa: b0bc026c12042405357ae65585812ca11786837f (7.9)

Run piglit fdo10370 on llvmpipe.

$ ./bin/fdo10370
...
src/gallium/drivers/llvmpipe/lp_setup_tri.c:450:floor_pot: Assertion `n' failed.


(gdb) bt
#0  0x011a0187 in _debug_assert_fail (expr=0x17d72b0 "n", file=0x17d7284 "src/gallium/drivers/llvmpipe/lp_setup_tri.c", line=450, function=0x17d731e "floor_pot")
    at src/gallium/auxiliary/util/u_debug.c:233
#1  0x00f320ea in floor_pot (n=0) at src/gallium/drivers/llvmpipe/lp_setup_tri.c:450
#2  0x00f3215d in lp_setup_bin_triangle (setup=0x9bae8f8, tri=0x9bf9710, bbox=0xbffb6aa8, nr_planes=3) at src/gallium/drivers/llvmpipe/lp_setup_tri.c:478
#3  0x00f32099 in do_triangle_ccw (setup=0x9bae8f8, v0=0x9c659b0, v1=0x9c659d0, v2=0x9c65990, frontfacing=1 '\001') at src/gallium/drivers/llvmpipe/lp_setup_tri.c:439
#4  0x00f328dc in triangle_ccw (setup=0x9bae8f8, v0=0x9c659b0, v1=0x9c659d0, v2=0x9c65990) at src/gallium/drivers/llvmpipe/lp_setup_tri.c:660
#5  0x00f329ea in triangle_both (setup=0x9bae8f8, v0=0x9c659b0, v1=0x9c659d0, v2=0x9c65990) at src/gallium/drivers/llvmpipe/lp_setup_tri.c:687
#6  0x00f2c4c2 in first_triangle (setup=0x9bae8f8, v0=0x9c659b0, v1=0x9c659d0, v2=0x9c65990) at src/gallium/drivers/llvmpipe/lp_setup.c:95
#7  0x00f356f2 in lp_setup_draw_arrays (vbr=0x9bae8f8, start=0, nr=4) at src/gallium/drivers/llvmpipe/lp_setup_vbuf.c:507
#8  0x011f5f88 in draw_pt_emit_linear (emit=0x9bab980, vert_info=0xbffb6d7c, prim_info=0xbffb6ddc) at src/gallium/auxiliary/draw/draw_pt_emit.c:265
#9  0x011f3d48 in emit (emit=0x9bab980, vert_info=0xbffb6d7c, prim_info=0xbffb6ddc) at src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c:200
#10 0x011f40e3 in llvm_pipeline_generic (middle=0x9bab8c8, fetch_info=0x0, prim_info=0xbffb6ddc) at src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c:288
#11 0x011f4208 in llvm_middle_end_linear_run (middle=0x9bab8c8, start=0, count=4, prim_flags=0) at src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c:348
#12 0x01172cc9 in vsplit_segment_simple_linear (vsplit=0x9ba8cb8, flags=0, istart=0, icount=4) at src/gallium/auxiliary/draw/draw_pt_vsplit_tmp.h:229
#13 0x01173062 in vsplit_run_linear (frontend=0x9ba8cb8, start=0, count=4) at src/gallium/auxiliary/draw/draw_split_tmp.h:61
#14 0x0116b344 in draw_pt_arrays (draw=0x9b99058, prim=9, start=0, count=4) at src/gallium/auxiliary/draw/draw_pt.c:113
#15 0x0116bb9a in draw_vbo (draw=0x9b99058, info=0xbffb73fc) at src/gallium/auxiliary/draw/draw_pt.c:398
#16 0x00f1f311 in llvmpipe_draw_vbo (pipe=0x9b985d0, info=0xbffb73fc) at src/gallium/drivers/llvmpipe/lp_draw_arrays.c:81
#17 0x0105bbef in st_draw_vbo (ctx=0x9c10c58, arrays=0x9c55ecc, prims=0x9c548a0, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001', min_index=0, max_index=3)
    at src/mesa/state_tracker/st_draw.c:719
#18 0x010ccc8c in vbo_exec_vtx_flush (exec=0x9c54768, unmap=1 '\001') at src/mesa/vbo/vbo_exec_draw.c:384
#19 0x010c8dec in vbo_exec_FlushVertices_internal (ctx=0x9c10c58, unmap=1 '\001') at src/mesa/vbo/vbo_exec_api.c:876
#20 0x010c8e9a in vbo_exec_FlushVertices (ctx=0x9c10c58, flags=1) at src/mesa/vbo/vbo_exec_api.c:910
#21 0x0108cefd in enable_texture (ctx=0x9c10c58, state=0 '\000', texBit=32) at src/mesa/main/enable.c:237
#22 0x0108f4b1 in _mesa_set_enable (ctx=0x9c10c58, cap=3553, state=0 '\000') at src/mesa/main/enable.c:619
#23 0x01090f41 in _mesa_Disable (cap=3553) at src/mesa/main/enable.c:1063
#24 0x00f8f9db in save_Disable (cap=3553) at src/mesa/main/dlist.c:2041
#25 0x08049304 in display () at piglit/tests/bugs/fdo10370.c:81
#26 0x00a6d820 in ?? () from /usr/lib/libglut.so.3
#27 0x00a71660 in fgEnumWindows () from /usr/lib/libglut.so.3
#28 0x00a6dcdb in glutMainLoopEvent () from /usr/lib/libglut.so.3
#29 0x00a6e605 in glutMainLoop () from /usr/lib/libglut.so.3
#30 0x080497fd in main (argc=2, argv=0xbffb7a54) at piglit/tests/bugs/fdo10370.c:170
Comment 1 Vinson Lee 2010-09-14 13:21:53 UTC
501d43028e8e551dd36ede00fb85095183c32037 is the first bad commit
commit 501d43028e8e551dd36ede00fb85095183c32037
Author: José Fonseca <jfonseca@vmware.com>
Date:   Mon Sep 13 12:03:07 2010 +0100

    llvmpipe: Unbreak rasterization on 64bit.

:040000 040000 1444e1775218a8e72825c0fb9b610405f6934031 d4abadbee993cec816afa97fe1a5899b9fb239c8 M	src
bisect run success
Comment 2 Jose Fonseca 2010-09-14 13:36:58 UTC
I just fixed the build. Keith's the one who really understands what this code is trying to achieve.
Comment 3 Brian Paul 2010-09-21 13:08:10 UTC
Keith fixed this with commit 59ca1ae84b2c15c8a94211da158f563e45560bcd
Comment 4 Vinson Lee 2010-09-21 14:08:25 UTC
mesa: 45d10c7d5910ada45b3bf7c34f9fb98c80c72664 (master)
mesa: 2606105cc5c452f32e3b3418e474e3c71702534a (7.9)

Verified fixed.


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.