Brian
c392cc8f1b
Cell: rename fields of the tile_t union
2008-02-01 14:04:55 -07:00
Brian
59be082909
Cell: implement Z16 and Z32 testing with SIMD instructions.
2008-02-01 14:04:55 -07:00
Brian
b108bea6b4
Cell: store current tile status in cur_tile_status_c/z, add TILE_STATUS_GETTING
2008-02-01 14:04:55 -07:00
Ian Romanick
20df285b14
Fix using "ccache ppu-gcc" for CC and fix parallel builds
...
CC wasn't quoted in a couple places in src/mesa/Makefile. Also, the
OSMesa link was missing a dependency.
2008-01-31 17:22:07 -08:00
Brian
635341ec5b
fix typo
2008-01-31 17:05:43 -07:00
Brian
633e1133ae
gallium: fix problem in which texcoords and varying vars got mapped to the same slot
...
This fixes the glsl/bump.c and glsl/texdemo1.c programs
2008-01-31 14:35:25 -07:00
Brian
86787043fa
Fix problem in mapping vertex program outputs (found with "spring" game engine)
...
If the vertex program writes to an output that's not consumed by the
fragment program, map the vp output to an unused slot.
2008-01-31 14:05:04 -07:00
Brian
acb81374c1
gallium: comments about fragment Z computation
2008-01-31 13:41:14 -07:00
Brian
9536314a6c
gallium: Fix z clear bug when TILE_CLEAR_OPTIMIZATION==0
2008-01-31 13:41:14 -07:00
Brian
c36cdc6156
gallium: fix get/put typo regression
...
This came from commit f3aa4de034 on 1/22/08.
Fixes strange Z buffer glitches seen in progs/glsl/texdemo1.c
2008-01-31 13:41:14 -07:00
Brian
cd53eb0db1
Cell: SIMD-ize const_coeff()
2008-01-31 08:21:38 -07:00
Brian
256486829f
Cell: set GALLIUM_CELL_VS env var to enable SPU-based vertex transformation
2008-01-31 08:12:47 -07:00
Keith Whitwell
e82c9b867c
tgsi: Use ESI instead of EBX as temp reg on non-win32
2008-01-31 11:57:49 +00:00
José Fonseca
50d5f304ad
gallium: Portability fixes.
2008-01-31 18:25:05 +09:00
José Fonseca
f4192cb4ca
gallium: Make the build output dir depend on the configuration.
...
The build output dirs mimics the old config names:
build/linux
build/linux-dri
build/linux-dri-x86
build/linux-dri-x86-debug
...
2008-01-31 14:22:21 +09:00
José Fonseca
c42e6254cf
gallium: Add SCons as alternative build system for Gallium.
2008-01-31 14:22:21 +09:00
Ian Romanick
62d11b98c4
I don't know why using uint64_t for "base" doesn't work. Ugh.
2008-01-30 20:14:52 -08:00
Ian Romanick
5a6fd93930
Use SPUs for vertex shader processing
2008-01-30 20:14:52 -08:00
Ian Romanick
a89ee8a96d
Add driver_private field for drivers that hook shader_queue_flush.
2008-01-30 20:14:52 -08:00
Ian Romanick
9ad986b887
Numerous small fixed to PPU-SPU vertex shader protocol
2008-01-30 20:14:52 -08:00
Ian Romanick
de949a471e
cell_array_info should not be 16-byte aligned
...
Forcing cell_array_info to be 16-byte aligned makes it more difficult
to stuff that state in batch commands.
2008-01-30 20:14:52 -08:00
Ian Romanick
10270fbe2d
Correctly read / write vertex header from / to main memory
2008-01-30 20:14:52 -08:00
Ian Romanick
193491cbd3
Handle CELL_CMD_VS_EXECUTE *only* outside batch commands.
2008-01-30 20:14:52 -08:00
Ian Romanick
fb348c2cb1
Set machine->Processor
...
The default value is 0, which is TGSI_PROCESSOR_FRAGMENT...not correct
for a vertex shader!
2008-01-30 20:14:52 -08:00
Ian Romanick
137cb72284
Elts are always ints, pass vOut pointers in-line in command
2008-01-30 20:14:51 -08:00
Ian Romanick
3349861146
Implement micro_pow and micro_sqrt
...
Unimplemented micro ops get assertions for now.
2008-01-30 20:14:51 -08:00
Ian Romanick
7b27d9fd66
Fix size calculation in attribute fetch.
2008-01-30 20:14:51 -08:00
Ian Romanick
708d699e0c
Fetch uniforms from main memory.
2008-01-30 20:14:51 -08:00
Ian Romanick
a0a707342a
Missing amperstand in previous commit. Oops.
2008-01-30 20:14:51 -08:00
Ian Romanick
fcf9441773
Pass ptr to local memory copy instead of main memory to exec_instruction
...
This was essentially a cut-and-paste bug when the instruction fetcher
was added. Also, the test for TGSI_PROCESSOR_FRAGMENT was moved
outside the loop for exec_declaration.
2008-01-30 20:14:51 -08:00
Ian Romanick
3d13605ee5
Provide mechanism to hook in custom vertex shader cache flush function
2008-01-30 20:14:51 -08:00
Ian Romanick
13eec10688
Implement vertex fetch / vertex shader output write-back
2008-01-30 20:14:51 -08:00
Ian Romanick
33cac48241
Initial pass at instruction / declaration fetch
2008-01-30 20:14:51 -08:00
Ian Romanick
524bba17a7
Initial pass at vertex shader on SPU using TGSI VM
...
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.
2008-01-30 20:14:51 -08:00
Brian
8fb73a5993
Cell: prototype SIMD code for z testing
2008-01-30 20:40:26 -07:00
Brian
24f0e54c1b
Cell: start to SIMD-ize triangle attribute interpolation
...
Using the spu_add(), etc intrinsics.
About a 15% speed-up with some tests.
2008-01-30 15:26:51 -07:00
Brian
7b149449df
Cell: fold setup_tri() into tri_draw()
2008-01-30 12:13:04 -07:00
Brian
022bf6dfa1
Cell: make 'setup' a regular var instead of passing around a pointer everywhere
...
We'll never have more than one of these objects.
Avoiding pointer deref improves performance a bit.
2008-01-30 12:08:23 -07:00
Brian
dcf41a0eed
Cell: minor code refactoring, movement
2008-01-30 11:56:41 -07:00
Brian
0d3f60ec64
Cell: check tile status before wait_on_mask()
2008-01-30 11:56:14 -07:00
Brian
41bdf4cf4c
Cell: make wait_on_mask() static/inlined
2008-01-30 11:49:51 -07:00
Brian
da6eac242d
Cell: move CELL_MAX_SPUS
2008-01-30 11:49:26 -07:00
José Fonseca
eb0e0d38ea
gallium: Teach draw_vf about draw vertices.
...
This reduces the emit overhead, which is significant since we're
emiting one vertex at a time.
2008-01-30 16:47:33 +09:00
José Fonseca
ed0327980a
gallium: Remove draw_vertex_fetch::lookup.
...
It is not being used, and would be dangerous to use given the possibility of constants.
2008-01-30 16:00:07 +09:00
Michal Krol
17ef840af4
gallium: Fix build on WinXP.
2008-01-30 16:00:00 +09:00
Brian
7f2713a29f
Cell: use _pack_rgba8() from pack_rgba8.h to do float[4]->uint color conversion
...
texcyl.c is twice as fast now in non-texture mode
2008-01-29 11:23:44 -07:00
Keith Whitwell
1aaed38568
gallium: weaken assert slightly
2008-01-29 15:17:56 +00:00
Keith Whitwell
c81848210e
gallium: streamline various unfilled & stippled paths
2008-01-29 12:38:34 +00:00
Keith Whitwell
c185c55aec
gallium: don't rely on assert(0) for error handling - may be disabled
2008-01-29 12:38:34 +00:00
José Fonseca
f94425b316
gallium: Emit point size as a constant.
2008-01-29 20:47:30 +09:00