Age | Commit message (Collapse) | Author |
|
apparent compiler bug
Without this dummy field, it seems the SPU code in cmd_render() gets a bogus
value when dereferencing render->num_indices, sometimes.
This showed up as missing tries in gears.c in the first frame rendered.
Using spu-gcc version 4.1.1, Cell SDK 2.1
|
|
|
|
|
|
When the SPU is done copying a batch buffer to local store, use an mfc_put()
to write a "done" message back to the buffer status array in main memory.
We were previously using a mailbox message for synchronization.
|
|
This fixes sporadic rendering glitches.
Using a mailbox msg for now, until spe_mfcio_tag_status_read() or similar
is found to work.
|
|
|
|
|
|
|
|
|
|
|
|
default yet.
|
|
|
|
Also, improve some surface clearing code
|
|
|
|
|
|
|
|
|
|
The cell "render_stage" (last in the "draw" pipeline) emits vertices into
a buffer which is pulled by the SPUs in response to a "RENDER" command.
This is pretty much temporary/scaffold code for now.
|
|
|
|
|
|
|
|
This is a feeble first step, but it works.
The cell_clear_surface() function has been hijacked to set up a "draw triangle"
command and send it to all the SPUs.
The Gallium softpipe triangle code was copied to the SPU module and modified.
Only the progs/trivial/clear.c program runs.
|
|
The state setting code was mostly just copied from the softpipe driver.
The SPUs can now get/put framebuffer tiles from/to main memory and clear
them to a given color. Lots of debug code in effect.
Tiled framebuffer is displayed in X window via the xmwinsys layer.
To enable Cell driver, export GALLIUM_CELL=1
|
|
No real code yet. Just stand-ins and make/build infrastructure.
|