Commit graph

14368 commits

Author SHA1 Message Date
Michel Dänzer
7333578d2a gallium: Initial support for pixel formats with unused storage components.
Also clarify that RGB formats with no (used) alpha component are treated as
having alpha = 1.0.
2008-04-24 10:18:34 +01:00
Brian Paul
bb4f8ae1f9 gallium: reorder code to fix a recursive flush 2008-04-23 18:09:20 -06:00
Brian Paul
14d1ca8d86 gallium: fix issues in recursive flushing
When flushing/rendering, some stages (like AA line/point) need to set
pipe/driver state.  Those driver functions often call draw_flush().
That leads to recursion.

Use new draw->suspend_flush flag to explicitly prevent that in the key places.
Remove the draw->vcache_flushing field.
Reuse draw->flushing as a debug/assertion var.
2008-04-23 18:08:20 -06:00
Brian Paul
8437f5c763 gallium: fix comments 2008-04-23 17:41:30 -06:00
Brian Paul
bff371c431 gallium: fix comments, whitespace changes 2008-04-23 17:40:39 -06:00
Brian Paul
3f6242d3e4 gallium: passthrough tri, not point 2008-04-23 12:13:12 -06:00
Zack Rusin
95f8f8863a Add translate cache to fetch_emit stage and add out of memory
checks to code creating the cache.
2008-04-23 14:07:53 -04:00
Zack Rusin
5fcd84ab39 Create a sharable translate_cache and use it. 2008-04-23 14:01:08 -04:00
Brian Paul
ba47aabc98 gallium: fix potential divide by zero in fog computation
It's legal for Fog.Start == Fog.End and conformance testing does so.
2008-04-23 11:38:41 -06:00
Brian Paul
5d873c8718 gallium: additional debug code 2008-04-23 11:38:41 -06:00
Brian Paul
809bc8f9ad gallium: move logicop test outside of loop 2008-04-23 11:38:40 -06:00
Brian Paul
2221cb9f74 gallium: fix broken PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE 2008-04-23 11:38:40 -06:00
Brian Paul
76d39f0c19 gallium: more vertex debug code 2008-04-23 11:38:40 -06:00
Zack Rusin
e1180c2d69 fix the simple hash finding function and use it 2008-04-23 13:32:41 -04:00
José Fonseca
4f93a3a680 gallium: Fix texture refcount leak. 2008-04-24 02:13:41 +09:00
José Fonseca
a75a3df851 pipebuffer: New function to flush the buffer cache. 2008-04-24 02:13:41 +09:00
José Fonseca
53cf833af9 gallium: Add extern "C" to the headers. 2008-04-24 02:13:41 +09:00
Brian Paul
333976c90a gallium: fix broken hashing for vertex translation
It seems we get hash collisions fairly easily and the code as it was didn't
deal with that properly.

I think we need a simpler hashing interface...
2008-04-23 10:29:52 -06:00
Keith Whitwell
43be7a4819 draw: remove stupid debug (Keith) 2008-04-23 13:56:05 +01:00
Keith Whitwell
d6a965972b draw: add missing break (Jakob) 2008-04-23 13:51:50 +01:00
Keith Whitwell
1e3087cd03 mesa: add dedicated point-wide-smooth test, restore original tri.c as tri-orig.c 2008-04-23 13:10:13 +01:00
Ben Skeggs
6fc530ccda fix non-i386 builds 2008-04-23 12:38:37 +10:00
Brian Paul
72fd5b9c5a gallium: added a flushing_vcache flag, test in draw_do_flush()
Fixes broken polygon stipple, aaline, aapoint stages
2008-04-22 19:11:59 -06:00
Brian Paul
91e37b7140 gallium: fix bad logic in bind_pstip_fragment_shader(): use &&, not || 2008-04-22 19:10:52 -06:00
Brian Paul
33f3938d2d gallium: fix some bitmap frag shader issues
If texturing happens to be enabled when glBitmap() is called, need to be
careful about choosing a sampler unit, etc.
2008-04-22 18:43:05 -06:00
Brian Paul
1977fbff60 gallium: don't set buffer status to undefined in display_front_buffer() 2008-04-22 18:43:05 -06:00
Zack Rusin
36feb5eacf In case the 'func' is deleting the state move the iterator before
calling it.
2008-04-22 18:32:36 -04:00
Zack Rusin
d8f2e400cf Fix a crash. Rasterizer can be null 2008-04-22 18:32:36 -04:00
Zack Rusin
f088b53769 Cache translate's structs for emits and fetches.
Results in a fair speed improvement.
2008-04-22 18:32:36 -04:00
Zack Rusin
500c41b8ba Fix reporting of clipped vertices. 2008-04-22 18:32:36 -04:00
Brian Paul
22cbf6a704 gallium: setup an identity viewport
This fixes broken blits.
2008-04-22 16:29:48 -06:00
Brian Paul
0939a986a8 gallium: update comment about bypass clipping/viewport 2008-04-22 16:25:55 -06:00
Brian Paul
aaa43218f3 gallium: setup an identity viewport 2008-04-22 16:22:21 -06:00
Brian Paul
465bc9473a gallium: move the vertex print/debug code 2008-04-22 16:15:49 -06:00
Brian Paul
8f4f89c043 gallium: remove assertions
It's possible the current vs/fs is null when cso_save_vertex/fragment_shader()
is called.
2008-04-22 14:44:07 -06:00
Brian Paul
b456f1374f gallium: st_translate_fragment_program() is void now
The return value was never used.
2008-04-22 14:44:07 -06:00
Keith Whitwell
4ebede8c7f Revert "softpipe: squash warning"
This reverts commit 1f0f029ba6.

Which broke the debug build.
2008-04-22 21:17:21 +01:00
Keith Whitwell
0588858702 draw: allow drivers to query pipeline state more easily
Also, provide a separate flag to say whether the driver can handle
clipping/rhw tasks, in addition to the API flag which indicates they
have already been done.
2008-04-22 20:50:20 +01:00
Keith Whitwell
1f0f029ba6 softpipe: squash warning 2008-04-22 20:32:22 +01:00
Keith Whitwell
88f8eed3c4 cso: fix vs/fs confusion 2008-04-22 15:26:38 +01:00
Keith Whitwell
f9b1d47d65 softpipe: do something sensible on an error path, squash warning 2008-04-22 15:15:57 +01:00
Michel Dänzer
fd4acd6fda gallium: How about restoring shaders instead of saving them again... 2008-04-22 14:22:11 +01:00
Michel Dänzer
57b85e197b gallium: Don't link x86sse.c into libmesa.a.
Otherwise we get a symbol clash with the copy in src/gallium/util .
2008-04-22 12:18:31 +01:00
José Fonseca
b4b3a73bdf pipebuffer: Temporarily allow simultaneous CPU writes.
Also, fast path for re-fencing the same buffer multiple times with the same fence.
2008-04-22 19:47:12 +09:00
Keith Whitwell
57987ea673 draw: disable broken edgeflag code - didn't work & was killing performance 2008-04-22 11:26:07 +01:00
Keith Whitwell
6a9f6625b3 xlib: shortcircuit no-op makecurrent 2008-04-22 11:15:51 +01:00
Keith Whitwell
d07ed9216c xlib: implement SP_NO_RAST env var 2008-04-22 11:02:24 +01:00
Keith Whitwell
a5b87f249e softpipe: implement SP_NO_RAST env var 2008-04-22 11:02:24 +01:00
Keith Whitwell
09b6686158 softpipe: make NUM_ENTRIES 32 so that div/mods are easier 2008-04-22 11:02:24 +01:00
Michal Krol
83fec372b4 cso: Fix build on Win32. 2008-04-22 11:26:26 +02:00