Ah, well here is an interesting issue for you to solve then.
http://bugs.squeak.org/view.php?id=5236
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@smalltalkconsulting.com Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================