Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Initial pass at vertex shader on SPU using TGSI VM | Ian Romanick | 2008-01-30 | 9 | -1/+3540 |
| | | | | | | 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. | ||||
* | Cell: prototype SIMD code for z testing | Brian | 2008-01-30 | 2 | -34/+123 |
| | |||||
* | Cell: start to SIMD-ize triangle attribute interpolation | Brian | 2008-01-30 | 4 | -62/+79 |
| | | | | | Using the spu_add(), etc intrinsics. About a 15% speed-up with some tests. | ||||
* | Cell: fold setup_tri() into tri_draw() | Brian | 2008-01-30 | 1 | -43/+19 |
| | |||||
* | Cell: make 'setup' a regular var instead of passing around a pointer everywhere | Brian | 2008-01-30 | 1 | -210/+209 |
| | | | | | We'll never have more than one of these objects. Avoiding pointer deref improves performance a bit. | ||||
* | Cell: minor code refactoring, movement | Brian | 2008-01-30 | 1 | -30/+55 |
| | |||||
* | Cell: check tile status before wait_on_mask() | Brian | 2008-01-30 | 1 | -2/+2 |
| | |||||
* | Cell: make wait_on_mask() static/inlined | Brian | 2008-01-30 | 2 | -21/+21 |
| | |||||
* | Cell: move CELL_MAX_SPUS | Brian | 2008-01-30 | 2 | -3/+2 |
| | |||||
* | gallium: Teach draw_vf about draw vertices. | José Fonseca | 2008-01-30 | 3 | -174/+161 |
| | | | | | This reduces the emit overhead, which is significant since we're emiting one vertex at a time. | ||||
* | gallium: Remove draw_vertex_fetch::lookup. | José Fonseca | 2008-01-30 | 2 | -7/+0 |
| | | | | It is not being used, and would be dangerous to use given the possibility of constants. | ||||
* | gallium: Fix build on WinXP. | Michal Krol | 2008-01-30 | 6 | -19/+19 |
| | |||||
* | Cell: use _pack_rgba8() from pack_rgba8.h to do float[4]->uint color conversion | Brian | 2008-01-29 | 1 | -11/+4 |
| | | | | texcyl.c is twice as fast now in non-texture mode | ||||
* | gallium: weaken assert slightly | Keith Whitwell | 2008-01-29 | 1 | -1/+1 |
| | |||||
* | gallium: streamline various unfilled & stippled paths | Keith Whitwell | 2008-01-29 | 1 | -45/+113 |
| | |||||
* | gallium: Emit point size as a constant. | José Fonseca | 2008-01-29 | 1 | -4/+81 |
| | |||||
* | gallium: Emit constants. | José Fonseca | 2008-01-29 | 4 | -16/+62 |
| | |||||
* | gallium: Allow draw_vf usage to be controlled at runtime. | José Fonseca | 2008-01-29 | 1 | -78/+71 |
| | |||||
* | gallium: Add extern keyword to global. | José Fonseca | 2008-01-29 | 1 | -1/+2 |
| | |||||
* | Cell: move cmd_render() into new spu_render.c file | Brian | 2008-01-28 | 5 | -203/+283 |
| | |||||
* | Cell: add a few null texture tests | Brian | 2008-01-28 | 2 | -4/+12 |
| | |||||
* | Cell: compute min index referenced in draw command, use it to reduce size of ↵ | Brian | 2008-01-28 | 3 | -6/+29 |
| | | | | vertex data payload | ||||
* | Cell: minor optimization for flat shading | Brian | 2008-01-28 | 1 | -9/+28 |
| | |||||
* | Cell: basic texture mapping | Brian | 2008-01-28 | 10 | -28/+183 |
| | | | | | | 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. | ||||
* | Cell: initial texture cache/sampling code | Brian | 2008-01-28 | 2 | -0/+182 |
| | |||||
* | Cell: emit state in cell_clear_surface() if dirty. | Brian | 2008-01-28 | 1 | -0/+4 |
| | | | | | Without this a program that does nothing but glClear() doesn't work. We need the framebuffer state. | ||||
* | Cell: re-enable bounding boxes | Brian | 2008-01-28 | 3 | -12/+24 |
| | | | | | | | | 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. | ||||
* | gallium: Use GALLIUM_ prefix for env vars. | José Fonseca | 2008-01-29 | 1 | -1/+1 |
| | |||||
* | gallium: Use CALLOC for pb_buffer to ensure that all fields of pipe_buffer ↵ | José Fonseca | 2008-01-29 | 3 | -3/+4 |
| | | | | are initiallized. | ||||
* | gallium: Remove direct dependencies to mesa internals. | José Fonseca | 2008-01-29 | 4 | -64/+31 |
| | | | _mesa_exec_free is still being called. More invasive refactoring is necessary to clean it out. | ||||
* | gallium: remove dead vars, code | Keith Whitwell | 2008-01-28 | 1 | -3/+0 |
| | |||||
* | gallium: fix typos in hardwired fetch path | Keith Whitwell | 2008-01-28 | 1 | -2/+2 |
| | |||||
* | Cell: additional assertions | Brian | 2008-01-28 | 1 | -1/+4 |
| | |||||
* | Cell: make sure state commands aren't split across batches | Brian | 2008-01-28 | 1 | -11/+18 |
| | |||||
* | Cell: remove unneeded flush(), dead code | Brian | 2008-01-28 | 1 | -29/+1 |
| | |||||
* | Cell: clean-up of render path | Brian | 2008-01-28 | 4 | -148/+38 |
| | | | | | | 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)... | ||||
* | Cell: checkpoint commit: always inline prim indexes into batch buffer | Brian | 2008-01-28 | 4 | -66/+171 |
| | | | | | Also, explicit release-vertex-buffer command. Lots of debug/stale code still in place... | ||||
* | Cell: If flushing for swapbuffers, wait for frame completion | Brian | 2008-01-28 | 1 | -0/+3 |
| | |||||
* | Cell: additional debug code, misc clean-up | Brian | 2008-01-28 | 2 | -12/+42 |
| | |||||
* | Cell: generalize the batch buffer code for vertex buffers... | Brian | 2008-01-28 | 7 | -57/+79 |
| | |||||
* | gallium: handle flatshading explicitly in clipper stage | Keith Whitwell | 2008-01-28 | 2 | -47/+99 |
| | | | | | | | | | We can do a better job in the clip stage than just relying on the brute-force approach of copying colors to all incoming vertices applied in the flatshade stage. At very least, it is only necessary to do this in the clipper when a primitive is actually being clipped. | ||||
* | gallium: add a couple of hardwired vertex fetch functions | Keith Whitwell | 2008-01-28 | 3 | -30/+141 |
| | |||||
* | gallium: only call vertex/prim queue flush when there is something to flush | Keith Whitwell | 2008-01-28 | 3 | -4/+17 |
| | |||||
* | gallium: explictly cast double to float in vertex fetch | Keith Whitwell | 2008-01-28 | 1 | -1/+1 |
| | |||||
* | gallium: fill in missing formats for vertex_fetch | Keith Whitwell | 2008-01-28 | 1 | -17/+203 |
| | |||||
* | gallium: remove dead code from draw_vf* | Keith Whitwell | 2008-01-28 | 6 | -574/+9 |
| | |||||
* | First stab at hooking draw_vbuf & vf. | José Fonseca | 2008-01-28 | 5 | -46/+241 |
| | | | Emit disabled for now. Tested with softpipe. Only one vertex at a time for now (slow). | ||||
* | Clone vf module. | José Fonseca | 2008-01-28 | 4 | -0/+2270 |
| | |||||
* | Simplify prototypes of draw_vbuf's internal functions. | José Fonseca | 2008-01-28 | 1 | -28/+29 |
| | |||||
* | Cache the vinfo in vbuf_stage. | José Fonseca | 2008-01-28 | 1 | -9/+13 |
| |