hello there!
i have compiled bullet on two pcs.
one is a new pc, the other is a p3, 1ghz, generic on board video card. both running windows xp. i am compiling using MSVC++ 2008.
the problem i am facing is that it will run on the new PC, but the old PC all the examples crash. My video game also crashes on initializing bullet.
i unearthed some information about SSE, SSE2.
i compiled WITH support for sse and with no preference , neither gets the examples to not crash.
as far as i understand SSE2 is an instruction set for 64x so i did not try that.
can any body help me figure out why my examples will not run and i cannot use bullet on this pc?
examples crashing?
-
- Posts: 144
- Joined: Fri Aug 01, 2008 6:36 am
- Location: Bonn, Germany
Re: examples crashing?
no, is for Pentium4+ processors...and it is probably in your binary,as far as i understand SSE2 is an instruction set for 64x so i did not try that.
If you can disassemble the binary (on Linux it were "objdump -d")
and find one of following instruction
- it is SSE2... I think. you have to build for Pentium III without simd math... It is enabled foraddpd addsd andnpd andpd clflush cmppd cmpsd
comisd cvtdq2pd cvtdq2ps cvtpd2pi cvtpd2pq
cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si
cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq
cvttps2dq cvttsd2si divpd divsd lfence
maskmovdqu maxpd maxsd mfence minpd minsd
movapd movd movdq2q movdqa movdqu movhpd
movlpd movmskpd movntdq movnti movntpd movq
movq2dq movsd movupd mulpd mulsd orpd packsswb
packssdw packuswb paddb paddw paddd paddq paddq
paddsb paddsw paddusb paddusw pand pandn pause
pavgb pavgw pcmpeqb pcmpeqw pcmpeqd pcmpgtb
pcmpgtw pcmpgtd pextrw pinsrw pmaddwd pmaxsw
pmaxub pminsw pminub pmovmskb pmulhw pmulhuw
pmullw pmuludq pmuludq por psadbw pshufd pshufhw
pshuflw pslldq psllw pslld psllq psraw psrad
psrldq psrlw psrld psrlq psubb psubw psubd psubq
psubq psubsb psubsw psubusb psubusw psubsb
punpckhbw punpckhwd punpckhdq punpckhqdq
punpcklbw punpcklwd punpckldq punpcklqdq pxor
shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd
unpcklpd xorpd
Windows by default, afaik there was an option for cmake (look in CMakeLists.txt) or you can look into
LinearMath/btScalar.h and vectormath/vmInclude.h... Check BT_USE_SSE and also scalar version of
vectormath selected. May be there are more elegant ways to select it, there are many build systems
-
- Posts: 144
- Joined: Fri Aug 01, 2008 6:36 am
- Location: Bonn, Germany
Re: examples crashing?
Look for ksh script in attach.r@deb:~/Desktop/bullet-2.77-win32_executables/CPU_Demos$ analyse-x86.sh AppBasicDemo.exe
Checking vendor_id string...GenuineIntel
Disassembling AppBasicDemo.exe, please wait...
i486: 0 i586: 2 ppro: 85 mmx: 96 sse: 29286 sse2: 652
This binary was found to contain the cpuid instruction.
It may be able to conditionally execute instructions if
they are supported on the host (i586+).
AppBasicDemo.exe will run on Pentium IV (pentium4) or higher processor.
You do not have the required permissions to view the files attached to this post.