Age | Commit message (Collapse) | Author | |
---|---|---|---|
2009-05-21 | cell: perform triangle cull a little earlier | Jonathan Adamczewski | |
In spu_tri.c:setup_sort_vertices() triangles are culled after the vertices are sorted. This patch moves the check a little earlier and performs the actual check a little faster through intrinsics and a little trickery. Reduced code size and less work is done before a triangle is deemed OK to skip. | |||
2009-05-21 | cell: unroll inner loop of spu_render.c:cmd_render() | Jonathan Adamczewski | |
It was taking approximately 50 cycles to extract the vertex indices, calculate the vertex_header pointers and call tri_draw() for each three vertices - . Unrolled, it takes less than 100 cycles to extract, unpack, calculate pointers and call tri_draw() eight times. It does have a nasty jump-tabled switch. I'm sure that there's a better way... Code size of spu_render.o gets larger due to the extra constants and work in the inner loop, there are extra stack saves and loads because there are more registers in use, and an assert. spu_tri.o gets a little smaller. | |||
2009-04-15 | gallium: Make sure we flush before some texture / buffer operations. | Thomas Hellstrom | |
Also implement context member functions to optimize away those flushes whenever possible. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com> | |||
2009-04-04 | cell: update clear() code to catch up to gallium changes | Brian Paul | |
2009-03-26 | gallium: Remove some little-used fields from struct pipe_surface. | Michel Dänzer | |
2009-03-13 | gallium: Remove do_flip argument from surface_copy | Jakob Bornecrantz | |
I should have gotten most uses and implementation correctly fixed, but things might break. Feel free to blame me. | |||
2009-03-04 | cell: update cell driver after gallium reference count changes | Brian Paul | |
2009-03-04 | gallium: Unify reference counting. | Michel Dänzer | |
The core reference counting code is centralized in p_refcnt.h. This has some consequences related to struct pipe_buffer: * The screen member of struct pipe_buffer must be initialized, or pipe_buffer_reference() will crash trying to destroy a buffer with reference count 0. u_simple_screen takes care of this, but I may have missed some of the drivers not using it. * Except for rare exceptions deep in winsys code, buffers must always be allocated via pipe_buffer_create() or via screen->*buffer_create() rather than via winsys->*buffer_create(). | |||
2009-02-24 | cell: overhaul cell teximage code | Brian Paul | |
Updated to use the new pipe_transfer functions, etc. Texturing is working again. Though there's some bugs in mipmap texturing but I believe those predate the pipe_transfer changes. | |||
2009-02-24 | cell: don't need tex transfer for drawing surfaces | Brian Paul | |
2009-02-18 | cell: patch up cell_texture.c so it compiles | Brian Paul | |
Start adding some new pipe_transfer code. Texturing is totally broken at this point but non-texture programs seem to run OK. | |||
2009-02-18 | cell: updates for new pipe_transfer changes | Brian Paul | |
Update framebuffer color/z/stencil mapping/unmapping. | |||
2009-02-18 | cell: update vbuf code to catch up to recent changes | Brian Paul | |
2009-02-18 | cell: remove unused var | Brian Paul | |
2009-02-18 | cell: start adding new cell_transfer types/code | Brian Paul | |
2009-02-18 | cell: remove old surface_map code | Brian Paul | |
2009-02-18 | util: Move p_debug.h into util module. | José Fonseca | |
The debug functions depend on several util function for os abstractions, and these depend on debug functions, so a seperate module is not possible. | |||
2009-02-16 | cell: use some SPU intrinsics to get slightly better code in eval_inputs() | Brian Paul | |
Suggested by Jonathan Adamczewski. There may be more places to do this... | |||
2009-02-15 | cell: minor Makefile clean-up | Brian Paul | |
2009-02-15 | cell: new/tighter code for computing fragment program inputs | Brian Paul | |
2009-02-15 | cell: combine eval_z(), eval_w() functions | Brian Paul | |
2009-02-07 | cell: remove unused var | Brian Paul | |
2009-02-07 | cell: compile fix: many updates to cell texture code for new surface mapping | Brian Paul | |
The Cell texture code really needs a thorough inspection and clean-up someday... | |||
2009-02-07 | cell: compile fix: alpha.ref is now alpha.ref_value | Brian Paul | |
2009-02-07 | cell: compile fix: pipe_constant_buffer no longer has size field | Brian Paul | |
2009-02-07 | cell: compile fix: pipe_constant_buffer no longer has size field | Brian Paul | |
2009-01-31 | gallium: initialize simple screen in drivers | Zack Rusin | |
2009-01-30 | gallium: make p_winsys internal | Zack Rusin | |
move it to pipe/internal/p_winsys_screen.h and start converting the state trackers to the screen usage | |||
2009-01-29 | gallium: give the screen priority when it comes to buffer allocations | Zack Rusin | |
allows the driver to overwrite buffer allocation, first step on the way to making winsys interface internal to the drivers. state trackers and the code above it will go through the screen | |||
2009-01-27 | gallium: standardize api on the prefix "nr" | Zack Rusin | |
2009-01-27 | gallium: standardize naming of masks | Zack Rusin | |
2009-01-19 | Merge commit 'origin/gallium-0.2' into gallium-xlib-rework | Keith Whitwell | |
2009-01-14 | cell: Specify constant as float for CEILF(). | Jonathan Adamczewski | |
Without the f, the constant is treated as a double, resulting in slower arithmetic and libgcc conversion calls each time CEILF() is used. | |||
2009-01-13 | cell: Add missing suffix to SHUFFLE macro | Jonathan Adamczewski | |
2009-01-12 | cell: allocate batch buffers w/ 16-byte alignment | Jonathan Adamczewski | |
Replace cell_batch{align,alloc)*() with cell_batch_alloc16(), allocating multiples of 16 bytes that are 16 byte aligned. Opcodes are stored in preferred slot of SPU machine word. Various structures are explicitly padded to 16 byte multiples. Added STATIC_ASSERT(). | |||
2009-01-11 | cell: optimize unpack_colors() function, saving 12 cycles | Brian Paul | |
2009-01-11 | cell: move color unpacking code into separate function | Brian Paul | |
2009-01-11 | cell: re-order the z/stencil fetch/extract/convert instructions for better perf | Brian Paul | |
The new instruction order is 10 cycles faster. | |||
2009-01-11 | cell: simplify the 'optional register' code | Brian Paul | |
2009-01-11 | cell: asst datatype clean-ups | Brian Paul | |
2009-01-11 | cell: move depth/stencil code into separate function | Brian Paul | |
2009-01-11 | cell: clean-up, re-indent, comments | Brian Paul | |
2009-01-11 | Merge commit 'origin/gallium-0.2' into gallium-xlib-rework | Keith Whitwell | |
2009-01-10 | cell: use tgsi_dump_instruction() instead of spe_comment() | Brian Paul | |
2009-01-10 | cell: added rule to produce .s assembly files | Brian Paul | |
2009-01-09 | Merge commit 'origin/gallium-0.2' into gallium-xlib-rework | Keith Whitwell | |
Conflicts: progs/glsl/Makefile | |||
2009-01-08 | cell: fix breakage from xlib re-org | Brian Paul | |
Some of these fixes are quick band-aids for now. | |||
2009-01-08 | gallium: split driver-independent code out of xlib winsys | Keith Whitwell | |
Place in new xlib state-tracker. This is a statetracker for the GLX API. | |||
2009-01-06 | cell: replace 0 with -1 in SPE_COUNT_USABLE_SPES query | Jonathan Adamczewski | |
2009-01-05 | cell: fix code emit for RSQ/RCP when src arg == dst arg | Brian Paul | |
Fixes moire-like artifacts seen in fslight demo. |