Commit graph

29962 commits

Author SHA1 Message Date
Brian Paul
3bca8691b5 llvmpipe: use some local vars to index step arrays
Saves a few more cycles.
2010-01-21 19:10:03 -07:00
Brian Paul
1d23954a08 llvmpipe: s/inline/INLINE/ 2010-01-21 19:05:54 -07:00
Brian Paul
e24ea786fa llvmpipe: consolidate lp_scene_alloc_aligned() calls
Use just one call instead of four.  Good for a few more fps.
2010-01-21 19:04:55 -07:00
Brian Paul
798a9d3f94 llvmpipe: re-use a1 var in linear_coef() 2010-01-21 18:25:31 -07:00
Brian Paul
ff9b55da9a llvmpipe: area is an int here, not float 2010-01-21 17:31:43 -07:00
Brian Paul
a904a7b990 llvmpipe: manually unroll the inputs.step[] setup code
Good for a few more fps in some tests.
2010-01-21 16:21:33 -07:00
Brian Paul
e5829ccc2b progs/demos: call glutDestroyWindow() upon exit 2010-01-21 15:41:03 -07:00
Brian Paul
cd9d9e2436 llvmpipe: added simple perf/statistics counting facility
Currently counting number of tris, how many tiles of each size are
fully covered, partially covered or empty, etc.

Set LP_DEBUG=counters to enable.  Results are printed upon context
destruction.
2010-01-21 15:39:57 -07:00
Brian Paul
63f249bf90 llvmpipe: optimize tile writing code
The code which converts/copies color tiles to the linear layout has
been rewritten.  There's less arithmetic and better loop unrolling,
and possibly a better memory access pattern.
Some demos, like gears, are about 20% faster now.
2010-01-20 17:48:13 -07:00
Brian Paul
7319ae0954 llvmpipe: remove tile clipping code
The surface is always a multiple of the tile size now.
2010-01-20 17:47:26 -07:00
Brian Paul
0706dae088 llvmpipe: align display target size to multiple of tile size
This will allow us to skip clipping tiles to surface bounds.
2010-01-20 17:44:12 -07:00
Brian Paul
58903b3781 llvmpipe: put TILE_SIZE #define in its own header
To avoid including lp_tile_soa.h in other places.
2010-01-20 17:23:11 -07:00
Brian Paul
9b534400d9 llvmpipe: add makefile rule for generating .s files 2010-01-20 17:19:00 -07:00
Brian Paul
4d2dc9da82 llvmpipe: updated comment 2010-01-20 11:32:48 -07:00
Brian Paul
ec459f2aec llvmpipe: asst. task-related clean-ups 2010-01-19 16:58:25 -07:00
Brian Paul
d8d80a8d74 llvmpipe: fix-up comment 2010-01-19 11:58:43 -07:00
Brian Paul
1073e39ab9 llvmpipe: re-order file list, fix indentation 2010-01-19 09:45:51 -07:00
Brian Paul
0fccfc9cc0 llvmpipe: remove unneeded DEBUG checks, use step var 2010-01-19 09:30:44 -07:00
Brian Paul
75f262b8b4 llvmpipe: updated comments 2010-01-19 09:30:13 -07:00
Brian Paul
9a23d810be llvmpipe: tweak a comment 2010-01-18 17:39:54 -07:00
Brian Paul
89bb07730b util: fix broken util_ringbuffer_dequeue()
The tests for an empty ring buffer were incorrect.
Fixes glxinfo segfaults.

Plus, add a new assertion.
2010-01-18 14:35:43 -07:00
Brian Paul
62623c4dc5 llvmpipe: added show_tiles and show_subtiles debug options
These options draw lines over the tiles to show the 64x64 tile
bounds and 16x16 sub-tile bounds.  For debugging/visualization.
2010-01-18 13:10:14 -07:00
Keith Whitwell
591401ff05 llvmpipe: use new u_ringbuffer for scene queue 2010-01-17 00:30:23 +00:00
José Fonseca
ba5d600c90 Merge remote branch 'origin/master' into lp-binning
Conflicts:
	src/gallium/drivers/llvmpipe/lp_quad.h
	src/gallium/drivers/llvmpipe/lp_setup.c
2010-01-16 23:21:06 +00:00
Keith Whitwell
164fd16cfb util: add generic ringbuffer utitilty 2010-01-16 21:15:55 +00:00
Chia-I Wu
dee52d5bd3 gallium: Fix uninitialized instance divisor and index. 2010-01-16 18:18:09 +01:00
Christoph Bumiller
83387cb6c4 nv50: fix tile flags for scanout tex usage 2010-01-16 18:07:31 +01:00
Christoph Bumiller
0ae3db1734 nv50: handle all and more system values 2010-01-16 18:07:31 +01:00
Christoph Bumiller
4c223aaa3b nv50: hook up geometry programs 2010-01-16 18:07:31 +01:00
Christoph Bumiller
bbb615382d nv50: support for geometry programs in nv50_program 2010-01-16 18:07:31 +01:00
Christoph Bumiller
e791e6f27c nv50: get access to primitive input space
Vertex data in geometry programs is located in p[] space.
The base address in p[] for vertex i is located in vertex
attribute space, i.e. a[i << 2].

This means p[] is always accessed with an address register,
and I had to to mess with their allocation once again.

Also fixes negative offsets e.g. CONST[ADDR[0].x - 3].
2010-01-16 18:07:30 +01:00
Alex Deucher
8d24273750 r600: remove stray END_BATCH in blit code 2010-01-16 08:45:08 -05:00
Jakob Bornecrantz
a5c03bd6f1 draw: Fix memory leak in gs code 2010-01-16 10:44:57 +00:00
Dave Airlie
66e561a036 i965g: make xorg state tracker build i965g_drv.so
don't make modesetting_drv.so anymore
2010-01-16 19:28:45 +10:00
Alex Deucher
8b704396a3 r600: improve blit support
- fill in more src/dst formats
- disable depth copies for now
- set proper data formats in render target regs
- fill in additional default state

The swizzles on some of the less used mesa formats
are probably wrong.
2010-01-15 23:06:18 -05:00
Andre Maasikas
7283a246ce r600: add initial blit support 2010-01-15 23:06:05 -05:00
Alex Deucher
ec8ce40083 r600: add r600_blit.c
Unfinished.
2010-01-15 23:05:56 -05:00
Patrice Mandin
923aab93d9 nouveau: nv30: Remove useless variables fs, txp. Also do not change txf, as bit 13 is in the texture format
Signed-off-by: Patrice Mandin <patmandin@gmail.com>
2010-01-15 22:29:13 +01:00
Brian Paul
fdfe06ad80 llvmpipe: implement scissor test in triangle setup 2010-01-15 12:06:00 -07:00
Brian Paul
adb48d5350 llvmpipe: remove lp_rast_triangle::min/max fields
These values aren't needed outside the do_triangle_ccw() function.
2010-01-15 11:52:14 -07:00
Brian Paul
47fee14687 llvmpipe: skip 4x4 in/out test code
It's a litte faster to just do the in/out testing in the shader
jit code.
2010-01-15 11:35:30 -07:00
Brian Paul
12ba9e99db llvmpipe: added comment about lookup-tables vs. computation 2010-01-15 11:26:35 -07:00
Brian Paul
4bef3575e6 llvmpipe: change 'in' to boolean, add comments 2010-01-15 11:25:13 -07:00
Brian Paul
2797f2bf57 llvmpipe: generate two shader varients, one omits triangle in/out testing
When we know that a 4x4 pixel block is entirely inside of a triangle
use the jit function which omits the in/out test code.

Results in a few percent speedup in many tests.
2010-01-15 11:21:16 -07:00
Michal Krol
e124080cd6 util: Handle FORMAT_Z32_FLOAT in util_pack_z(). 2010-01-15 19:00:15 +01:00
Michal Krol
1433a2d935 util: Handle the remaining formats in pipe_put_tile_rgba(). 2010-01-15 19:00:11 +01:00
Michal Krol
d29e72633c util: Fix encoding for R8G8B8A8_UNORM formats and friends. 2010-01-15 19:00:09 +01:00
Michal Krol
42d55953b1 tgsi: Add ureg_property_gs_input_prim(). 2010-01-15 19:00:06 +01:00
Michal Krol
181adca5d6 tgsi: Add ureg_src_dimension(). 2010-01-15 19:00:03 +01:00
Michal Krol
857b37980c regress: Add .gitgnore for *.png files. 2010-01-15 18:59:59 +01:00