[Mesa-dev] Gallium issue on Haiku scons build, duplicate rtasm, assertion error.

Alexander von Gluck kallisti5 at unixzen.com
Fri Jan 20 16:30:18 PST 2012


Quick question, I noticed that Mesa and gallium both implement rtasm...

src/gallium/auxiliary/rtasm/rtasm_x86sse.c:   p->need_emms = 1;
src/gallium/auxiliary/rtasm/rtasm_x86sse.c:   assert(p->need_emms);
src/gallium/auxiliary/rtasm/rtasm_x86sse.c:   p->need_emms = 0;
src/gallium/auxiliary/rtasm/rtasm_x86sse.c:   p->need_emms = 1;
src/gallium/auxiliary/rtasm/rtasm_x86sse.c:   p->need_emms = 1;
src/gallium/auxiliary/rtasm/rtasm_x86sse.c:   p->need_emms = 1;
src/gallium/auxiliary/rtasm/rtasm_x86sse.c:   p->need_emms = 1;
src/gallium/auxiliary/rtasm/rtasm_x86sse.h:   unsigned need_emms:8;
src/gallium/auxiliary/translate/translate_sse.c:   if (p->func->need_emms)

src/mesa/tnl/t_vertex_sse.c:   if (p->func.need_emms)
src/mesa/x86/rtasm/x86sse.c:   p->need_emms = 1;
src/mesa/x86/rtasm/x86sse.c:   assert(p->need_emms);
src/mesa/x86/rtasm/x86sse.c:   p->need_emms = 0;
src/mesa/x86/rtasm/x86sse.c:   p->need_emms = 1;
src/mesa/x86/rtasm/x86sse.c:   p->need_emms = 1;
src/mesa/x86/rtasm/x86sse.c:   p->need_emms = 1;
src/mesa/x86/rtasm/x86sse.c:   p->need_emms = 1;
src/mesa/x86/rtasm/x86sse.h:   int need_emms;

This causes a conflict when libgallium.a is linked with libmesa.a into 
libGL.so:

http://twitpic.com/89dbuu/full
(if statement detecting a 1 for need_emms then on the next line seeing a 0)


As libmesa's state_tracker and libmesa's rtasm require gallium's rtasm.. it 
seems i've hit a catch 22 here.

Any thoughts on this? I can't figure out how to solve it without large 
changes.

Thanks!
   -- Alex


More information about the mesa-dev mailing list