Commit Graph

13374 Commits

Author SHA1 Message Date
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