Commit graph

13619 commits

Author SHA1 Message Date
Brian
a8590e097e Cell: make sure state commands aren't split across batches 2008-01-28 11:31:58 -07:00
Brian
3f8a8eada6 Cell: remove unneeded flush(), dead code 2008-01-28 11:31:58 -07:00
Brian
5b5ec94663 Cell: clean-up of render path
Finally removed a number of unneeded flush commands.  Vertex buffers are
allocated from the general buffer pool, freed by SPUs when done.
Still an occasional failed assertion (invalid batch buffer command)...
2008-01-28 11:31:57 -07:00
Brian
7024019d4e Cell: checkpoint commit: always inline prim indexes into batch buffer
Also, explicit release-vertex-buffer command.
Lots of debug/stale code still in place...
2008-01-28 11:31:57 -07:00
Brian
200dcb4760 Cell: If flushing for swapbuffers, wait for frame completion 2008-01-28 11:31:57 -07:00
Brian
aaea9a121b Cell: additional debug code, misc clean-up 2008-01-28 11:31:57 -07:00
Brian
2194675196 Cell: generalize the batch buffer code for vertex buffers... 2008-01-28 11:31:57 -07:00
Brian
16ed55c641 gallium: check if surface has defined status in check_clear_depth_with_quad()
This was part of Keith's patch from Friday.
2008-01-28 09:23:50 -07:00
Keith Whitwell
82d9063708 gallium: handle flatshading explicitly in clipper stage
We can do a better job in the clip stage than just relying on the
brute-force approach of copying colors to all incoming vertices applied
in the flatshade stage.

At very least, it is only necessary to do this in the clipper when a
primitive is actually being clipped.
2008-01-28 15:50:02 +00:00
Keith Whitwell
88858e0468 gallium: add a couple of hardwired vertex fetch functions 2008-01-28 12:40:29 +00:00
Keith Whitwell
99f2976511 gallium: only call vertex/prim queue flush when there is something to flush 2008-01-28 11:12:11 +00:00
Keith Whitwell
a46181044f gallium: explictly cast double to float in vertex fetch 2008-01-28 10:48:22 +00:00
Keith Whitwell
4141ebdf59 gallium: fill in missing formats for vertex_fetch 2008-01-28 10:46:52 +00:00
Keith Whitwell
5abc8d9e23 gallium: remove dead code from draw_vf* 2008-01-28 10:14:13 +00:00
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