summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/cell
AgeCommit message (Collapse)Author
2009-02-18cell: patch up cell_texture.c so it compilesBrian 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-18cell: updates for new pipe_transfer changesBrian Paul
Update framebuffer color/z/stencil mapping/unmapping.
2009-02-18cell: update vbuf code to catch up to recent changesBrian Paul
2009-02-18cell: remove unused varBrian Paul
2009-02-18cell: start adding new cell_transfer types/codeBrian Paul
2009-02-18cell: remove old surface_map codeBrian Paul
2009-02-18util: 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-16cell: 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-15cell: minor Makefile clean-upBrian Paul
2009-02-15cell: new/tighter code for computing fragment program inputsBrian Paul
2009-02-15cell: combine eval_z(), eval_w() functionsBrian Paul
2009-02-07cell: remove unused varBrian Paul
2009-02-07cell: compile fix: many updates to cell texture code for new surface mappingBrian Paul
The Cell texture code really needs a thorough inspection and clean-up someday...
2009-02-07cell: compile fix: alpha.ref is now alpha.ref_valueBrian Paul
2009-02-07cell: compile fix: pipe_constant_buffer no longer has size fieldBrian Paul
2009-02-07cell: compile fix: pipe_constant_buffer no longer has size fieldBrian Paul
2009-01-31gallium: initialize simple screen in driversZack Rusin
2009-01-30gallium: make p_winsys internalZack Rusin
move it to pipe/internal/p_winsys_screen.h and start converting the state trackers to the screen usage
2009-01-29gallium: give the screen priority when it comes to buffer allocationsZack 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-27gallium: standardize api on the prefix "nr"Zack Rusin
2009-01-27gallium: standardize naming of masksZack Rusin
2009-01-19Merge commit 'origin/gallium-0.2' into gallium-xlib-reworkKeith Whitwell
2009-01-14cell: 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-13cell: Add missing suffix to SHUFFLE macroJonathan Adamczewski
2009-01-12cell: allocate batch buffers w/ 16-byte alignmentJonathan 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-11cell: optimize unpack_colors() function, saving 12 cyclesBrian Paul
2009-01-11cell: move color unpacking code into separate functionBrian Paul
2009-01-11cell: re-order the z/stencil fetch/extract/convert instructions for better perfBrian Paul
The new instruction order is 10 cycles faster.
2009-01-11cell: simplify the 'optional register' codeBrian Paul
2009-01-11cell: asst datatype clean-upsBrian Paul
2009-01-11cell: move depth/stencil code into separate functionBrian Paul
2009-01-11cell: clean-up, re-indent, commentsBrian Paul
2009-01-11Merge commit 'origin/gallium-0.2' into gallium-xlib-reworkKeith Whitwell
2009-01-10cell: use tgsi_dump_instruction() instead of spe_comment()Brian Paul
2009-01-10cell: added rule to produce .s assembly filesBrian Paul
2009-01-09Merge commit 'origin/gallium-0.2' into gallium-xlib-reworkKeith Whitwell
Conflicts: progs/glsl/Makefile
2009-01-08cell: fix breakage from xlib re-orgBrian Paul
Some of these fixes are quick band-aids for now.
2009-01-08gallium: split driver-independent code out of xlib winsysKeith Whitwell
Place in new xlib state-tracker. This is a statetracker for the GLX API.
2009-01-06cell: replace 0 with -1 in SPE_COUNT_USABLE_SPES queryJonathan Adamczewski
2009-01-05cell: fix code emit for RSQ/RCP when src arg == dst argBrian Paul
Fixes moire-like artifacts seen in fslight demo.
2009-01-05cell: SIMDize sorting in setup_sort_vertices()Jonathan Adamczewski
Put setup.v{min,mid,max,provoke} into a union with qword vertex_headers. Rewrite vertex sorting to more efficiently handle the packed data items. Reduces spu_tri.o by ~128 bytes.
2009-01-05cell: SIMDize some subtractionsJonathan Adamczewski
Put edge.{dx,dy} into a union with a vector and perform subtractions in setup_sort_vertices() on vectors. Reduces spu_tri.o by ~300 bytes.
2009-01-04cell: improvements to spu_tri.cJonathan Adamczewski
Replace int setup.span{left,right}[2] with vec_uint4 setup.span.quad SIMDize calculate_mask() and inline into into flush_spans() Set setup.span.quad members using spu_shuffle() or spu_sel(). Reduces spu_tri.o by ~116 bytes.
2009-01-04cell: new spu_shuffle.h headerJonathan Adamczewski
Facilitates creation of shuffle patterns for use with spu_shuffle() and si_shufb() intrinsics. To be used by subsequent patches.
2009-01-04cell: initial codegen support for fragment shader loopsBrian Paul
Basic for/while loops work now. Only one level of loop nesting is supported at this time (same for if/else). The progs/glsl/mandelbrot demo works, but the colors are too dim.
2009-01-04cell: add support for PIPE_CAP_TEXTURE_MIRROR_REPEAT queryBrian Paul
We don't really support this texwrap mode yet, but this enables GL 2.1
2009-01-04cell: clean-up, improve SPU code generationBrian Paul
Start on ARL and address-relative indexing too.
2009-01-03cell: fix typo (s/10/0)Brian
2008-11-21CELL: use variant-length fragment ops programsRobert Ellison
This is a set of changes that optimizes the memory use of fragment operation programs (by using and transmitting only as much memory as is needed for the fragment ops programs, instead of maximal sizes), as well as eliminate the dependency on hard-coded maximal program sizes. State that is not dependent on fragment facing (i.e. that isn't using two-sided stenciling) will only save and transmit a single fragment operation program, instead of two identical programs. - Added the ability to emit a LNOP (No Operation (Load)) instruction. This is used to pad the generated fragment operations programs to a multiple of 8 bytes, which is necessary for proper operation of the dual instruction pipeline, and also required for proper SPU-side decoding. - Added the ability to allocate and manage a variant-length struct cell_command_fragment_ops. This structure now puts the generated function field at the end, where it can be as large as necessary. - On the PPU side, we now combine the generated front-facing and back-facing code into a single variant-length buffer (and only use one if the two sets of code are identical) for transmission to the SPU. - On the SPU side, we pull the correct sizes out of the buffer, allocate a new code buffer if the one we have isn't large enough, and save the code to that buffer. The buffer is deallocated when the SPU exits. - Commented out the emit_fetch() static function, which was not being used.
2008-11-20CELL: improve twiddling/untwiddling error textRobert Ellison
As suggested by Brian Paul: in the case of a twiddling error, instead of reporting the bad format number (which is all but unusable), report the more useful enum name.