Ian Romanick
92126cea84
cell: Implement code-gen for logic op
...
This also implements code-gen for the float-to-packed color
conversion. It's currently hardcoded for A8R8G8B8, but that can
easily be fixed as soon as other color depths are supported by the
Cell driver.
2008-03-26 10:47:17 -07:00
Brian Paul
8cb85807d3
gallium: as for aapoints, make the extra texcoord per-shader state
2008-03-26 08:21:17 -06:00
Michel Dänzer
4abe1eb980
gallium: Change pipe->flush() interface to optionally return a fence.
...
The cell driver still uses an internal CELL_FLUSH_WAIT flag, in the long run
proper fencing should be implemented for it.
2008-03-26 09:36:40 +00:00
Brian
e55dccd0bf
gallium: the generic attrib we use for computing coverage is per-shader
...
Fixes a very tricky conformance failure.
2008-03-25 19:21:36 -06:00
Brian
9f7cd571e0
gallium: added fragment emit/write debug counters
2008-03-25 19:21:36 -06:00
Ian Romanick
b09de96a17
xlib: Add support for MIT-SHM in xlib winsys driver
...
Gives about a 3% performance increase in gears on x86-64 (non-tiled)
and about 10% performance increase in gears on Cell (tiled). I
actually expected more of a boost. :(
2008-03-25 18:15:58 -07:00
Ian Romanick
84d8030735
cell: Float convert-to and convert-from instructions use different shift bias
2008-03-25 18:15:58 -07:00
Michal Krol
e1543fa55c
draw: Take flatshade_first rasterizer bit into account.
2008-03-25 23:51:52 +01:00
Michal Krol
dc9757e1a8
gallium: Introduce flatshade_first field to rasterizer_state.
...
This bit tells us which vertex of the primitive is used to
propagate color for the remaining vertices if flatshade mode.
2008-03-25 23:51:51 +01:00
Keith Whitwell
05a4ecdec2
draw: vertex fetch can be validated too early leading to an assertion... disable
2008-03-25 18:15:58 +00:00
Keith Whitwell
cbec008491
draw: don't use fetch_and_store for bypass_vs mode, it's not quite right
2008-03-25 18:09:53 +00:00
José Fonseca
331a56136e
Fix typo
2008-03-25 17:47:39 +00:00
Keith Whitwell
4505acf3b2
draw: take primitive into account when deciding if the pipeline is active
2008-03-25 15:22:32 +00:00
José Fonseca
aacfc326cc
gallium: Use debug_get_option for GETENV
2008-03-25 11:37:54 +00:00
José Fonseca
6fa0bd0671
gallium: Fix default option on Windows.
2008-03-25 11:37:24 +00:00
Ben Skeggs
ce64778ed1
nv40: respect do_flip in surface_copy()
2008-03-25 12:58:57 +11:00
Brian
6579440ea9
gallium: be smarter about picking the sampler unit for pstipple, aaalines
...
Also, if the app really uses all available sampler/texture units, don't just
die. Just use the last sampler for the pstipple or aaline texture.
2008-03-24 19:36:44 -06:00
Ben Skeggs
9e1f7b2c57
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
2008-03-25 12:14:49 +11:00
Ben Skeggs
601b018a9a
nouveau: refcount buffers on validate list.
2008-03-25 12:12:26 +11:00
Brian
4654803e25
gallium: fix a few bugs, warnings in the p_debug code
...
added missing _ to a _debug_printf() call.
2008-03-24 18:49:56 -06:00
Brian
d6af8fc51d
gallium: move sampler_unit field to pstip_fragment_shader since it's per-shader
...
Also, fix another texture refcounting bug.
2008-03-24 18:34:03 -06:00
Brian
ae146e4bc8
gallium: make a copy of the vertex shader's token array.
...
This solves problems when the state tracker frees the token array when the
draw module still needs it.
2008-03-24 16:35:25 -06:00
Brian
7f43029377
gallium: use pipe_texture_reference() in a few places (fixes refcounting bugs)
2008-03-24 16:35:25 -06:00
Brian
648e26aa95
gallium: added tgsi_num_tokens() function to return number of tokens in token array.
...
Maybe move to a different file someday.
2008-03-24 16:35:24 -06:00
José Fonseca
e8c6ea4f60
gallium: Simple cross platform get-opt system.
...
Uses getenv on Linux, and a memory mapped text file on Windows.
It supports boolean options, flags, and plain strings.
2008-03-24 22:31:36 +00:00
José Fonseca
dd51365acd
gallium: cleanup p_debug
...
Now debug_printf is disabled on release builds. Use debug_error or
_debug_printf to output messages on release versions.
2008-03-24 22:31:36 +00:00
Brian
d83e75c759
gallium: move filter assignment out of loop
2008-03-24 12:51:50 -06:00
Brian
4e398df682
gallium: fix REALLOC() to copy smaller of old/new sizes
2008-03-24 12:51:18 -06:00
José Fonseca
48726e129a
gallium: Protect operator precedence in macro.
2008-03-24 18:25:59 +00:00
Michal Krol
bf8de6d4dc
gallium: Remove util_gen_mipmap_filter().
2008-03-24 16:50:39 +01:00
Brian
110b63d00f
gallium: pass the filter mode to util_gen_mipmap().
...
Remove util_gen_mipmap_filter() when no longer used.
2008-03-24 08:53:16 -06:00
Michal Krol
c8c373514a
gallium: tweak coords in u_gen_mipmap code
2008-03-24 08:09:34 -06:00
Keith Whitwell
e0a9ce10f4
draw: pre-declare referenced structs
2008-03-24 10:53:26 +00:00
Keith Whitwell
f4588c1752
Revert "draw: Fix #include order to fix Linux build."
...
This reverts commit a6d17bf671 .
2008-03-24 10:52:20 +00:00
Michel Dänzer
a6d17bf671
draw: Fix #include order to fix Linux build.
2008-03-24 09:56:12 +00:00
Ben Skeggs
5ce37d42b3
nv40: maintain pipe_surface status field
2008-03-24 13:45:38 +11:00
Ben Skeggs
799d3bce06
nv40: respect rasterizer cso bypass_clipping flag
2008-03-24 13:41:40 +11:00
Ben Skeggs
46a7f297a1
nouveau: fix infinite wait on space for userbuf.
...
A recent commit removed a bug which essentially caused a sync after each
use of a user buffer. In fixing it, the scratch area can now become
fragmented under some circumstances leading to nouveau_bo_tmp() waiting
forever for a large enough block of free space.
This fixes ppracer, gl-117 and probably a heap of other apps.
2008-03-24 13:06:29 +11:00
Keith Whitwell
3b217c7fa7
draw: check need_pipeline() in passthrough
2008-03-23 21:55:19 +00:00
Keith Whitwell
3e9b1bc100
draw: tweak the definition of draw_need_pipeline, fix minor bug
2008-03-23 21:54:44 +00:00
Keith Whitwell
e6ea786c00
draw: fix crlf
2008-03-23 21:31:52 +00:00
Keith Whitwell
743e990831
draw: rename emit functions to match pipe_format names
2008-03-23 21:31:52 +00:00
Keith Whitwell
899fcde366
draw: restructure fetch/emit as a pair of function calls
2008-03-23 21:31:52 +00:00
Michal Krol
6edaef5318
gallium: Add util_gen_mipmap_filter().
...
We need a way to specify the type of minification filter
used to downsample mipmap levels.
The old util_gen_mipmap() retains its behaviour and uses
LINEAR filter.
2008-03-23 20:40:56 +01:00
José Fonseca
38dc0f809d
gallium: Fix memory leak.
...
pipe cso's were being destroyed, but the hash elements themselves not.
proper fix is IMHO add a destructor callback to cso_hash.
2008-03-23 19:38:11 +00:00
José Fonseca
48ef11d308
gallium: Remove the debug_mask_* stuff.
...
Overcomplex and not much different from using a global variable...
2008-03-23 18:57:35 +00:00
José Fonseca
d09b92d7e4
gallium: Fix typo.
2008-03-23 18:52:37 +00:00
José Fonseca
732422f670
gallium: Memory debugging utilities.
...
There are no known tools for windows kernel memory debugging, so this is a
simple set of malloc etc wrappers.
Enabled by default on win32 debug builds
2008-03-23 18:38:31 +00:00
José Fonseca
312cbc5a5c
gallium: wrap decls in extern "C"
2008-03-23 18:38:31 +00:00
Keith Whitwell
301b187ca9
draw: fix some unsigned vs ushort confusion
...
Middle-end elements are ushort, but prior to that have to treat all
elements as unsigned to avoid wrapping and/or overruns.
2008-03-23 18:21:00 +00:00