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 | Use SPUs for vertex shader processing | 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 | Correctly read / write vertex header from / to main memory | Ian Romanick | |
2008-01-30 | Handle CELL_CMD_VS_EXECUTE *only* outside batch commands. | Ian Romanick | |
2008-01-30 | Set machine->Processor | Ian Romanick | |
The default value is 0, which is TGSI_PROCESSOR_FRAGMENT...not correct for a vertex shader! | |||
2008-01-30 | Elts are always ints, pass vOut pointers in-line in command | Ian Romanick | |
2008-01-30 | Implement micro_pow and micro_sqrt | Ian Romanick | |
Unimplemented micro ops get assertions for now. | |||
2008-01-30 | Fix size calculation in attribute fetch. | Ian Romanick | |
2008-01-30 | Fetch uniforms from main memory. | Ian Romanick | |
2008-01-30 | Missing amperstand in previous commit. Oops. | Ian Romanick | |
2008-01-30 | Pass ptr to local memory copy instead of main memory to exec_instruction | Ian Romanick | |
This was essentially a cut-and-paste bug when the instruction fetcher was added. Also, the test for TGSI_PROCESSOR_FRAGMENT was moved outside the loop for exec_declaration. | |||
2008-01-30 | Implement vertex fetch / vertex shader output write-back | Ian Romanick | |
2008-01-30 | Initial pass at instruction / declaration fetch | 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: prototype SIMD code for z testing | Brian | |
2008-01-30 | Cell: start to SIMD-ize triangle attribute interpolation | Brian | |
Using the spu_add(), etc intrinsics. About a 15% speed-up with some tests. | |||
2008-01-30 | Cell: fold setup_tri() into tri_draw() | Brian | |
2008-01-30 | Cell: make 'setup' a regular var instead of passing around a pointer everywhere | Brian | |
We'll never have more than one of these objects. Avoiding pointer deref improves performance a bit. | |||
2008-01-30 | Cell: minor code refactoring, movement | Brian | |
2008-01-30 | Cell: check tile status before wait_on_mask() | Brian | |
2008-01-30 | Cell: make wait_on_mask() static/inlined | Brian | |
2008-01-30 | Cell: move CELL_MAX_SPUS | Brian | |
2008-01-29 | Cell: use _pack_rgba8() from pack_rgba8.h to do float[4]->uint color conversion | Brian | |
texcyl.c is twice as fast now in non-texture mode | |||
2008-01-28 | Cell: move cmd_render() into new spu_render.c file | Brian | |
2008-01-28 | Cell: add a few null texture tests | 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: minor optimization for flat shading | Brian | |
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: initial texture cache/sampling code | Brian | |
2008-01-28 | Cell: emit state in cell_clear_surface() if dirty. | Brian | |
Without this a program that does nothing but glClear() doesn't work. We need the framebuffer state. | |||
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: additional assertions | Brian | |
2008-01-28 | Cell: make sure state commands aren't split across batches | Brian | |
2008-01-28 | Cell: remove unneeded flush(), dead code | Brian | |
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: If flushing for swapbuffers, wait for frame completion | Brian | |
2008-01-28 | Cell: additional debug code, misc clean-up | Brian | |
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: added cell_batch_free_space() | Brian | |
2008-01-26 | Cell: remove some old tile code | Brian | |
2008-01-26 | Cell: fix a recursive flushing bug | Brian | |
2008-01-26 | Cell: add check to catch recursive batch flushing | Brian | |
2008-01-26 | Cell: move ASSERT macro into common.h | Brian | |
2008-01-25 | Cell: updates to match pipe_buffer changes | Brian | |