yesterday I got a brand new MIPSel-based netbook, and while the CPU is probably far from being powerful enough to make it a decent rendering platform, I tried to compile Pixie 2.2.6 out of curiosity. It failed to compile src/ri/atomic.h
This atomic.h seems to be designed to assemble atomic increment and decrement on known platforms, and to fallback on generic C++ code on unkown platform. That MIPSel netbook seems to be an unkown platform.
The problem with that generic C++ code is that it relies on the CRenderer class, and osLock() and osUnlock() functions, which are not declared anywhere in atomic.h. I tried the obvious fix of #including "renderer.h" right after the #warning line (line 144 of Pixie 2.2.6), but for some strange reason I still had the same "undeclared stuff" errors.
I will investigate it more thoroughly when I have more time, but I still report it in case somebody can have a look at it sooner than me (you can probably mess up with the #if to compile the generic code even on a known platform, something is obviously wrong, only the fix doesn't seem obvious).
Hoping it helps,
What operating system are you running?
I think the atomic operators in pixie should be rewritten for gcc to use its builtin atomic functions: http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
I don't know what processor support it has, but it's something that could be tested with a trivial application. There's an example you can try to compile on your system with gcc 4.1.0 or newer and see if it compiles and runs properly:
Log in to post a comment.