José Fonseca
09059259be
First stab at hooking draw_vbuf & vf.
...
Emit disabled for now. Tested with softpipe. Only one vertex at a time for now (slow).
2008-01-28 18:46:21 +09:00
José Fonseca
19caf4e4f0
Clone vf module.
2008-01-28 15:48:51 +09:00
José Fonseca
c3f10aef38
Simplify prototypes of draw_vbuf's internal functions.
2008-01-28 15:00:08 +09:00
José Fonseca
3b93c74a8d
Cache the vinfo in vbuf_stage.
2008-01-28 14:51:14 +09:00
José Fonseca
dac124081d
Do refcounting trhoughout all buffer objects, since it is now a base requirement.
2008-01-27 19:22:25 +09:00
José Fonseca
e6c8278c04
Fullfill pipe_winsys->user_buffer_create. Aggregate winsys functions.
2008-01-27 19:20:48 +09:00
Brian
87a8a339d7
Cell: added support for inlined vertex buffers.
...
Small prims are now self-contained in batch buffers when space allows.
2008-01-26 19:38:16 -07:00
Brian
419a5cca34
Cell: added ROUNUP4
2008-01-26 19:31:20 -07:00
Brian
1bab5bd24e
Cell: added support for inlined indexes
...
If there's room in the batch buffer after the rendering command to accomodate
the indexes, put them there rather than in a separate buffer.
2008-01-26 18:30:44 -07:00
Brian
8dc5972908
Cell: added cell_batch_free_space()
2008-01-26 18:27:37 -07:00
Brian
651e8e9a73
gallium: disable unnecessary point/line/tri re-validation in vbuf_flush_indices()
2008-01-26 16:46:52 -07:00
Brian
b717de3238
Cell: remove some old tile code
2008-01-26 16:06:26 -07:00
Brian
ffeae75031
gallium: s/GLuint/unsigned/ to work with gallium when THREADS not defined
2008-01-26 16:05:35 -07:00
Brian
9ef61b9808
gallium: fix a few segfaults/assertions that can happen during context init
2008-01-26 16:04:47 -07:00
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