Source: ps3-spu
Section: misc
Priority: optional
Maintainer: PS3 Linux project <ps3@localhost>
Build-Depends: debhelper-compat (= 13)
Standards-Version: 4.7.2
Rules-Requires-Root: no

Package: ps3-spu
Architecture: ppc64
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: ps3-spu-programs
Description: SPU program runner and libspeq tools for the PS3's Cell SPEs
 spurun loads and runs an SPU program through spufs; speq-dxt tests and benchmarks libspeq's
 DXT1 and DXT5 texture encoders; speq-bench measures libspeq's queue (wake and completion latency,
 parking, the 0x2104 syscall path, the decrementer, DMA bandwidth) with bench.spu;
 speq-skin tests and benchmarks libspeq's vertex skinning. The package loads spufs at
 boot and mounts it at /spu.

Package: ps3-spu-programs
Architecture: all
Depends: ${misc:Depends}
Breaks: ps3-spu (<< ${source:Version})
Replaces: ps3-spu (<< ${source:Version})
Description: SPU programs for the PS3
 SPU programs (*.spu, built with spu-elf GCC) in /usr/lib/ps3/spu: hello.spu, run with
 spurun; bench.spu, libspeq's resident worker with the operations speq-bench uses;
 dxt.spu, the worker libspeq's DXT1 and DXT5 texture compression runs on the SPEs; and
 deadline.spu, the worker of libspeq's deadline pool, which renders fluidsynth's voices
 (MIDI synthesis) and skins skeletal models' vertices for games (Sauerbraten) on two SPEs
 shared by both, jobs taken by deadline.

Package: libspeq0
Section: libs
Architecture: ppc64
Multi-Arch: same
Depends: ps3-spu, ps3-spu-programs (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: work queues on the PS3's SPEs, DXT1/DXT5 compression, MIDI synthesis, skinning
 libspeq runs jobs on resident SPU workers fed through spufs, and provides services built on
 them. S3TC DXT1 and DXT5 texture compression, which Mesa loads at run time
 (speq_s3tc_compress_v1): van Waveren's real-time DXT1, and DXT5 on top of it, on the SPEs
 (dxt.spu), and on the PPE for small images or when no SPE is available, with the same
 output, from RGBA or RGB sources (SPEQ_S3TC=auto|spu|ppe|off, SPEQ_S3TC_DXT5=off,
 SPEQ_S3TC_RGB=ppe). fluidsynth's voice rendering,
 which our fluidsynth loads at run time (speq_synth_*_v2): sample interpolation, filters
 and mixing on the SPEs (SPEQ_SYNTH=auto|spu|ppe|off). Vertex skinning of skeletal models,
 which our Sauerbraten loads at run time (speq_skin_*_v1): dual quaternion or matrix
 palettes, positions, normals and tangents on the SPEs (SPEQ_SKIN=auto|spu|ppe|off). Both
 share one deadline pool of two SPEs (deadline.spu, SPEQ_POOL_SPES), next to DXT's four.
 SPEQ_DEBUG=1 logs what each service does.

Package: libspeq-dev
Section: libdevel
Architecture: ppc64
Multi-Arch: same
Depends: libspeq0 (= ${binary:Version}), ${misc:Depends}
Description: work queues on the PS3's SPEs (development files)
 The header speq.h and the libspeq.so link for building against libspeq.
