2007/2/27, Geoffrey Broadwell <[EMAIL PROTECTED]>:
As a simpler case than a full 3D engine port, I have some OpenGL
benchmarks in Perl 5 that I can port -- these have much reduced
requirements.  Principly, they need:

 1. Basic math and string operators (not grammars)
 2. Basic looping and simple control structures
 3. Basic subroutine handling
 4. Basic I/O: read file, print to STDOUT (printf is a bonus)
 5. Read access to command line args
 6. Perl scalars, hashes, and arrays, with one level nesting
 8. eval (tight inner loops are generated)
 9. High-resolution time
10. Access to SDL & OpenGL constants
11. Procedural calls to OpenGL, with scalar return values
12. Procedural or OO calls to SDL, with scalar (and object, if OO)
return values (no callbacks)

Pugs at the moment support all of the above, using the Perl 5 bridge
for "use perl5:SDL" and "use perl5:OpenGL".  So the sole requirement
seems to be:

 7. Packed arrays with access to raw data pointer to give to API

Is it possible to point us to some use cases of such packed arrays,
especially the raw data pointer API part?

Also, if you would translate a few such use cases to the syntax in S09
(http://perlcabal.org/syn/S09.html) and committing them under
t/data_types/, then it'd be much easier to measure which parts of
packed arrays needs to be specced/implemented first.

Cheers,
Audrey

Reply via email to