summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/cell
Commit message (Collapse)AuthorAgeFilesLines
* gallium: Unify reference counting.Michel Dänzer2009-03-042-46/+25
| | | | | | | | | | | | | | 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().
* cell: overhaul cell teximage codeBrian Paul2009-02-245-266/+119
| | | | | | 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.
* cell: don't need tex transfer for drawing surfacesBrian Paul2009-02-241-30/+24
|
* cell: patch up cell_texture.c so it compilesBrian Paul2009-02-181-6/+135
| | | | | | | Start adding some new pipe_transfer code. Texturing is totally broken at this point but non-texture programs seem to run OK.
* cell: updates for new pipe_transfer changesBrian Paul2009-02-182-23/+81
| | | | Update framebuffer color/z/stencil mapping/unmapping.
* cell: update vbuf code to catch up to recent changesBrian Paul2009-02-181-5/+28
|
* cell: remove unused varBrian Paul2009-02-181-1/+0
|
* cell: start adding new cell_transfer types/codeBrian Paul2009-02-181-0/+19
|
* cell: remove old surface_map codeBrian Paul2009-02-181-5/+0
|
* util: Move p_debug.h into util module.José Fonseca2009-02-181-1/+1
| | | | | The debug functions depend on several util function for os abstractions, and these depend on debug functions, so a seperate module is not possible.
* cell: use some SPU intrinsics to get slightly better code in eval_inputs()Brian Paul2009-02-161-4/+7
| | | | Suggested by Jonathan Adamczewski. There may be more places to do this...
* cell: minor Makefile clean-upBrian Paul2009-02-151-2/+3
|
* cell: new/tighter code for computing fragment program inputsBrian Paul2009-02-151-91/+76
|
* cell: combine eval_z(), eval_w() functionsBrian Paul2009-02-151-20/+27
|
* cell: remove unused varBrian Paul2009-02-071-1/+0
|
* cell: compile fix: many updates to cell texture code for new surface mappingBrian Paul2009-02-071-39/+42
| | | | The Cell texture code really needs a thorough inspection and clean-up someday...
* cell: compile fix: alpha.ref is now alpha.ref_valueBrian Paul2009-02-072-2/+2
|
* cell: compile fix: pipe_constant_buffer no longer has size fieldBrian Paul2009-02-072-2/+1
|
* cell: compile fix: pipe_constant_buffer no longer has size fieldBrian Paul2009-02-071-3/+3
|
* gallium: initialize simple screen in driversZack Rusin2009-01-311-0/+2
|
* gallium: make p_winsys internalZack Rusin2009-01-306-11/+11
| | | | | move it to pipe/internal/p_winsys_screen.h and start converting the state trackers to the screen usage
* gallium: give the screen priority when it comes to buffer allocationsZack Rusin2009-01-293-15/+15
| | | | | | 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
* gallium: standardize api on the prefix "nr"Zack Rusin2009-01-271-1/+1
|
* gallium: standardize naming of masksZack Rusin2009-01-272-29/+29
|
* Merge commit 'origin/gallium-0.2' into gallium-xlib-reworkKeith Whitwell2009-01-1911-522/+570
|\
| * cell: Specify constant as float for CEILF().Jonathan Adamczewski2009-01-141-1/+1
| | | | | | | | | | | | Without the f, the constant is treated as a double, resulting in slower arithmetic and libgcc conversion calls each time CEILF() is used.
| * cell: Add missing suffix to SHUFFLE macroJonathan Adamczewski2009-01-131-1/+1
| |
| * cell: allocate batch buffers w/ 16-byte alignmentJonathan Adamczewski2009-01-128-143/+111
| | | | | | | | | | | | | | | | | | | | | | 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().
| * cell: optimize unpack_colors() function, saving 12 cyclesBrian Paul2009-01-111-31/+34
| |
| * cell: move color unpacking code into separate functionBrian Paul2009-01-111-76/+89
| |
| * cell: re-order the z/stencil fetch/extract/convert instructions for better perfBrian Paul2009-01-111-55/+51
| | | | | | | | The new instruction order is 10 cycles faster.
| * cell: simplify the 'optional register' codeBrian Paul2009-01-111-62/+50
| |
| * cell: asst datatype clean-upsBrian Paul2009-01-111-73/+75
| |
| * cell: move depth/stencil code into separate functionBrian Paul2009-01-111-179/+213
| |
| * cell: clean-up, re-indent, commentsBrian Paul2009-01-111-95/+139
| |
* | Merge commit 'origin/gallium-0.2' into gallium-xlib-reworkKeith Whitwell2009-01-112-101/+28
|\|
| * cell: use tgsi_dump_instruction() instead of spe_comment()Brian Paul2009-01-101-101/+25
| |
| * cell: added rule to produce .s assembly filesBrian Paul2009-01-101-0/+3
| |
* | Merge commit 'origin/gallium-0.2' into gallium-xlib-reworkKeith Whitwell2009-01-095-745/+987
|\| | | | | | | | | | | Conflicts: progs/glsl/Makefile
| * cell: replace 0 with -1 in SPE_COUNT_USABLE_SPES queryJonathan Adamczewski2009-01-061-1/+1
| |
| * cell: fix code emit for RSQ/RCP when src arg == dst argBrian Paul2009-01-051-6/+8
| | | | | | | | Fixes moire-like artifacts seen in fslight demo.
| * cell: SIMDize sorting in setup_sort_vertices()Jonathan Adamczewski2009-01-051-55/+42
| | | | | | | | | | | | 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.
| * cell: SIMDize some subtractionsJonathan Adamczewski2009-01-051-8/+10
| | | | | | | | | | | | | | 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.
| * cell: improvements to spu_tri.cJonathan Adamczewski2009-01-041-42/+52
| | | | | | | | | | | | | | 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.
| * cell: new spu_shuffle.h headerJonathan Adamczewski2009-01-041-0/+186
| | | | | | | | | | | | | | Facilitates creation of shuffle patterns for use with spu_shuffle() and si_shufb() intrinsics. To be used by subsequent patches.
| * cell: initial codegen support for fragment shader loopsBrian Paul2009-01-041-26/+193
| | | | | | | | | | | | 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.
| * cell: add support for PIPE_CAP_TEXTURE_MIRROR_REPEAT queryBrian Paul2009-01-041-0/+4
| | | | | | | | We don't really support this texwrap mode yet, but this enables GL 2.1
| * cell: clean-up, improve SPU code generationBrian Paul2009-01-041-622/+506
| | | | | | | | Start on ARL and address-relative indexing too.
| * cell: fix typo (s/10/0)Brian2009-01-031-2/+2
| |
* | cell: fix breakage from xlib re-orgBrian Paul2009-01-081-2/+1
| | | | | | | | Some of these fixes are quick band-aids for now.