Unix B3D Acceleration

Joshua 'Schwa' Gargus schwa at cc.gatech.edu
Fri Jun 28 20:59:47 UTC 2002


Hi,

I have been unable to build a VM with working B3D acceleration from
either SourceForge or Ian's sources.

With the SF sources, I wasn't able to build a VM at all.  There were a
ton of warnings about control reaching the end of a non-void function.
The errors that stopped the build process were

B3DAcceleratorPlugin/sqUnixOpenGL.lo: In function `glGetIntProperty':
/home/schwa/squeakvm/build/../platforms/unix/misc/../../../platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.c:330: multiple definition of `glGetIntProperty'
B3DAcceleratorPlugin/sqOpenGLRenderer.lo:/home/schwa/squeakvm/build/../platforms/unix/misc/../../../platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c:654: first defined here
/usr/bin/ld: Warning: size of symbol `glGetIntProperty' changed from 909 to 547 in B3DAcceleratorPlugin/sqUnixOpenGL.lo
B3DAcceleratorPlugin/sqUnixOpenGL.lo: In function `glSetIntProperty':
/home/schwa/squeakvm/build/../platforms/unix/misc/../../../platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.c:361: multiple definition of `glSetIntProperty'
B3DAcceleratorPlugin/sqOpenGLRenderer.lo:/home/schwa/squeakvm/build/../platforms/unix/misc/../../../platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c:709: first defined here
/usr/bin/ld: Warning: size of symbol `glSetIntProperty' changed from 1134 to 753 in B3DAcceleratorPlugin/sqUnixOpenGL.lo
collect2: ld returned 1 exit status
make: *** [B3DAcceleratorPlugin.la] Error 1



Giving up on that, I downloaded Ian's sources and gave them a try.  I
tried both using his tree as-is, and with a src/ directory generated
by VMMaker.  With VMMaker, I tried to build B3DAcceleratorPlugin as
both an internal and an external plugin.  In all 3 cases, the result
was a working VM without B3D hardware acceleration.

The problem is the failure of the line
	p= interpreterProxy->ioLoadFunctionFrom("stDisplay", NULL);
in sqUnixOpenGL.c

One confusing thing is that stDisplay doesn't seem to be a function.
Is some initialization function supposed to stash stDisplay (the one
from sqXWindow.c) in a primitive table so that the accelerator plugin
can find it?  If so, this isn't happening.

Help!
Joshua





More information about the Squeak-dev mailing list