Commit graph

26944 commits

Author SHA1 Message Date
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
Brian Paul
a08d630216 llvmpipe: use LP_DBG() macro everywhere 2009-12-04 14:11:25 -07:00
Brian Paul
15a2a588d8 llvmpipe: fix-up polygon culling/winding 2009-12-04 13:53:28 -07:00
Brian Paul
24a3b0d23a llvmpipe: add missing sources to Makefile 2009-12-04 13:01:03 -07:00
Brian Paul
49a720c5cd llvmpipe: comments and minor clean-ups 2009-12-04 12:59:34 -07:00
Brian Paul
d9dc3d5976 llvmpipe: move bin-related structures and functions into new lp_bin.[ch]
And put lp_ prefixes on some functions.
2009-12-04 12:54:37 -07:00
Brian Paul
5c7d1b592a llvmpipe: remove lp_rast_triangle::oneoverarea field
Makes lp_rast_triangle a little smaller (now 280 bytes on a 32-bit system).
2009-12-04 11:58:26 -07:00
Brian Paul
b1659b9213 llvmpipe: bin state-change commands
Previously, each triangle had a pointer to the state to use for shading.
Now we insert state-change commands into the bins.  When we execute one
of those commands we just update a 'current state' pointer and use that
pointer when calling the jit shader.

When inserting state-change commands into a bin we check if the previous
command was also a state-change command and simply replace it.  This
avoids accumulating useless/redundant state-change commands.
2009-12-04 11:50:43 -07:00
Brian Paul
9dca010048 llvmpipe: struct cmd_bin
Just introducing a new structure to represent a per-tile bin.
2009-12-04 10:41:42 -07:00
Brian Paul
1796ffd3bc llvmpipe: fix typo, whitespace 2009-12-04 09:19:09 -07:00
Brian Paul
04e12e31b2 llvmpipe: dynamic allocation of triangle a0/dadx/dady arrays
Much less memory per triangle now.
2009-12-04 09:14:42 -07:00
Brian Paul
c6057ab8ff llvmpipe: comments regarding lp_rast_triangle 2009-12-03 17:28:48 -07:00
Brian Paul
9c1debe208 llvmpipe: comment about blend color 2009-12-03 17:28:02 -07:00
Brian Paul
f492edee98 llvmpipe: comments 2009-12-03 17:27:37 -07:00
Brian Paul
30c122a4c9 llvmpipe: new comment in do_triangle_ccw() 2009-12-03 17:27:10 -07:00
Brian Paul
4e058f6c48 llvmpipe: fix incorrect array indexing when saving blend color 2009-12-03 17:00:22 -07:00