Brian
d83dedc937
Cell: move tile clear code to flush_spans()
2008-02-15 13:50:29 +11:00
Brian
a0c35df4a0
Cell: clamp txmax, tymax in tile_bounding_box()
...
Also, added some debug printfs
2008-02-15 13:50:29 +11:00
Brian
4605b7df0a
Cell: insert some draw_flush() calls
2008-02-15 13:50:29 +11:00
Ben Skeggs
b111d266a0
nv40: the 0x4497 version of curie doesn't support index buffers.
2008-02-15 13:50:29 +11:00
Ben Skeggs
705022f98c
nouveau: avoid relocations where possible.
...
Potential relocations are emitted as NOPs where they're needed. In the
event a buffer moves, the pushbuf code will emit the relevant state
changes into the NOPs.
Just a start, more work is needed to get this looking how I want it to.
2008-02-15 13:50:29 +11:00
Ben Skeggs
8bbedc3f4b
nouveau: implement a bo_set_status()
2008-02-15 13:50:28 +11:00
Brian
6522a0531f
Cell: comment about emit_quad() mask
2008-02-15 13:50:28 +11:00
Brian
c90a2dcc29
Cell: move some tile get/clear code
...
Also, we weren't marking the ztile as dirty after ztesting, fixes gears glitches.
2008-02-15 13:50:28 +11:00
Brian
ae620d5c36
Cell: use global color_shuffle to remove a switch stmnt
2008-02-15 13:50:28 +11:00
Brian
de5d995201
Cell: New color packing functions (A8R8G8B8 and B8G8R8A8)
2008-02-15 13:50:28 +11:00
Brian
245c6a4cd5
Cell: rename/move global vars
...
Put tile-related globals into spu_global struct.
Rename c/ztile fields to be more consistant.
2008-02-15 13:50:28 +11:00
Brian
4fa69471c4
Cell: deprecate some use of struct cell_command - it should go away completely
...
Also, remove ALIGN16_ATTRIB from structs that no longer need it.
2008-02-15 13:50:28 +11:00
Brian
b25f1244ab
Cell: remove commands from top-level while loop which should only appear in batch buffers
2008-02-15 13:50:28 +11:00
Brian
1b6b5db4e2
Cell: move ztest before color interp/packing
2008-02-15 13:50:28 +11:00
Brian
a3d5d7067e
Cell: rename fields of the tile_t union
2008-02-15 13:50:28 +11:00
Brian
7a0099b9f3
Cell: implement Z16 and Z32 testing with SIMD instructions.
2008-02-15 13:50:28 +11:00
Brian
4f7dcb0e04
Cell: store current tile status in cur_tile_status_c/z, add TILE_STATUS_GETTING
2008-02-15 13:50:28 +11:00
Ian Romanick
0c0c62dd2a
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-02-15 13:50:28 +11:00
Brian
41d1179fa6
fix typo
2008-02-15 13:50:28 +11:00
Brian
9aa37ad540
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-02-15 13:50:28 +11:00
Brian
a4c7c8a6ee
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-02-15 13:50:28 +11:00
Brian
26fff001e7
gallium: comments about fragment Z computation
2008-02-15 13:50:27 +11:00
Brian
5ee218a021
gallium: Fix z clear bug when TILE_CLEAR_OPTIMIZATION==0
2008-02-15 13:50:27 +11:00
Brian
6c59de9a7b
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-02-15 13:50:27 +11:00
Brian
7978c749fb
Cell: SIMD-ize const_coeff()
2008-02-15 13:50:27 +11:00
Brian
4d3f3f749f
Cell: set GALLIUM_CELL_VS env var to enable SPU-based vertex transformation
2008-02-15 13:50:27 +11:00
Keith Whitwell
c7403b1847
tgsi: Use ESI instead of EBX as temp reg on non-win32
2008-02-15 13:50:27 +11:00
José Fonseca
526bed2b95
gallium: Portability fixes.
2008-02-15 13:50:27 +11:00
José Fonseca
e11bfc9907
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-02-15 13:50:27 +11:00
José Fonseca
c285e06e93
gallium: Add SCons as alternative build system for Gallium.
2008-02-15 13:50:27 +11:00
Ian Romanick
2029ee48b1
I don't know why using uint64_t for "base" doesn't work. Ugh.
2008-02-15 13:50:27 +11:00
Ian Romanick
bcaf0dd8d2
Use SPUs for vertex shader processing
2008-02-15 13:50:27 +11:00
Ian Romanick
87cc80297c
Add driver_private field for drivers that hook shader_queue_flush.
2008-02-15 13:50:27 +11:00
Ian Romanick
524f99a4ab
Numerous small fixed to PPU-SPU vertex shader protocol
2008-02-15 13:50:27 +11:00
Ian Romanick
42db571598
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-02-15 13:50:27 +11:00
Ian Romanick
738a4292b1
Correctly read / write vertex header from / to main memory
2008-02-15 13:50:27 +11:00
Ian Romanick
6996b6c055
Handle CELL_CMD_VS_EXECUTE *only* outside batch commands.
2008-02-15 13:50:27 +11:00
Ian Romanick
fea350d911
Set machine->Processor
...
The default value is 0, which is TGSI_PROCESSOR_FRAGMENT...not correct
for a vertex shader!
2008-02-15 13:50:27 +11:00
Ian Romanick
dcfe7e1dca
Elts are always ints, pass vOut pointers in-line in command
2008-02-15 13:50:26 +11:00
Ian Romanick
bbbd5c166a
Implement micro_pow and micro_sqrt
...
Unimplemented micro ops get assertions for now.
2008-02-15 13:50:26 +11:00
Ian Romanick
805aacfe60
Fix size calculation in attribute fetch.
2008-02-15 13:50:26 +11:00
Ian Romanick
ea1d5c43b2
Fetch uniforms from main memory.
2008-02-15 13:50:26 +11:00
Ian Romanick
c1ffb57cdf
Missing amperstand in previous commit. Oops.
2008-02-15 13:50:26 +11:00
Ian Romanick
7abddcf123
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-02-15 13:50:26 +11:00
Ian Romanick
d798e7e268
Provide mechanism to hook in custom vertex shader cache flush function
2008-02-15 13:50:26 +11:00
Ian Romanick
fc4620554a
Implement vertex fetch / vertex shader output write-back
2008-02-15 13:50:26 +11:00
Ian Romanick
5028f0fcac
Initial pass at instruction / declaration fetch
2008-02-15 13:50:26 +11:00
Ian Romanick
98eecdb486
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-02-15 13:50:26 +11:00
Brian
3e4306c594
Cell: prototype SIMD code for z testing
2008-02-15 13:50:26 +11:00
Brian
1af8e381af
Cell: start to SIMD-ize triangle attribute interpolation
...
Using the spu_add(), etc intrinsics.
About a 15% speed-up with some tests.
2008-02-15 13:50:26 +11:00