Commit graph

26981 commits

Author SHA1 Message Date
Brian Paul
baeb3a2351 llvmpipe: checkpoint commit of new if/else/endif flow control
Totally untested at this point.  More work to do.
2010-01-06 17:53:12 -07:00
Brian Paul
db7f9b053b llvmpipe: more comments in flow builder code 2010-01-06 14:11:54 -07:00
Brian Paul
4e8d67af57 llvmpipe: flow-control comments 2010-01-06 10:16:34 -07:00
Keith Whitwell
b08583da46 llvmpipe: fix double free 2010-01-06 17:13:37 +00:00
Keith Whitwell
601969c587 llvmpipe: rename some functions 2010-01-06 17:13:28 +00:00
Keith Whitwell
c9240c4c8f llvmpipe: remove dead code 2010-01-06 17:00:26 +00:00
Keith Whitwell
72120292b9 llvmpipe: restrict header visibility 2010-01-06 16:56:28 +00:00
Keith Whitwell
5ce0380a0f llvmpipe: merge setup and draw vbuf submodules
The setup tiling engine is now plugged directly into the draw module
as a rendering backend.

Removed a couple of layering violations such that the setup code no
longer reaches out into the surrounding llvmpipe state or context.
2010-01-06 16:44:43 +00:00
Brian Paul
6a7b6a530d llvmpipe: added linux-llvm-debug configuration 2009-12-18 11:17:06 -07:00
Brian Paul
04794080d2 llvmpipe: change configs/linux-llvm from debug build to optimized build
Basically equivalent to the SCons non-debug build now.
2009-12-18 11:13:06 -07:00
Brian Paul
aeb6351a09 llvmpipe: fix upper/lower-case typo 2009-12-17 14:26:48 -07:00
Brian Paul
7d9b97703a llvmpipe: added function comments 2009-12-17 14:22:43 -07:00
Brian Paul
5771f3d483 llvmpipe: remove unused code, added comments, etc 2009-12-17 10:52:50 -07:00
Brian Paul
808170a0ff llvmpipe: replace INT_MIN/2 with INT_MIN
Since changing the in/out test we can just use INT_MIN to be sure the
comparison against the step values always passes.
2009-12-17 09:01:01 -07:00
Brian Paul
b9d33db0a4 llvmpipe: improve the in/out test a little
Instead of:
  s = c + step
  m = s > 0
Do:
  m = step > c  (with negated c)
2009-12-17 08:17:04 -07:00
Keith Whitwell
7f2ba80025 llvmpipe: keep copy of framebuffer state in setup context
Avoids crashes when first frame is rendered before window is mapped.
Avoids potential issue where fb state is changed before setup context is
flushed.
2009-12-17 11:29:37 +00:00
Brian Paul
ab94381930 llvmpipe: do final the pixel in/out triangle test in the fragment shader
The test to determine which of the pixels in a 2x2 quad is now done in
the fragment shader rather than in the calling C code.  This is a little
faster but there's a few more things to do.

Note that the step[] array elements are in a different order now.  Rather
than being in row-major order for the 4x4 grid, they're in "quad-major"
order.  The setup of the step arrays is a little more complicated now.
So is the course/intermediate tile test code, but some lookup tables
help with that.

Next steps:
 - early-cull 2x2 quads which are totally outside the triangle.
 - skip the in/out test for fully contained quads
 - make the in/out comparison code tighter/faster.
2009-12-16 16:10:05 -07:00
Brian Paul
e288796c92 llvmpipe: added lp_build_int32_vec4_type() 2009-12-16 12:33:11 -07:00
Brian Paul
2297bc9233 llvmpipe: refactor lp_build_cmp() to use lp_build_compare() 2009-12-16 12:32:45 -07:00
Brian Paul
cdbcd96fdf llvmpipe: tighten up an assertion 2009-12-15 15:39:48 -07:00
Brian Paul
276b8523e8 llvmpipe: use 1ULL to be ready for 64-bit arithmetic someday 2009-12-15 07:58:37 -07:00
Brian Paul
55879440d7 llvmpipe: fix broken TGSI_OPCODE_FRC codegen 2009-12-14 15:27:35 -07:00
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