[Vm-dev] Patches to SqueakFFIPrims and FFI-Kernel to support "manual surfaces"

Josh Gargus josh at schwa.ca
Sat Jan 30 21:51:06 UTC 2010


On Jan 30, 2010, at 11:35 AM, David T. Lewis wrote:

> 
> On Sat, Jan 30, 2010 at 10:27:00AM -0800, Josh Gargus wrote:
>> 
>> Hi,
>> 
>> Here's a zip file that contains patches to SqueakFFIPrims (both Slang and
>> C support files) and FFI-Kernels in order to support "manual surfaces",
>> as embodied in the new class ExternalForm.  There's a README in the zip
>> file that describes how the changes fit together, so here I'll just
>> describe the goal.
>> 
>> The intent is to have a subclass of Form, ExternalForm, that uses an
>> arbitrary pointer as the location of its pixel-data.  It achieves this
>> by acting as a client of SurfacePlugin much like any other, with the added
>> twist of a primitive that enables Squeak code to set/clear the pointer.
>> This is useful when working with such APIs as OpenGL and OpenCL, which
>> provide a "map-image" API for interacting with images which reside in
>> GPU memory.  For example, if you want to access the updated contents of
>> an OpenCL image, you would call clEnqueueMapImage().  This returns a
>> pointer to CPU-accessible memory; by using this as the pointer for an
>> ExternalForm, we can seamlessly use the OpenCL image just like any other
>> Squeak Form.
> 
> Josh,
> 
> Sounds good!
> 
> Just FYI, there are 64 bit issues with both FFI and SurfacePlugin.
> 
>  Mantis 7237: Make FFI work on 64 bit platforms
>    (http://bugs.squeak.org/view.php?id=7237)
>  Mantis 7433: Gstreamer and Pango plugins fail on 64-bit host
>    (http://bugs.squeak.org/view.php?id=7433)
> 
> Patches for FFI are available but not yet integrated (this is a
> big set of changes that affects the interpreter as well as the
> plugin). The issues with SurfacePlugin and dependent plugins have
> not been addressed yet.


Thanks for the info.  I noticed that SurfacePlugin has 32-bit assumptions built in, and I just went with the flow.  When SurfacePlugin is fixed (whenever/however that happens), my new primitives will also need fixing.

Cheers,
Josh




> 
> I'm mentioning this just so you are aware of the issues.
> 
> Dave
> 



More information about the Vm-dev mailing list