Brian Paul
6e2a93739e
llvmpipe: fix broken lp_build_abs()
2009-12-14 15:24:31 -07:00
Brian Paul
b06b3a4925
llvmpipe: update file list in Makefile
2009-12-14 11:49:23 -07:00
Keith Whitwell
663750d556
llvmpipe: rename bins to scene
...
It was pretty confusing having an entity named "bin" and another named
"bins", not least because sometimes there was a need to talk about >1
of the "bins" objects, which couldn't be pluralized any further...
Scene is a term used in a bunch of places to talk about what a binner
operates on, so it's a decent choice here.
2009-12-13 18:17:25 +00:00
Keith Whitwell
39dd7108bf
llvmpipe: rename queue size to count
2009-12-12 20:29:39 +00:00
Keith Whitwell
314d3cd751
llvmpipe: rename one of the two rasterize_bins functions
2009-12-12 20:19:46 +00:00
Brian Paul
6cbb1219a3
llvmpipe: checkpoint: plug in the new fencing code
...
This has only been very lightly tested. More work to come.
2009-12-11 17:59:32 -07:00
Brian Paul
4b70af918d
llvmpipe: added lp_rast_fence() bin function
2009-12-11 17:57:45 -07:00
Brian Paul
9323740738
llvmpipe: added lp_rast_get_num_threads()
2009-12-11 17:45:52 -07:00
Brian Paul
8736ee1e7d
llvmpipe: added lp_bin_get_num_bins()
2009-12-11 17:33:30 -07:00
Brian Paul
2876b684de
llvmpipe: remove old fence code, compile new lp_fence.c file
2009-12-11 17:32:45 -07:00
Brian Paul
edbaca6fd1
llvmpipe: initial fence implementation
2009-12-11 17:32:08 -07:00
Brian Paul
92dc0f92b0
llvmpipe: implement lp_rast_load_color()
2009-12-11 15:00:28 -07:00
Brian Paul
2bce5c195f
llvmpipe: checkpoint: more thread/queuing changes
...
Now mapping/unmapping the framebuffer is done by a rasteizer thread
rather than the main calling thread.
2009-12-11 14:52:46 -07:00
Brian Paul
24d894e557
gallium: comments and minor re-org in p_thread.h
...
There's more work to do in this file:
1. Implement condvars for Windows via Win32 CONDITION_VARIABLE type.
2. Implement barriers for Windows
3. Try to get rid of PIPE_THREAD_HAVE_CONDVAR (only used in trace driver)
4. Why the 2 in _P_THREAD2_H_?
2009-12-11 14:07:27 -07:00
Brian Paul
0fc90dfa28
gallium: added pipe_barrier type and functions
2009-12-11 14:00:25 -07:00
Brian Paul
de31b0e60c
llvmpipe: remove unused lp_rasterizer::fb field
2009-12-11 11:56:22 -07:00
Brian Paul
156eabbaf9
llvmpipe: improve framebuffer/surface code
2009-12-11 11:46:23 -07:00
Brian Paul
9d0faea58c
llvmpipe: fix-up #includes
2009-12-11 11:42:18 -07:00
Brian Paul
544882eb58
llvmpipe: fix inverted util_framebuffer_state_equal() result
2009-12-11 11:41:11 -07:00
Brian Paul
d1fa748cdb
gallium/util: added util_unreference_framebuffer_state()
2009-12-11 11:40:52 -07:00
Brian Paul
8f2a173663
gallium/util: simplify util_framebuffer_state_equal()
...
And copy width, height in util_copy_framebuffer_state().
2009-12-11 11:39:55 -07:00
Brian Paul
205da96fc6
llvmpipe: remove unused fb parameter
2009-12-11 11:25:22 -07:00
Brian Paul
4e67f10331
llvmpipe: minor comment fix
2009-12-11 11:16:48 -07:00
Brian Paul
9509f73c21
llvmpipe: checkpoint: use empty/full bin queues
2009-12-10 14:56:30 -07:00
Brian Paul
9a6567f1ed
llvmpipe: updated comment
2009-12-10 14:56:11 -07:00
Brian Paul
6d810e5a7b
llvmpipe: simplify llvmpipe_set_framebuffer_state()
2009-12-10 14:55:28 -07:00
Brian Paul
a67f39810b
gallium/util: added framebuffer compare, copy util funcs
2009-12-10 14:54:57 -07:00
Brian Paul
721b5167dc
llvmpipe: added some bin queue debug code
2009-12-10 14:54:32 -07:00
Brian Paul
21008441e4
llvmpipe: updated comments
2009-12-10 10:59:46 -07:00
Brian Paul
96689d451a
llvmpipe: added some debug/info code
2009-12-09 16:32:32 -07:00
Brian Paul
ad3c16c127
llvmpipe: simplify the tiles_x, tiles_y code a bit
2009-12-09 16:30:05 -07:00
Brian Paul
edf11da7f8
progs/demos/gloss: press 'n' to advance by one frame
2009-12-09 16:23:30 -07:00
Brian Paul
3bee8c2e7c
llvmpipe: use the empty_bins queue now
2009-12-09 16:06:04 -07:00
Brian Paul
288ea9770a
progs/demos: call glutDestroyWindow() in gloss.c
2009-12-09 14:53:53 -07:00
Brian Paul
d7dbc66636
llvmpipe: checkpoint: begin plugging in bin queue code
2009-12-09 14:53:33 -07:00
Brian Paul
ea35993e74
llvmpipe: added new lp_bin_queue.[ch] files
...
The queues will be used for keeping track of full and empty bins so
we can overlap setup with the rasterization threads.
2009-12-09 14:36:54 -07:00
Brian Paul
22b07b8be4
llvmpipe: use new lp_setup_get_current_bins() function
...
This stub function will interface to the queue system...
2009-12-09 12:28:59 -07:00
Brian Paul
88e62b33dc
llvmpipe: more bin functions for create/destroy/queries
2009-12-09 12:22:12 -07:00
José Fonseca
7f457acabc
llvmpipe: Use number of CPUs as default number of threads.
...
Also bump MAX_THREADS to 8.
2009-12-08 08:02:49 +00:00
Brian Paul
73e13c33fd
llvmpipe: remove some left-over debug code
2009-12-07 18:18:37 -07:00
Brian Paul
aab1ceceec
llvmpipe: implement threaded rasterization
...
The LP_NUM_THREADS env var controls how many threads are created.
The default (and max) is 4, for now.
If LP_NUM_THREADS = 0, threading is not used.
2009-12-07 18:04:54 -07:00
Brian Paul
87c9ceaea2
gallium: added pipe_semaphore and related code
2009-12-07 18:04:54 -07:00
Brian Paul
3a06c113c7
llvmpipe: repartition lp_rasterizer state for threading
...
Some of the state is per-thread. Put that state in new lp_rasterizer_task
struct.
2009-12-07 18:04:54 -07:00
Brian Paul
cdaea049c9
llvmpipe: use bin iteration functions when rasterizing bins
2009-12-07 18:04:54 -07:00
Brian Paul
270f154860
llvmpipe: introduce mutex and bin iteration functions
2009-12-07 18:04:31 -07:00
Brian Paul
8a23105fa0
llvmpipe: still more bin code reorganization
...
Move tiles_x,y fields from setup state into bin state.
Move more bin-adding commands into lp_bin.[ch].
2009-12-04 15:59:25 -07:00
Brian Paul
2c8d5c66ce
llvmpipe: remove dead code left over from a previous commit
2009-12-04 15:46:37 -07:00
Brian Paul
01b1900084
llvmpipe: reorganization of binning data structions and funtions
...
New lp_bins struct contains all bin information.
More move bin-related code into lp_bin.[ch]
Use new/updated bin-access functions to hide implementation details.
The result is more/cleaner separation between the setup and rast components.
This will make double-buffering of the bins easier, etc.
2009-12-04 15:31:09 -07:00
Brian Paul
b533b56750
llvmpipe: move lp_rasterize_bin() into lp_rast.c
...
First step of moving bin rasterization/execution code out of lp_setup.c
2009-12-04 14:47:46 -07:00
Brian Paul
9fca3e065b
llvmpipe: simplify framebuffer state code
2009-12-04 14:22:08 -07:00