From: Brian P. <br...@va...> - 2001-03-06 00:06:20
|
Keith Whitwell wrote: > > Brian Paul wrote: > > > > Keith Whitwell wrote: > > > > > > Brian Paul wrote: > > > > > > > > CVSROOT: /cvsroot/mesa3d > > > > Module name: Mesa > > > > Repository: Mesa/src/tnl_dd/ > > > > Changes by: brianp@usw-pr-cvs1. 01/03/05 14:40:10 > > > > > > > > Modified files: > > > > Mesa/src/tnl_dd/: > > > > t_dd_vbtmp.h > > > > > > > > Revision Changes Path > > > > 1.6 +160 -116 Mesa/src/tnl_dd/t_dd_vbtmp.h > > > > > > > > Log message: > > > > fixed segfaults when tex unit 1 enabled, but not unit 0 (conform) > > > > > > Brian, > > > > > > This should already be handled by the code in which checks > > > if texcoordptr[0] is null, and if so assigns it to texcoordptr[1] (the > > > maximally numbered texcoordptr must be nonnull). > > > > > > The question is why this mechanism didn't work in your case - what hardware > > > demonstrated the problem? > > > > i810 running 'conform -1 multitex.c' VB->TexCoordPtr[0] was null and causing > > the segfault, around line 188 in t_dd_vbtmp.h. > > I've found a way for this to happen. Can you confirm that this occurs via > 'i810_emit_contiguous_verts()' ? Yes: #0 0x403e8e03 in emit_wgt0t1 (ctx=0x81b58b0, start=0, end=1, dest=0x40017004, stride=40) at ../../tnl_dd/t_dd_vbtmp.h:165 #1 0x403f1e70 in i810_emit_contiguous_verts (ctx=0x81b58b0, start=0, count=1) at i810vb.c:446 #2 0x403d538e in i810_render_poly_verts (ctx=0x81b58b0, start=0, count=4, flags=777) at ../../tnl_dd/t_dd_dmatmp.h:378 #3 0x403d581b in i810_run_render (ctx=0x81b58b0, stage=0x8258fd4) at i810render.c:170 #4 0x4037ef6c in _tnl_run_pipeline (ctx=0x81b58b0) at t_pipeline.c:158 #5 0x4037d57b in _tnl_run_cassette (ctx=0x81b58b0, IM=0x8264020) at t_imm_exec.c:329 #6 0x4037d6e5 in exec_vert_cassette (ctx=0x81b58b0, IM=0x8264020) at t_imm_exec.c:391 #7 0x4037d7ba in _tnl_execute_cassette (ctx=0x81b58b0, IM=0x8264020) at t_imm_exec.c:429 #8 0x40373fbe in _tnl_flush_immediate (IM=0x8264020) at t_imm_api.c:57 #9 0x40373ffe in _tnl_flush_vertices (ctx=0x81b58b0, flags=1) at t_imm_api.c:67 #10 0x40307e04 in _mesa_ReadPixels (x=0, y=0, width=64, height=64, format=6407, type=5126, pixels=0x82c9700) at readpix.c:48 -Brian |