summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/cell
Commit message (Collapse)AuthorAgeFilesLines
* gallium: remove extended negate also, and also the ExtSwz tokenKeith Whitwell2009-10-231-46/+0
| | | | | | Likewise, the extended negate functionality hasn't been used since mesa switched to using tgsi_ureg to build programs, and has been translating the SWZ opcode internally to a single MAD.
* cell: typo from ExtSwizzle commitKeith Whitwell2009-10-231-1/+1
|
* gallium: remove the swizzling parts of ExtSwizzleKeith Whitwell2009-10-233-79/+14
| | | | | | | | | These haven't been used by the mesa state tracker since the conversion to tgsi_ureg, and it seems that none of the other state trackers are using it either. This helps simplify one of the biggest suprises when starting off with TGSI shaders.
* gallium: remove noise opcodesKeith Whitwell2009-10-231-16/+0
| | | | | | | | | | | Provide a dummy implementation in the GL state tracker (move 0.5 to the destination regs). At some point, a motivated person could add a better implementation of noise. Currently not even the nvidia binary drivers do anything more than this. In any case, the place to do this is in the GL state tracker, not the poor driver.
* Merge branch 'mesa_7_6_branch' of ↵Alex Deucher2009-10-221-2/+2
|\ | | | | | | git+ssh://[email protected]/git/mesa/mesa
| * cell: fix compilation on cellMarc Dietrich2009-10-201-2/+2
| | | | | | | | s/LERP/LRP/
* | gallium: Preparations for adding more PIPE_TRANSFER_* usage flags.Michel Dänzer2009-10-021-14/+4
| | | | | | | | | | | | Always test for PIPE_TRANSFER_READ/WRITE using the bit-wise and operator, and add a pipe_transfer_buffer_flags() helper for getting the buffer usage flags corresponding to them.
* | gallium: Update vendor string.José Fonseca2009-09-231-1/+1
| |
* | gallium: Deprecate PIPE_CAP_S3TC.José Fonseca2009-09-161-2/+0
|/ | | | | No longer used. S3TC support is queried via pipe_screen::is_format_supported.
* tgsi: remove redundant CND0 opcodeKeith Whitwell2009-09-011-4/+0
| | | | Can be implemented with CMP src2, src1, src0
* cell: fix compilationMarc Dietrich2009-08-302-4/+4
|
* cell: fix incorrect pipe_transfer testsBrian Paul2009-08-171-2/+4
| | | | The value is an enum, not a bitmask.
* gallium: Move minify() to u_math.Corbin Simpson2009-08-071-7/+0
| | | | | minify() is usually used in mipmap size calculation. Strangely enough, we all defined it as MAX2(1, d >> 1); imagine that. :3
* Rename TGSI LOOP instruction to better match theri usage.Michal Krol2009-07-312-6/+6
| | | | | | | | The LOOP/ENDLOOP pair is renamed to BGNFOR/ENDFOR as its behaviour is similar to a C language for-loop. The BGNLOOP2/ENDLOOP2 pair is renamed to BGNLOOP/ENDLOOP as now there is no name collision.
* gallium: remove deprecated TGSI opcodesKeith Whitwell2009-07-231-12/+0
| | | | | | Various opcodes which can be implemented trivially with other TGSI opcodes, such as matrix multiplication and negation. These were not used by any state tracker or implemented by any of the drivers.
* cell: update TGSI_OPCODE_ casesBrian Paul2009-07-221-18/+8
|
* gallium: simplify tgsi_full_immediate structKeith Whitwell2009-07-221-2/+2
| | | | | | | | | | | | | Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables.
* Merge branch 'mesa_7_5_branch'Brian Paul2009-06-261-0/+2
|\ | | | | | | | | | | | | | | Conflicts: Makefile src/gallium/drivers/softpipe/sp_screen.c src/mesa/main/version.h
| * cell: PIPE_CAP_TGSI_CONT_SUPPORTED queryBrian Paul2009-06-261-0/+2
| |
* | cell: perform triangle cull a little earlierJonathan Adamczewski2009-05-211-31/+74
| | | | | | | | | | | | | | | | | | | | 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.
* | cell: unroll inner loop of spu_render.c:cmd_render()Jonathan Adamczewski2009-05-213-32/+89
|/ | | | | | | | | | | | | | | 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.
* gallium: Make sure we flush before some texture / buffer operations.Thomas Hellstrom2009-04-151-0/+25
| | | | | | | Also implement context member functions to optimize away those flushes whenever possible. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* cell: update clear() code to catch up to gallium changesBrian Paul2009-04-043-39/+25
|
* gallium: Remove some little-used fields from struct pipe_surface.Michel Dänzer2009-03-261-13/+0
|
* gallium: Remove do_flip argument from surface_copyJakob Bornecrantz2009-03-131-1/+13
| | | | | | | I should have gotten most uses and implementation correctly fixed, but things might break. Feel free to blame me.
* cell: update cell driver after gallium reference count changesBrian Paul2009-03-042-6/+3
|
* 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
|