Age | Commit message (Collapse) | Author | |
---|---|---|---|
2008-01-30 | I don't know why using uint64_t for "base" doesn't work. Ugh. | Ian Romanick | |
2008-01-30 | Numerous small fixed to PPU-SPU vertex shader protocol | Ian Romanick | |
2008-01-30 | cell_array_info should not be 16-byte aligned | Ian Romanick | |
Forcing cell_array_info to be 16-byte aligned makes it more difficult to stuff that state in batch commands. | |||
2008-01-30 | Handle CELL_CMD_VS_EXECUTE *only* outside batch commands. | Ian Romanick | |
2008-01-30 | Elts are always ints, pass vOut pointers in-line in command | Ian Romanick | |
2008-01-30 | Initial pass at vertex shader on SPU using TGSI VM | Ian Romanick | |
All of the code is wired in on the SPU side, but it is not called from the PPU yet. Instruction / declaration fetch still needs to be implemented in spu_exec.c. | |||
2008-01-30 | Cell: move CELL_MAX_SPUS | Brian | |
2008-01-28 | Cell: compute min index referenced in draw command, use it to reduce size of ↵ | Brian | |
vertex data payload | |||
2008-01-28 | Cell: basic texture mapping | Brian | |
Texture images are tiled in PPU code. SPUs use a texture cache for getting texels from textures. This is very rough code, but demos/texcyl.c works. | |||
2008-01-28 | Cell: re-enable bounding boxes | Brian | |
The geometry bounding box is used to restrict rasterization to just those tiles that are relevant. Note another dummy field had to be added to the cell_command_render struct. Apparently, every 4th word in a struct is susceptible to corruption in some circumstances. Might be a compiler bug. | |||
2008-01-28 | Cell: clean-up of render path | Brian | |
Finally removed a number of unneeded flush commands. Vertex buffers are allocated from the general buffer pool, freed by SPUs when done. Still an occasional failed assertion (invalid batch buffer command)... | |||
2008-01-28 | Cell: checkpoint commit: always inline prim indexes into batch buffer | Brian | |
Also, explicit release-vertex-buffer command. Lots of debug/stale code still in place... | |||
2008-01-28 | Cell: generalize the batch buffer code for vertex buffers... | Brian | |
2008-01-26 | Cell: added support for inlined vertex buffers. | Brian | |
Small prims are now self-contained in batch buffers when space allows. | |||
2008-01-26 | Cell: added ROUNUP4 | Brian | |
2008-01-26 | Cell: added support for inlined indexes | Brian | |
If there's room in the batch buffer after the rendering command to accomodate the indexes, put them there rather than in a separate buffer. | |||
2008-01-26 | Cell: move ASSERT macro into common.h | Brian | |
2008-01-25 | Cell: emit framebuffer state like other state | Brian | |
Plus misc clean-up. Window resize sometimes works now. | |||
2008-01-25 | Cell: propogate vertex info to SPUs, use it for attrib interpolation | Brian | |
2008-01-25 | Cell: new ROUNDUP16() macro | Brian | |
2008-01-24 | Cell: insert dummy field into cell_command_render struct to work around ↵ | Brian | |
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 | |||
2008-01-24 | Cell: send actual vertex size in the render command | Brian | |
2008-01-21 | Cell: initial support for sampler state | Brian | |
2008-01-19 | Cell: improve "finished copying batch buffer" signalling. | Brian | |
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. | |||
2008-01-14 | Cell: after sending a batch, wait for a DMA completion signal. | Brian | |
This fixes sporadic rendering glitches. Using a mailbox msg for now, until spe_mfcio_tag_status_read() or similar is found to work. | |||
2008-01-12 | Cell: first state object (depth/stencil/alpha) emitted to SPUs | Brian | |
2008-01-11 | Cell: basic batch buffer working | Brian | |
2008-01-11 | Cell: initial work for a hw-like batch buffer system | Brian | |
2008-01-11 | Cell: remove obsolete cell_prim_buffer struct and code | Brian | |
2008-01-11 | Cell: Remove the pre-vbuf rendering code | Brian | |
2008-01-10 | Cell: checkpoint: draw_vbuf code in place and works, but not enabled by ↵ | Brian | |
default yet. | |||
2008-01-10 | bump CELL_MAX_VERTS to 240 | Brian | |
2008-01-09 | Cell: implemement basic Z testing | Brian | |
Also, improve some surface clearing code | |||
2008-01-03 | Cell: improve surface state code to replace some temporary code. | Brian | |
2008-01-03 | pass surface format in cell_command_framebuffer struct | Brian | |
2008-01-02 | only fetch as much vertex data as needed | Brian | |
2008-01-02 | remove previous triangle test code | Brian | |
2008-01-02 | Cell: basic triangle rendering works. | Brian | |
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. | |||
2007-12-11 | Cell: draw smooth-shaded triangle | Brian | |
2007-12-11 | Collect some global vars in a single struct. | Brian | |
2007-12-11 | use ALIGN16_ATTRIB from p_compiler.h | Brian | |
2007-12-10 | Cell: first triangle. | Brian | |
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. | |||
2007-12-10 | Cell driver state-setter functions, basic tile get/put, glClear. | Brian | |
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 | |||
2007-12-02 | Initial Cell driver infrastructure. | Brian | |
No real code yet. Just stand-ins and make/build infrastructure. |