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

Josh Gargus josh at schwa.ca
Sat Jan 30 22:25:21 UTC 2010


On Jan 30, 2010, at 11:54 AM, John M McIntosh wrote:

> 
> Ah, well here is an interesting issue for you to solve then. 
> 
> http://bugs.squeak.org/view.php?id=5236


Another good one to be aware of, thanks.  It's not biting me currently, so I'm going to try to push forward with my current goals.

Cheers,
Josh



> 
> 
> On 2010-01-30, at 10:27 AM, 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.
>> 
>> Cheers,
>> Josh
>> 
>> <PatchesForExternalForm.zip>
> 
> --
> ===========================================================================
> John M. McIntosh <johnmci at smalltalkconsulting.com>   Twitter:  squeaker68882
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ===========================================================================
> 
> 
> 
> 



More information about the Vm-dev mailing list