summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/cell/common.h
AgeCommit message (Collapse)Author
2008-01-30Cell: move CELL_MAX_SPUSBrian
2008-01-28Cell: compute min index referenced in draw command, use it to reduce size of ↵Brian
vertex data payload
2008-01-28Cell: basic texture mappingBrian
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-28Cell: re-enable bounding boxesBrian
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-28Cell: clean-up of render pathBrian
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-28Cell: checkpoint commit: always inline prim indexes into batch bufferBrian
Also, explicit release-vertex-buffer command. Lots of debug/stale code still in place...
2008-01-28Cell: generalize the batch buffer code for vertex buffers...Brian
2008-01-26Cell: added support for inlined vertex buffers.Brian
Small prims are now self-contained in batch buffers when space allows.
2008-01-26Cell: added ROUNUP4Brian
2008-01-26Cell: added support for inlined indexesBrian
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-26Cell: move ASSERT macro into common.hBrian
2008-01-25Cell: emit framebuffer state like other stateBrian
Plus misc clean-up. Window resize sometimes works now.
2008-01-25Cell: propogate vertex info to SPUs, use it for attrib interpolationBrian
2008-01-25Cell: new ROUNDUP16() macroBrian
2008-01-24Cell: 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-24Cell: send actual vertex size in the render commandBrian
2008-01-21Cell: initial support for sampler stateBrian
2008-01-19Cell: 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-14Cell: 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-12Cell: first state object (depth/stencil/alpha) emitted to SPUsBrian
2008-01-11Cell: basic batch buffer workingBrian
2008-01-11Cell: initial work for a hw-like batch buffer systemBrian
2008-01-11Cell: remove obsolete cell_prim_buffer struct and codeBrian
2008-01-11Cell: Remove the pre-vbuf rendering codeBrian
2008-01-10Cell: checkpoint: draw_vbuf code in place and works, but not enabled by ↵Brian
default yet.
2008-01-10bump CELL_MAX_VERTS to 240Brian
2008-01-09Cell: implemement basic Z testingBrian
Also, improve some surface clearing code
2008-01-03Cell: improve surface state code to replace some temporary code.Brian
2008-01-03pass surface format in cell_command_framebuffer structBrian
2008-01-02only fetch as much vertex data as neededBrian
2008-01-02remove previous triangle test codeBrian
2008-01-02Cell: 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-11Cell: draw smooth-shaded triangleBrian
2007-12-11Collect some global vars in a single struct.Brian
2007-12-11use ALIGN16_ATTRIB from p_compiler.hBrian
2007-12-10Cell: 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-10Cell 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-02Initial Cell driver infrastructure.Brian
No real code yet. Just stand-ins and make/build infrastructure.