Commit Graph

15141 Commits

Author SHA1 Message Date
Brian 856db7dee6 Cell: fix a recursive flushing bug 2008-01-26 14:15:53 -07:00
Brian d4bd6ca816 Cell: add check to catch recursive batch flushing 2008-01-26 14:15:53 -07:00
Brian 7f4bec264e Cell: move ASSERT macro into common.h 2008-01-26 14:15:53 -07:00
José Fonseca 65df024146 gallium: Aggregate all buffer allocation info into a single struct. Obey requested alignment. 2008-01-26 11:46:49 +09:00
José Fonseca ca01ed45e8 gallium: Make mm buffer manager more portable. 2008-01-26 11:11:08 +09:00
José Fonseca 0afe449bfc gallium: Remove unneeded headers. 2008-01-26 11:06:23 +09:00
Keith Whitwell 8ee1452e18 gallium: fix linux build 2008-01-26 11:06:01 +09:00
Michal Krol 9387784fbf gallium: Fix build on Windows. 2008-01-26 11:05:42 +09:00
Michal Krol 0fe428f1df d3d: Fix build on Windows. 2008-01-26 11:05:24 +09:00
Michal Krol b8dc2956df gallium: Fix build on WinXP. 2008-01-26 11:00:49 +09:00
José Fonseca 1d6c98651f gallium: Use directory name in include. 2008-01-26 10:52:21 +09:00
Michal Krol 6c3d12e374 gallium: Fix build for WinXP. 2008-01-26 10:52:01 +09:00
José Fonseca 7411a84c2b gallium: Define MALLOC_STRUCT. 2008-01-26 10:35:09 +09:00
Michal Krol 9cbff50cb8 gallium: Fix build on Windows. 2008-01-26 10:33:32 +09:00
Michal Krol 337ebdd8f9 gallium: Fix build on Windows. 2008-01-26 10:33:26 +09:00
Keith Whitwell 027983f585 gallium: restructure vertex fetch code slightly 2008-01-26 10:33:18 +09:00
José Fonseca c3e4e9260d gallium: Fix MSVC float/double conversion warning. 2008-01-26 10:33:02 +09:00
José Fonseca 2bca9f6457 gallium: Complete integer types. 2008-01-26 10:32:59 +09:00
Keith Whitwell f3aa4de034 gallium: minor cleanups to pipe interface
- Remove put/get tile, just have users call put_tile_raw, etc directly.
- Remove surface_data call, just map it locally.
2008-01-26 10:32:13 +09:00
Keith Whitwell 1e9e4341e0 gallium: add PIPE_FLUSH_SWAPBUFFERS flag 2008-01-26 10:30:40 +09:00
Keith Whitwell 6d2d41294c gallium: add notify_swapbuffers_complete, use it to set surfaces to undefined state 2008-01-26 10:30:35 +09:00
Keith Whitwell 596a92ee75 gallium: specialize glFlush vs other flush semantics 2008-01-26 10:30:31 +09:00
Keith Whitwell a97b3f64b3 gallium: remove makefile whitespace 2008-01-26 10:29:47 +09:00
Brian 0b958e3b7c Cell: updates to match pipe_buffer changes 2008-01-25 17:34:22 -07:00
Brian b5618330c6 Cell: typedefs need semicolons, Ian :) 2008-01-25 17:34:04 -07:00
Brian 4d534124e7 Cell: emit framebuffer state like other state
Plus misc clean-up.  Window resize sometimes works now.
2008-01-25 17:25:56 -07:00
Brian 42d38ac02f gallium: replace loop w/ memset in draw_vertex_cache_invalidate() 2008-01-25 17:22:56 -07:00
Brian 1603a33fb2 gallium: better flush logic in draw module
This is the other half of Keith's draw/flush patch.

There are now 5 flush flags to control what's flushed (post-xform vertex
cache, prim cache, vbuf, etc).

The gears slow-down in this part of the patch was due to the cull stage not
getting invoked.  It was unconditional before, but is now gated by 'need_det'.
But it also needs to be gated by draw->rasterizer->cull_mode.  Gears uses
back-face culling.
2008-01-25 17:22:56 -07:00
Brian 0bfd085e28 gallium: replace prim pipeline begin/end() functions with flush()
This is basically half of Keith's draw/flush patch.

The stage->point/line/tri() functions are now self-validating, the validator
functions are installed by the flush() function.

There were excessive calls to validate_pipeline(), however.  This was caused
by draw_prim_queue_flush() keeping a local 'first' variable that always pointed
to the validate functions.  Replaced 'first' with 'draw->pipeline.first'.

Performance in gears is up just slightly with this patch.
2008-01-25 17:22:56 -07:00
Ian Romanick bd8bf60b6f Work around parameter differences for main in different SDK versions 2008-01-25 14:47:20 -08:00
Keith Whitwell 1e0d30a515 gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ code
Provide an actual definition of the pipe_buffer struct,  containing
the parameters used to create the buffer, and its refcount.

Shift refcounting buffers out of the winsys interface, similar to
surfaces & textures.

Rework pipebuffer/ to reflect the fact these changes, and also Michel's
reworking of the buffer interface.
2008-01-25 20:53:31 +00:00
Michel Dänzer 756d52ec12 gallium: Simplify winsys buffer interface.
The properties of a buffer represented by struct pipe_buffer_handle are now
basically constant over its lifetime. The state tracker gets to deal with any
more complex buffer semantics it may need to provide.
2008-01-25 17:01:01 +01:00
Keith Whitwell 7a207682aa 965: add asserts to catch batch overrun 2008-01-25 15:50:05 +00:00
Keith Whitwell 59d66bf9df 965: cope better with range decls for temps, immediates, etc 2008-01-25 15:50:05 +00:00
Brian c344bda34d gallium: include p_state.h, replace PIPE_MAX_SHADER_OUTPUTS with PIPE_MAX_SHADER_INPUTS 2008-01-25 08:20:10 -07:00
Brian 235da629dc Cell: propogate vertex info to SPUs, use it for attrib interpolation 2008-01-25 08:20:10 -07:00
Brian 4c4f691069 Cell: batch_buffer_size should be uint, not ubyte 2008-01-25 08:20:09 -07:00
Brian 78bff07f73 Cell: new ROUNDUP16() macro 2008-01-25 08:20:09 -07:00
Brian a148cc51fb gallium: optimizations to flatshade, two-side prim stages 2008-01-25 08:15:50 -07:00
Brian 48355538a6 gallium: added rastpos_destroy() 2008-01-25 08:15:50 -07:00
Brian 547e52f4a0 Cell: insert dummy field into cell_command_render struct to work around apparent compiler bug
Without this dummy field, it seems the SPU code in cmd_render() gets a bogus
value when dereferencing render->num_indices, sometimes.
This showed up as missing tries in gears.c in the first frame rendered.
Using spu-gcc version 4.1.1, Cell SDK 2.1
2008-01-24 18:20:07 -07:00
Brian 7d0421d6cd Cell: s/-W/-Wall/ in linux-cell 2008-01-24 17:04:54 -07:00
Brian fa82d86368 Cell: send actual vertex size in the render command 2008-01-24 16:47:23 -07:00
Brian 0673c571c7 Cell: rewrite compute_vertex_layout() 2008-01-24 16:41:03 -07:00
Brian 95ff06d610 Cell: fix asst. warnings 2008-01-24 16:39:34 -07:00
Brian c753e7adde gallium: added rastpos_destroy() 2008-01-24 16:05:33 -07:00
Brian 6c29be9f41 i915: add case for TGSI_FILE_IMMEDIATE to avoid error, but still needs proper handling... 2008-01-24 09:59:39 -07:00
Brian 47b3afc53f Cell: use Cell driver by default if linux-cell is built
To disable the Cell driver and use softpipe instead, export GALLIUM_NOCELL=1
2008-01-24 09:18:43 -07:00
Zack Rusin 6e2c3b3a49 disable usage of llvm in fragment shaders
it produces wrong results because it hasn't been adjusted to some
new changes and it will just be in the way while changing llvm
code to a different vector layout
2008-01-24 08:29:19 -05:00
Zack Rusin bac991d645 change the name of the shaders to reflect what they do.
remove stale code and do some general cleanups.
2008-01-24 07:49:36 -05:00