Roland Scheidegger wrote:
Donnie Berkholz wrote:

I recently updated Mesa from 6.4.1 to CVS HEAD, and discovered that the
UT2003 demo [1] didn't work anymore. With some help from aet, I finally
got some useful information out of it that suggests TNL as the likely
culprit:

(gdb) bt
#0  0xb3038ae5 in _mesa_align_free (ptr=0x0) at imports.c:192
#1  0xb308cdbd in dtr (stage=0xbf87c69c) at t_vb_vertex.c:248
#2  0xb3081ab6 in _tnl_sse_codegen_vertex_program (p=0x8fc80f8)
    at t_vb_arbprogram_sse.c:1139
#3  0xb3080a5b in validate_vertex_program (ctx=0x92edc10,
    stage=0x86ffa88) at t_vb_arbprogram.c:1130
#4  0xb3077ba3 in _tnl_run_pipeline (ctx=0x92edc10) at
    t_pipeline.c:144
#5  0xb31302d1 in _tnl_draw_range_elements (ctx=0x92edc10, mode=52,
    max_index=6, index_count=12, indices=0x8999f38) at t_array_api.c:105
#6  0xb3070154 in neutral_DrawRangeElements (mode=4, start=0, end=5,
    count=12, type=5123, indices=0x8b64110) at vtxfmt_tmp.h:349
#7  0xb47caaeb in FOpenGLRenderInterface::DrawPrimitive ()
    from /opt/ut2003-demo/System/OpenGLDrv.so


This looks very similar to https://bugs.freedesktop.org/show_bug.cgi?id=5791

I think t_vb_arbprogram_sse.c is fairly broken on the trunk.

The emit_func[] array is indexed by program opcode, but the opcode list was changed a couple months ago when the vertex and fragment program code was unified.

It might be as simple as inserting emit_NOP entries at the right place.

A more robust way to init emit_func[] would be this:


   emit_func[OPCODE_ABS] = emit_ABS;
   emit_func[OPCODE_ADD] = emit_ADD;
   ...

Then adding/changing program opcodes wouldn't cause trouble.

I'm checking in some assertions to do some sanity checks.

-Brian



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to