I've been looking at the kernel source for the SL6000's framebuffer driver, and I can see an API provided to access the hardware acceleration - but it's documentation is pretty much zero
The only example of it being actually used in the driver itself is the tc6393_clear_screen() function, that uses the hardware rectangle fill to clear the screen. There's a very interesting looking command set provided in the tc6393fb.h file, and an ioctl provided to pass lists of commands to the graphics hardware for processing - but the actual commands (although defined) aren't actually documented
The clear screen example in the driver is
static u32 cmd[6];
cmd[0] = PXAIO_COMDI_DSADR|PXAIO_COMDD_DSADR(((int)remapped_fbuf));
cmd[1] = PXAIO_COMDI_DHPIX|PXAIO_COMDD_DHPIX(xres - 1);
cmd[2] = PXAIO_COMDI_DVPIX|PXAIO_COMDD_DVPIX(yres - 1);
cmd[3] = PXAIO_COMDI_FILL|PXAIO_COMDD_FILL(0xffff);
cmd[4] = PXAIO_COMDI_FLGO;
Using the ioctl interface to the framebuffer, this would be:
static u32 cmd[6];
cmd[0] = 5;
cmd[1] = PXAIO_COMDI_DSADR|PXAIO_COMDD_DSADR(((int)remapped_fbuf));
cmd[2] = PXAIO_COMDI_DHPIX|PXAIO_COMDD_DHPIX(xres - 1);
cmd[3] = PXAIO_COMDI_DVPIX|PXAIO_COMDD_DVPIX(yres - 1);
cmd[4] = PXAIO_COMDI_FILL|PXAIO_COMDD_FILL(0xffff);
cmd[5] = PXAIO_COMDI_FLGO;
ioctl(fbHandle,TC6393FB_ACC_CMD_WRITE,cmd);
and then I'm guessing that if you want to make sure it's completed before carrying on, you can use:
ioctl(fbHandle,TC6393FB_ACC_SYNC,0);
But the tc6393 looks like it can do blitting as well....I've no idea what the rest of the command API def's actually do though?
And glory be - Toshiba haven't released a datasheet for the chip
When I eventually get my hands on my SL6000 (my wife's hidden it 'til Christmas) I'll start trying some of the commands, see if I can work it out through trial & error.....unless someone else beats me to it of course
SDL would go much quicker with a bit of the ol' hardware accel...