summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/cell
AgeCommit message (Collapse)Author
2008-01-30Cell: start to SIMD-ize triangle attribute interpolationBrian
Using the spu_add(), etc intrinsics. About a 15% speed-up with some tests.
2008-01-30Cell: fold setup_tri() into tri_draw()Brian
2008-01-30Cell: make 'setup' a regular var instead of passing around a pointer everywhereBrian
We'll never have more than one of these objects. Avoiding pointer deref improves performance a bit.
2008-01-30Cell: minor code refactoring, movementBrian
2008-01-30Cell: check tile status before wait_on_mask()Brian
2008-01-30Cell: make wait_on_mask() static/inlinedBrian
2008-01-30Cell: move CELL_MAX_SPUSBrian
2008-01-29Cell: use _pack_rgba8() from pack_rgba8.h to do float[4]->uint color conversionBrian
texcyl.c is twice as fast now in non-texture mode
2008-01-28Cell: move cmd_render() into new spu_render.c fileBrian
2008-01-28Cell: add a few null texture testsBrian
2008-01-28Cell: compute min index referenced in draw command, use it to reduce size of ↵Brian
vertex data payload
2008-01-28Cell: minor optimization for flat shadingBrian
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: initial texture cache/sampling codeBrian
2008-01-28Cell: 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-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: additional assertionsBrian
2008-01-28Cell: make sure state commands aren't split across batchesBrian
2008-01-28Cell: remove unneeded flush(), dead codeBrian
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: If flushing for swapbuffers, wait for frame completionBrian
2008-01-28Cell: additional debug code, misc clean-upBrian
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: added cell_batch_free_space()Brian
2008-01-26Cell: remove some old tile codeBrian
2008-01-26Cell: fix a recursive flushing bugBrian
2008-01-26Cell: add check to catch recursive batch flushingBrian
2008-01-26Cell: move ASSERT macro into common.hBrian
2008-01-25Cell: updates to match pipe_buffer changesBrian
2008-01-25Cell: typedefs need semicolons, Ian :)Brian
2008-01-25Cell: emit framebuffer state like other stateBrian
Plus misc clean-up. Window resize sometimes works now.
2008-01-25gallium: replace prim pipeline begin/end() functions with flush()Brian
This is basically half of Keith's draw/flush patch. The stage->point/line/tri() functions are now self-validating, the validator functions are installed by the flush() function. There were excessive calls to validate_pipeline(), however. This was caused by draw_prim_queue_flush() keeping a local 'first' variable that always pointed to the validate functions. Replaced 'first' with 'draw->pipeline.first'. Performance in gears is up just slightly with this patch.
2008-01-25Work around parameter differences for main in different SDK versionsIan Romanick
2008-01-25gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ codeKeith Whitwell
Provide an actual definition of the pipe_buffer struct, containing the parameters used to create the buffer, and its refcount. Shift refcounting buffers out of the winsys interface, similar to surfaces & textures. Rework pipebuffer/ to reflect the fact these changes, and also Michel's reworking of the buffer interface.
2008-01-25Cell: propogate vertex info to SPUs, use it for attrib interpolationBrian
2008-01-25Cell: batch_buffer_size should be uint, not ubyteBrian
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-24Cell: rewrite compute_vertex_layout()Brian
2008-01-24Cell: fix asst. warningsBrian
2008-01-23Cell: s/FORMAT/EMIT/Brian
2008-01-23Cell: remove old test codeBrian
2008-01-23Cell: asst. updates to sync up with today's earlier gallium changesBrian
2008-01-21Cell: initial support for sampler stateBrian
2008-01-21Cell: s/cell_init_surface_funcs/cell_init_surface_functions/Brian